<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/132865>132865</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir] Parser crash custom op parser 'builtin.module' and 'scf.forall'
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
wwy6191
</td>
</tr>
</table>
<pre>
git version: 59fd2878fce470f02058f43d4b818ed68ce04094
system: `Ubuntu 18.04.6 LTS`
reproduce with: `mlir-opt a.mlir`
a.mlir:
```
module {
pdl_interp.func @matcher(%arg0:!pdl.operation) {
pdl_interp.finalize
}
module @named {
llvm.func @test() attributes {llvm.emit_c_interface} {
%0 = llvm.mlir.constant(1 : index) : i64
}
scf.forall (%arg0) in (1) {
llvm.return
}
llvm.func @_mlir_ciface_test() attributes {llvm.emit_c_interface} {
llvm.call @test() : () -> ()
llvm.return
}
}
}
```
stack trace:
```
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /data/szy/MLIR/llvm-project/install/bin/mlir-opt /data/szy/MLIR/seed/seed17/tmp.SOeiMVGH5A.mlir
1. MLIR Parser: custom op parser 'builtin.module'
2. MLIR Parser: custom op parser 'builtin.module'
3. MLIR Parser: custom op parser 'scf.forall'
#0 0x00005651a0684db8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x11bddb8)
#1 0x00005651a06828be llvm::sys::RunSignalHandlers() (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x11bb8be)
#2 0x00005651a0685736 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0x00007fc8f2145420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#4 0x00005651a24e7c07 mlir::scf::ForallOp::ensureTerminator(mlir::Region&, mlir::OpBuilder&, mlir::Location) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x3020c07)
#5 0x00005651a24e799b mlir::scf::ForallOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x302099b)
#6 0x00005651a67ed7e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#7 0x00005651a67f89a4 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
#8 0x00005651a67f66d5 (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#9 0x00005651a37abb9e mlir::ModuleOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x42e4b9e)
#10 0x00005651a67ed7e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#11 0x00005651a67f89a4 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
#12 0x00005651a67f66d5 (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#13 0x00005651a37abb9e mlir::ModuleOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x42e4b9e)
#14 0x00005651a67ed7e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#15 0x00005651a67ec5ad mlir::parseAsmSourceFile(llvm::SourceMgr const&, mlir::Block*, mlir::ParserConfig const&, mlir::AsmParserState*, mlir::AsmParserCodeCompleteContext*) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x73255ad)
#16 0x00005651a368bf0f mlir::parseSourceFile(std::shared_ptr<llvm::SourceMgr> const&, mlir::Block*, mlir::ParserConfig const&, mlir::LocationAttr*) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41c4f0f)
#17 0x00005651a368ae8e mlir::parseSourceFileForTool(std::shared_ptr<llvm::SourceMgr> const&, mlir::ParserConfig const&, bool) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41c3e8e)
#18 0x00005651a368a67f performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#19 0x00005651a368a3ed llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_0>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) MlirOptMain.cpp:0:0
#20 0x00005651a3735275 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x426e275)
#21 0x00005651a3684405 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41bd405)
#22 0x00005651a36846af mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41bd6af)
#23 0x00005651a36849de mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41bd9de)
#24 0x00005651a0663337 main (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x119c337)
#25 0x00007fc8f1763083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#26 0x00005651a0662e9e _start (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x119be9e)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzcWV9z3Cj2_TT4hbIKgf4-9INsp38zVXY5Fee3r10IrrrZSEILKLHn02-BZLe643ayk97MbFJxSwIu957DuYAEt1Zte4AVSq9QenPBR7fTZvXly1MWl_FFreXTaqsc_gzGKt0jVuG0bCQt8qIRkOSkIZSkRZMwmdRFXIDMCgEkIWWCSIVIZZ-sg87boYz8fz32bsRxEZEkyvDtxweUkamdgcFoOQrAX5Tbze27VplLPTiMMY_8w0tzRKq5hFUY-4KMTP_9Q6fl2AJG-RUiFR5ku1G9AzNEzdgLjBLScSd2YBAtEE252RLEKkTjQbaRHsBw57HS8rkHjA86UT1v1R_ga1B-Exo8e0xIzzuQC8O2_dy9-HVgXXBaYu6cUfXowPrGoRV0ym3E5KbhAlB-s-gIY0RTghG7mfr06COhe-t47zuNsedC9RIeQ-j-IUuWQWJsRRM12vC2xQvstMSq9wXxIeY5eANuNP1ctu_rANjGR7MRyoe9-TGUoZEIIR4QFjQx3V4i9m6-_45Qp-v8u5SJdVx8ws74INisqoMG72_fVQ_vsB3rTjnMcT1usYFBG4edxjvnBhuEs0Z0vVVuN9aR0B2iax_MfLkcjP4nCIfoWlk7gkV0jXkvsepFO0rAbgdYGG53uObiU4gmQqR6CMHJsRum2Eg04Xxv9NbwDnOzHTvonZ14WUvuOKJr-8cTouu7298_vOLfa6VtEV3Xqkd0_ZJeJ8wtgJwvcY7o2nVD9HAP6u4f__dbWk3pR6p4Dswb4ffcWAhJKUbrdIf1gIdQhhHN61G1TvXRlC2I5ohU9MfM2feb78U_mWJEGcHkkRBC0iyNOcmKRNZFkJInnfnZa7p5b1TvwpB8DHKhxb6R4V822joDvEM0Q_QaK5-Q5aTQHxkYRK_IYxzXUtbPWkeUxUcx06KG12L-MPYPatvz9jfeyxaMfU6kc4VVFzXsw6JHYaU5y_BBAIgWgZlrbNVW9Y3eOEQr__xZKxluy9nCRmLwwifhb3LAZgd5I4qGxkmaUII3GwPWaQMb42ZkraoRXT8W2SZLLlvVj4-X236cKga3M8BlZHVEJhhJQskeRLIEQRPIBcnxvM54bkUz3ayDju6H6Ql6Oxr4CKZTPXfaA93bfIBtWE2CMvbF98PVqFrpWTmqudVivwCdZawYoUSQfA8zPYZZlvW3YYZUOsB2P1S2m7Pua4DzQvrguINQfU48ZVnv8WRLPFkOMofE--K97p86PVrsl2U7hNQtj-J7mTWeId7vtwAhYaYGrygyP3TbFCX_AbdXrRafDuidS6qZvJNxFEdxZJlM_3wcz4I9peH9VFMZw58-QIPY9euamFtNKxVi77x5rXX7JppyiYblvK5LWOjqLsz-fztNJhSSupznQz9Lk5-vSe82_hto0sdBfxlNejTs19Bk8tdoMj1yK1IuFwyEzirbPejRCFir9nB_NRXfbQ0ObztfEbhX5LJ0CuZa943anjB8GZOZ-epE9bWWcK27oQUH17p38Ojmzcp5hilnNE253A_TwXLGsqJuSHPM1wFZ1sl55d5xA3IzOIPY9SsU-henM7P4vF2pnDNnpSWJRdKQZk9LfkQLhwJO07LW5mNI63Owc5KH55njbJAZFIuELY4hZ3mDBzCNNl0lPO32G-8iZwDvgSx1f1DXKnM_uDuu-q_YKfGi9pVpoTwGx0AuZvJbvVWCtx_Ajq1blDdjH5BvTJjlTxksB37s1b9G-Ar7HXTaPF2NTePn5QVXEho-tm4jwef8aRv2bl5ATo9AGRr5GsHb1r_ib5r-YHFakPS9Y_lfx7OP7kbxFoTzq6115ulrcbwlgKkJosmGhI6LVvfbn4vkjZF5W56UHK75LKV5unxJGlrlql6-N1qAtc-x_iWi-x9MiTdbLOsenFH91u_oThWfb7uUAc3Tl9mXxkcTVJKQ9HXp_2qJe7b1rJYJWTBKjxnNeHOS0fljkdjxaWNR_afC-BYd54SZ8f1OhbJjmKWEs8D8eXhKud-G0OTw217GGMtxx6dTg7N8TCwFY_neYbr81hfnGSMFw5tNq2qxsY4bt5m9r-tRtRLR9dbXXd6K3yl5fHmkEYsRXQs7IrqOopfbUBn6iQRiFUuo_519Z0dgKZSAJ6_ng1vDy3vZy4nDhVwxWbKSX8AqzhNa5KQs6MVulWQJr8saUplCzWgJNMtKDqyIs6SGMr5QK0poShhNCU3KJI6ykpYkK1Mi0zIRBaCEQMdVG4VjEm22F-EwYhUzWmTpRctraG04BKQ0aIxSlN5cmFWAVY9bixLSKuvsvgenXBsODoNBejO__82HGeHfd33FD6chx9_nL0bTrv78CcuM6_OK_jsAAP__5QjK1w">