Issue 204291
Summary [mlir][transform](transform-interpreter) mlir-opt crashes at Operation.h:1041 with assertion `resultNumber < getNumResults() && "Result number is out of range for operation"' failed.
Labels
Assignees
Reporter Aran-414
    git version: bf8b7787f96a9e6d42c5fc4f49c25352b81e90cb

MLIR Program:
```mlir
#map = affine_map<(d0) -> (d0)>
module {
  module attributes {transform.with_named_sequence} {
    transform.named_sequence @__transform_main(%arg0: !transform.any_op {transform.readonly}) {
      %0 = transform.structured.match ops{["linalg.generic"]} in %arg0 : (!transform.any_op) -> !transform.any_op
      %1 = transform.structured.match ops{["func.call"]} in %arg0 : (!transform.any_op) -> !transform.any_op
      %2 = transform.structured.split %0 after %1  {dimension = 0 : i64} : !transform.any_op, !transform.any_op
      transform.yield
    }
  }
 func.func @dynamic(%arg0: tensor<100xf32>, %arg1: tensor<100xf32>) -> tensor<100xf32> {
    %0 = linalg.generic {indexing_maps = [#map, #map], iterator_types = ["parallel"]} ins(%arg0 : tensor<100xf32>) outs(%arg1 : tensor<100xf32>) {
    ^bb0(%in: f32, %out: f32):
      linalg.yield %in : f32
    } -> tensor<100xf32>
    call @m0() : () -> ()
    return %0 : tensor<100xf32>
  }
  func.func private @m0()
}
```

Reproduce Command: `mlir-opt -transform-interpreter a.mlir`

StackTrace:
```
mlir-opt: /data2/dependency/dev/llvm-project/mlir/include/mlir/IR/Operation.h:1041: mlir::detail::OpResultImpl* mlir::Operation::getOpResultImpl(unsigned int): Assertion `resultNumber < getNumResults() && "Result number is out of range for operation"' 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 0x0000564609aa8fff llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x25b8fff)
 #1 0x0000564609aa57cc llvm::sys::RunSignalHandlers() (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x25b57cc)
 #2 0x0000564609aa5967 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0x00007f7bcd243420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #4 0x00007f7bccd2e00b raise (/lib/x86_64-linux-gnu/libc.so.6+0x4300b)
 #5 0x00007f7bccd0d859 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22859)
 #6 0x00007f7bccd0d729 (/lib/x86_64-linux-gnu/libc.so.6+0x22729)
 #7 0x00007f7bccd1efd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
 #8 0x000056460a7f9471 mlir::transform::SplitOp::apply(mlir::transform::TransformRewriter&, mlir::transform::TransformResults&, mlir::transform::TransformState&) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x3309471)
 #9 0x000056460a6e427b mlir::transform::detail::TransformOpInterfaceInterfaceTraits::Model<mlir::transform::SplitOp>::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+0x31f427b)
#10 0x00005646101d1efd mlir::transform::TransformState::applyTransform(mlir::transform::TransformOpInterface) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x8ce1efd)
#11 0x000056461015fd49 applySequenceBlock(mlir::Block&, mlir::transform::FailurePropagationMode, mlir::transform::TransformState&, mlir::transform::TransformResults&) TransformOps.cpp:0:0
#12 0x0000564610181504 mlir::transform::NamedSequenceOp::apply(mlir::transform::TransformRewriter&, mlir::transform::TransformResults&, mlir::transform::TransformState&) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x8c91504)
#13 0x00005646100d8b93 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+0x8be8b93)
#14 0x00005646101d1efd mlir::transform::TransformState::applyTransform(mlir::transform::TransformOpInterface) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x8ce1efd)
#15 0x00005646101d3841 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+0x8ce3841)
#16 0x00005646100c0450 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+0x8bd0450)
#17 0x00005646100bbdff (anonymous namespace)::InterpreterPass::runOnOperation() InterpreterPass.cpp:0:0
#18 0x0000564612886ac1 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0xb396ac1)
#19 0x0000564612886e50 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+0xb396e50)
#20 0x0000564612888f04 mlir::PassManager::runPasses(mlir::Operation*, mlir::AnalysisManager) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0xb398f04)
#21 0x0000564612889f91 mlir::PassManager::run(mlir::Operation*) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0xb399f91)
#22 0x0000564609b6e78b performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#23 0x0000564609b6f233 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
#24 0x0000564609b6f4bb 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
#25 0x0000564612c61a15 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+0xb771a15)
#26 0x0000564609b655c4 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
#27 0x0000564609b6f9d7 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x267f9d7)
#28 0x0000564609b6fc13 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x267fc13)
#29 0x00005646099d5abc main (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x24e5abc)
#30 0x00007f7bccd0f083 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24083)
#31 0x0000564609a8570e _start (/data2/dependency/dev/llvm-project/build/bin/mlir-opt+0x259570e)
Aborted (core dumped)
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to