| Issue |
203440
|
| Summary |
[mlir][transform](-transform-interpreter) mlir-opt crashes at MatchInterfaces.cpp:107 with assertion `maxNumber > 0 && "expected size to be positive"' failed.
|
| Labels |
|
| Assignees |
|
| Reporter |
Aran-414
|
git version: 123078c21cfbe4c6abe1052e53739f9e933e8c1d
MLIR Program:
```mlir
module {
func.func private @opaque() -> (i32, i32)
func.func @split_handle() {
%0:2 = call @opaque() : () -> (i32, i32)
call @m0(%0#0) : (i32) -> ()
return
}
module attributes {transform.with_named_sequence} {
transform.named_sequence @__transform_main(%arg0: !transform.any_op) {
%0 = transform.structured.match ops{["func.call"]} in %arg0 : (!transform.any_op) -> !transform.any_op
%1 = transform.get_result %0[all] : (!transform.any_op) -> !transform.any_value
transform.yield
}
}
func.func private @m0(i32)
}
```
Reproduce Command: `mlir-opt -transform-interpreter a.mlir`
StackTrace:
```
mlir-opt: /data2/dependency/dev/llvm-project/mlir/lib/Dialect/Transform/Interfaces/MatchInterfaces.cpp:107: mlir::DiagnosedSilenceableFailure mlir::transform::expandTargetSpecification(mlir::Location, bool, bool, llvm::ArrayRef<long int>, int64_t, llvm::SmallVectorImpl<long int>&): Assertion `maxNumber > 0 && "expected size to be positive"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0. Program arguments: /data2/dependency/dev/llvm-project/build/bin/mlir-opt -transform-interpreter a.mlir
#0 0x000055a06ebdde1f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x25e2e1f)
#1 0x000055a06ebda4ec llvm::sys::RunSignalHandlers() (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x25df4ec)
#2 0x000055a06ebda687 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0x00007f7192fee420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#4 0x00007f7192ad900b raise (/lib/x86_64-linux-gnu/libc.so.6+0x4300b)
#5 0x00007f7192ab8859 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22859)
#6 0x00007f7192ab8729 (/lib/x86_64-linux-gnu/libc.so.6+0x22729)
#7 0x00007f7192ac9fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#8 0x000055a0752db071 mlir::transform::expandTargetSpecification(mlir::Location, bool, bool, llvm::ArrayRef<long>, long, llvm::SmallVectorImpl<long>&) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x8ce0071)
#9 0x000055a0752a485a mlir::transform::GetResultOp::apply(mlir::transform::TransformRewriter&, mlir::transform::TransformResults&, mlir::transform::TransformState&) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x8ca985a)
#10 0x000055a07520ad2b mlir::transform::detail::TransformOpInterfaceInterfaceTraits::Model<mlir::transform::GetResultOp>::apply(mlir::transform::detail::TransformOpInterfaceInterfaceTraits::Concept const*, mlir::Operation*, mlir::transform::TransformRewriter&, mlir::transform::TransformResults&, mlir::transform::TransformState&) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x8c0fd2b)
#11 0x000055a0752fa91d mlir::transform::TransformState::applyTransform(mlir::transform::TransformOpInterface) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x8cff91d)
#12 0x000055a0752886a9 applySequenceBlock(mlir::Block&, mlir::transform::FailurePropagationMode, mlir::transform::TransformState&, mlir::transform::TransformResults&) TransformOps.cpp:0:0
#13 0x000055a0752a9c84 mlir::transform::NamedSequenceOp::apply(mlir::transform::TransformRewriter&, mlir::transform::TransformResults&, mlir::transform::TransformState&) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x8caec84)
#14 0x000055a075201643 mlir::transform::detail::TransformOpInterfaceInterfaceTraits::Model<mlir::transform::NamedSequenceOp>::apply(mlir::transform::detail::TransformOpInterfaceInterfaceTraits::Concept const*, mlir::Operation*, mlir::transform::TransformRewriter&, mlir::transform::TransformResults&, mlir::transform::TransformState&) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x8c06643)
#15 0x000055a0752fa91d mlir::transform::TransformState::applyTransform(mlir::transform::TransformOpInterface) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x8cff91d)
#16 0x000055a0752fc261 mlir::transform::applyTransforms(mlir::Operation*, mlir::transform::TransformOpInterface, mlir::RaggedArray<llvm::PointerUnion<mlir::Operation*, mlir::Attribute, mlir::Value>> const&, mlir::transform::TransformOptions const&, bool, llvm::function_ref<void (mlir::transform::TransformState&)>, llvm::function_ref<llvm::LogicalResult (mlir::transform::TransformState&)>) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x8d01261)
#17 0x000055a0751e8a00 mlir::transform::applyTransformNamedSequence(mlir::RaggedArray<llvm::PointerUnion<mlir::Operation*, mlir::Attribute, mlir::Value>>, mlir::transform::TransformOpInterface, mlir::ModuleOp, mlir::transform::TransformOptions const&) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x8beda00)
#18 0x000055a0751e42cf (anonymous namespace)::InterpreterPass::runOnOperation() InterpreterPass.cpp:0:0
#19 0x000055a0779ab771 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0xb3b0771)
#20 0x000055a0779abb00 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0xb3b0b00)
#21 0x000055a0779adbb4 mlir::PassManager::runPasses(mlir::Operation*, mlir::AnalysisManager) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0xb3b2bb4)
#22 0x000055a0779aec41 mlir::PassManager::run(mlir::Operation*) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0xb3b3c41)
#23 0x000055a06eca4cfb performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#24 0x000055a06eca57a3 processBuffer(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef, mlir::MlirOptMainConfig const&, mlir::DialectRegistry&, mlir::SourceMgrDiagnosticVerifierHandler*, llvm::ThreadPoolInterface*) MlirOptMain.cpp:0:0
#25 0x000055a06eca5a2b llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, 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&)::'lambda'(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef, llvm::raw_ostream&)>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&) MlirOptMain.cpp:0:0
#26 0x000055a077d8a3d5 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::MemoryBufferRef const&, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0xb78f3d5)
#27 0x000055a06ec9b884 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (.part.0) MlirOptMain.cpp:0:0
#28 0x000055a06eca5f47 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x26aaf47)
#29 0x000055a06eca6183 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x26ab183)
#30 0x000055a06eadbaec main (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x24e0aec)
#31 0x00007f7192aba083 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24083)
#32 0x000055a06ebba31e _start (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x25bf31e)
Aborted (core dumped)
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs