<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/59442>59442</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [mlir] One shot bufferize crashed with segmentation fault.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Colloportus0
      </td>
    </tr>
</table>

<pre>
    MLIR built at commit https://github.com/llvm/llvm-project/commit/0ee6bad6a6725c2913116a8fa7769b067c219f0
Reproduced with:  
`mlir-opt --one-shot-bufferize temp.mlir`

temp.mlir:
```mlir  
module { 
  func.func @func() {
    %false = arith.constant false
    %8 = tensor.empty() : tensor<10x10xf32> 
    scf.while (%arg0 = %8) : (tensor<10x10xf32>) -> () {
      scf.condition(%false)
    } do {
      scf.yield %8 : tensor<10x10xf32>
    }
    return
 }
}


```

trace:
```console 
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: mlir-opt --one-shot-bufferize temp.mlir
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  mlir-opt 0x000000010152e568 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 72
1  mlir-opt                 0x000000010152ea84 PrintStackTraceSignalHandler(void*) + 28
2  mlir-opt 0x000000010152cb34 llvm::sys::RunSignalHandlers() + 148
3  mlir-opt 0x00000001015306f0 SignalHandler(int) + 252
4 libsystem_platform.dylib 0x000000019970d4c4 _sigtramp + 56
5  mlir-opt 0x0000000102c160b8 mlir::Block::getArgument(unsigned int) + 40
6  mlir-opt                 0x0000000102f5fa2c mlir::scf::(anonymous namespace)::WhileOpInterface::verifyAnalysis(mlir::Operation*, mlir::bufferization::AnalysisState const&) const + 760
7  mlir-opt 0x0000000102f5d2ac mlir::bufferization::detail::BufferizableOpInterfaceInterfaceTraits::FallbackModel<mlir::scf::(anonymous namespace)::WhileOpInterface>::verifyAnalysis(mlir::bufferization::detail::BufferizableOpInterfaceInterfaceTraits::Concept const*, mlir::Operation*, mlir::bufferization::AnalysisState const&) + 40
8  mlir-opt                 0x0000000101b053d4 mlir::bufferization::BufferizableOpInterface::verifyAnalysis(mlir::bufferization::AnalysisState const&) + 88
9  mlir-opt                 0x0000000101c36c84 mlir::bufferization::analyzeOp(mlir::Operation*, mlir::bufferization::OneShotAnalysisState&)::$_5::operator()(mlir::Operation*) const + 84
10 mlir-opt                 0x0000000101c36c24 void llvm::function_ref<void (mlir::Operation*)>::callback_fn<mlir::bufferization::analyzeOp(mlir::Operation*, mlir::bufferization::OneShotAnalysisState&)::$_5>(long, mlir::Operation*) + 52
11 mlir-opt                 0x0000000105423bf8 llvm::function_ref<void (mlir::Operation*)>::operator()(mlir::Operation*) const + 68
12 mlir-opt 0x000000010576a6d8 mlir::detail::walk(mlir::Operation*, llvm::function_ref<void (mlir::Operation*)>, mlir::WalkOrder) + 404
13 mlir-opt                 0x000000010576a688 mlir::detail::walk(mlir::Operation*, llvm::function_ref<void (mlir::Operation*)>, mlir::WalkOrder) + 324
14 mlir-opt 0x000000010576a688 mlir::detail::walk(mlir::Operation*, llvm::function_ref<void (mlir::Operation*)>, mlir::WalkOrder) + 324
15 mlir-opt                 0x0000000101c36b58 std::__1::enable_if<llvm::is_one_of<mlir::Operation*, mlir::Operation*, mlir::Region*, mlir::Block*>::value, void>::type mlir::detail::walk<(mlir::WalkOrder)1, mlir::bufferization::analyzeOp(mlir::Operation*, mlir::bufferization::OneShotAnalysisState&)::$_5, mlir::Operation*, void>(mlir::Operation*, mlir::bufferization::analyzeOp(mlir::Operation*, mlir::bufferization::OneShotAnalysisState&)::$_5&&) + 68
16 mlir-opt 0x0000000101c2b39c std::__1::enable_if<llvm::function_traits<std::__1::decay<mlir::bufferization::analyzeOp(mlir::Operation*, mlir::bufferization::OneShotAnalysisState&)::$_5>::type>::num_args == 1, void>::type mlir::Operation::walk<(mlir::WalkOrder)1, mlir::bufferization::analyzeOp(mlir::Operation*, mlir::bufferization::OneShotAnalysisState&)::$_5, void>(mlir::bufferization::analyzeOp(mlir::Operation*, mlir::bufferization::OneShotAnalysisState&)::$_5&&) + 48
17 mlir-opt 0x0000000101c2b0ac mlir::bufferization::analyzeOp(mlir::Operation*, mlir::bufferization::OneShotAnalysisState&) + 380
18 mlir-opt 0x0000000101c4453c mlir::bufferization::insertTensorCopies(mlir::Operation*, mlir::bufferization::OneShotBufferizationOptions const&) + 184
19 mlir-opt 0x0000000101c2b47c mlir::bufferization::runOneShotBufferize(mlir::Operation*, mlir::bufferization::OneShotBufferizationOptions const&) + 148
20 mlir-opt 0x0000000101b7e82c (anonymous namespace)::OneShotBufferizePass::runOnOperation() + 612
21 mlir-opt 0x0000000105294c58 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 512
22 mlir-opt 0x0000000105295328 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 364
23 mlir-opt                 0x000000010529756c mlir::PassManager::runPasses(mlir::Operation*, mlir::AnalysisManager) + 108
24 mlir-opt                 0x0000000105297344 mlir::PassManager::run(mlir::Operation*) + 864
25 mlir-opt 0x000000010527c61c performActions(llvm::raw_ostream&, bool, bool, llvm::SourceMgr&, mlir::MLIRContext*, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, bool, bool) + 560
26 mlir-opt 0x000000010527c1b0 processBuffer(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, bool, bool, bool, bool, bool, bool, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, llvm::ThreadPool*) + 496
27 mlir-opt 0x000000010527bf78 mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool)::$_0::operator()(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) const + 204
28 mlir-opt                 0x000000010527be8c mlir::LogicalResult llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool)::$_0>(long, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) + 80
29 mlir-opt                 0x0000000105487440 llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::operator()(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) const + 96
30 mlir-opt                 0x0000000105486f24 mlir::splitAndProcessBuffer(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, bool, bool) + 128
31 mlir-opt 0x00000001052798cc mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool) + 320
32 mlir-opt                 0x0000000105279ad4 mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, mlir::PassPipelineCLParser const&, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool, bool) + 296
33 mlir-opt                 0x000000010527a698 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) + 2912
34 mlir-opt                 0x0000000100d44f50 main + 148
35 dyld                     0x000000011f271088 start + 516
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWs1u4zgSfhrlQsSQqP9DDo6TYAIkcJAEO9i9GBRVsrktkVqSSrfn6ReURFv-d2c6PenBBIFFi2Txq49VxSJNohSbc4ArJ7x2wpsL0uiFkFcTUZaiFlI3yr3IRL68eny4f0ZZw0qNiEZUVBXTaKF1rRx_7OA7B9_NmV402YiKysF3ZflmH5e1FP8Fqh181_Vz8J0LEGUkj0gU45Di1PM9LyJJQeI4SjM3iin20sJ13BvHHT9DLUXeUMjRV6YXjj9GqKtxIrcqmbwUtUaXl4LDpVoIfZk1RQGS_QFIQ1WPTBMn6oV1n-v3_nglqvs3b638SuRNCciJr_sXCBUNpyPzgZzANU8HJw5OTRvbBCEHhwUpFSDHv0FEMr0YUcGVJlyjtmKjadI208CVkCOoar20Mv1x_9rxJ577zXO_FT52_Fu07q9oMfq6YAal6RQSOXdbeUawFeLgZK8cU3_ZytujRCebCp4zzQTvxHfocTpQIL5BudjXdcmgzK2CBzTZkLP-IkE3kvffVzXrwvDTTtzG_EpCYXduzSQIQ1X7-unhdvxyi1STGWMmKGvmSIIxe6TF9xs3U6oB5eA7RHiOGKdlkwPSC0BUErVAGaFfWlyjbvgXTegXlDdVvQLqjjr2nqSYS1IhIudNBVwbHOhcS98S3vqMaDRSyyoTJeKkAmUmHLhqJKClaNCCvAFq1ekasT9AIsZNnURP49ffkJBIgW61Af7GpOAGF3ojEjmR-_Dwr8fZy78fr6cP9_-5fZ6ZLk7kGhprwXjLp_H7dK0pWuvjfnO7P8_1QgxhlLRYTFt_rJaqKzxJxnWr1ms7uThZN5Lk60woLYFUDo4cPEGM69ag8TWKcTekNxhy-28LAkkCtDXeC5tzUv5GeF6CdHDyJlju4LEdBCfdIPigXjTzg316PTd8Q7ayvoivkRf0Yv1DYn03Kly0DW6gPQ579QNUskwtlYZqVpdEF0JWo3xZsmwgMU1jNw9ogGaKzbUkVd0KCaNORrgfBqZe5GYJsgHVH1-Xgn7pinPQ496MHZw0vF1w8uEEBb3rRudNEC7CgmA6GE3Rois4OCFc8GUlGtUZet2aStpV_27i5LS-5xpk0QcIf_wGkhXLMSflUjHD_lrwtAZJuuA3Nla1rrGO19W2r6yEF000oDbet8aYduXOFm2Yig8wWYQ5JvT4QDlowsqeaFudbWi2KrxKwnRvaXekLE0QehQ5lI4_-REE3p7k8AcqMBGcQq0tt1tT8oMma2iRyZkhI3NDPw-Oj3hA0ffwdxx80seM9Ezw1I9ocgI8MSP-AdP6_e4x5fCyEHoDe4faml4wC7uiaOUK2UXCI0MOXSsJ-jDvnq82DpCJ44OwbDI6I34moXD8SVt7DMDKA2jvXLOCb7jWX0rmrVklBZ8fc5TOaOwq4XlnsRcG2M-K5EcQ967Jjnob9_DeMBrGEYny4YI0DDlfSfnlKPV_TqsNrn8n5ZepzM2qbEOLtVP_PKaNKsmnVMXHVpXg8Cx8dujh2dEiCxOkdN5JnM28rgDcBPQZM8DWiJmaCQ4zUWzEgsMufrjmGeb7XncJFh6vV2BSNmDatImpfauXNRzj359s8DjkyTsZhH5aHDtKldX33Rh-nhrRYJVeRbBof2ZPcean9GyDW7mI7vOlyW7PHChZfqbFaWWiqy-8qWZEzhVy_BvHv0HeKYteA_sFjXqf6X4aA7VbTy8-aKDuqZ3KhyLvAnnSp-pecgBmEIT-CZiMK5D6tT2fmoiawZ_YBfZ4r4c109p8qp1M3VvlrOlBjoP4BHjZ8K0x4SehtxaC3f3osxgSTNGJPeU2-Cei1ECzAfzVsUjk9dkq9vYnHjgNaHgo8ZjWr2Jam2HGOalN5mlH2-CtxXH-Om0N9JFwMjexZoIyIUrz3HfmEa5UOJDB4jT08fer8MRqKBnfNgHTdIUs-uE6DTuZoe650rI98jF5_fhYg4HxWexPRALX97wQg51-7-5R7zH4zOwZp3EY0a3RrT4r0ohSZ_v8Dim9N7jWG4KzkflBcALZ0e1Qu-tdERIesKOYRh5FNchCyGrcJgnqxOGpnWT7XLd9EY2k8DjftaLHh_vnieAavulT-fu604OYM0rKZ1BNqdGO-w0t1ib1m9h6Z7Knanh_MmVI8DIX1VJQUKoLNSc42E2fGs7-18Cs1nIj83qESsillbmvYw4FaUo9y6EEDYc7mxRnj46nnx_D9LrFDSMlUG22IkrLZc_QetTXhQSSP7VoVpYZpP2hMd6fQIQ4zop4GOEeSyantX4kjH_iyflryP5ek-jdY53duV1x57Tlc1C5PcXDsx5sT0xwcmZkjTNIhjF_cz7eM4GflKWTp4__uNTHutTwgPVzMLjrSW2aYBfI9Mzj3SQOAvdv6Sq_YAS0K6l_3k8bYZBEBR6mlqoumR7z_GkrAfocqv8tbOtoi_1pq2cvDfiHtrFxmlD6T4b0keG8_zmgj48-PjfFSMnGD76_xsxssmz325OHJyIVyMEJz0fRvUk7XgW2c3fzMYnSw1uG_iyCLkh36rC1DX3RkvH5MxTn62dx2tMa_7zNvZsHQRG6qCKMb13kCVG-LPOdzpsCvALHnpskSGkidX9gFG1dZrvIr_w89VNyAVdeFLtx7Me-f7G4csMcAsij2IuyPC9iCmmMaRDhPPZ87AUX7Aq7GHvY87wwSEJ_FJAg93FWxAHOvCSlTuBCRVg5MuSNhJxftJfbrsI0CPBFSTIoVXtlFGMOX1Fb6WDshDcX8qq9R5Y1c-UEbsmUVmspmumyvWvash_eoCkHpBZCo_VFtvayXH_VEymYrw6JUGvso4tGllfvv5zXqvD_AAAA__9fPvHe">