<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61578>61578</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[MLIR]`-mlir-print-ir-module-scope -mlir-print-ir-before` leads to assertions "IR printing can't be setup on a pass-manager without disabling multi-threading first"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
BealZephyr
</td>
</tr>
</table>
<pre>
Test on commit: https://github.com/llvm/llvm-project/commit/c8af0d3cea8cab9277651f8cabe54e2f1a3b167f
steps to reproduce:
```
mlir-opt -mlir-print-ir-module-scope -mlir-print-ir-before=cse test.mlir
```
test case:
```
module {
}
```
crash trace:
```
LLVM ERROR: IR printing can't be setup on a pass-manager without disabling multi-threading first.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /home/ty/llvm-project/build/bin/mlir-opt -mlir-print-ir-module-scope -mlir-print-ir-before=cse test.mlir
#0 0x0000557f9ce1b95a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/ty/llvm-project/build/bin/mlir-opt+0x22495a)
#1 0x0000557f9ce18bec SignalHandler(int) Signals.cpp:0:0
#2 0x00007f023bfb2980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
#3 0x00007f023b0aae87 raise /build/glibc-CVJwZb/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
#4 0x00007f023b0ac7f1 abort /build/glibc-CVJwZb/glibc-2.27/stdlib/abort.c:81:0
#5 0x0000557f9ce3529d llvm::report_fatal_error(llvm::Twine const&, bool) (/home/ty/llvm-project/build/bin/mlir-opt+0x23e29d)
#6 0x0000557f9ce35418 (/home/ty/llvm-project/build/bin/mlir-opt+0x23e418)
#7 0x0000557f9e7121cf mlir::PassManager::enableIRPrinting(std::unique_ptr<mlir::PassManager::IRPrinterConfig, std::default_delete<mlir::PassManager::IRPrinterConfig>>) (/home/ty/llvm-project/build/bin/mlir-opt+0x1b1b1cf)
#8 0x0000557f9e71240d mlir::PassManager::enableIRPrinting(std::function<bool (mlir::Pass*, mlir::Operation*)>, std::function<bool (mlir::Pass*, mlir::Operation*)>, bool, bool, bool, llvm::raw_ostream&, mlir::OpPrintingFlags) (/home/ty/llvm-project/build/bin/mlir-opt+0x1b1b40d)
#9 0x0000557f9e6fb7ca mlir::applyPassManagerCLOptions(mlir::PassManager&) (/home/ty/llvm-project/build/bin/mlir-opt+0x1b047ca)
#10 0x0000557f9e6e5bef performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#11 0x0000557f9e6e6441 processBuffer(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::MlirOptMainConfig const&, mlir::DialectRegistry&, llvm::ThreadPool*) MlirOptMain.cpp:0:0
#12 0x0000557f9e6e6631 mlir::LogicalResult llvm::function_ref<mlir::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&)::'lambda'(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) MlirOptMain.cpp:0:0
#13 0x0000557f9e7b0550 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, bool, bool) (/home/ty/llvm-project/build/bin/mlir-opt+0x1bb9550)
#14 0x0000557f9e6e1753 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/home/ty/llvm-project/build/bin/mlir-opt+0x1aea753)
#15 0x0000557f9e6e3f7e mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) (/home/ty/llvm-project/build/bin/mlir-opt+0x1aecf7e)
#16 0x0000557f9cde7ac0 main (/home/ty/llvm-project/build/bin/mlir-opt+0x1f0ac0)
#17 0x00007f023b08dc87 __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:344:0
#18 0x0000557f9cdfa91a _start (/home/ty/llvm-project/build/bin/mlir-opt+0x20391a)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWEtv4zgS_jX0hbBBUZIlHXxwHsb2IkEHTmMOczFKVEnmDiVqSWo6-fcLUnZiOZ1MutOzOzuAEz1KrKrvqwcfYK1sOsQVSS9IejWDwe21WV0gqF-x3z-aWamrx9UXtI7qjgrdttKReE33zvWWxGvCN4RvGun2Q7kQuiV8o9Tvx8u8N_pfKBzhm8NQvhE51KyKBUIuoCx4li3TqPb3mCbI6wjiMlpmNWFXhK2tw95Sp6nB3uhqEOiNBtHh_5IdfuGxVdLMde_oPNz1RnZuLs281dWgcG6F7vFcVmKtDZL4SlikDq1bePk31XspFWBPvDizH-xQkl0cxNnVN78TBuyeOgPiVVU3N7_c0uvt9vPWE_5pS4PDsmuogI7wzNESqUU39D40QHuwdt5CBw0a-lW6vR4craSFUvlB7aCcnLu9Qaj8cy2NdYvR1N3N9fr-mtqhbKWjQMuh8YRr4zz13x1rae2AlvANha6ishNqqJC6PdIRdgnitwD9YP7egfiNVkPbP3HBFoQVd0Y3BloKphla7Jx3ghK-2esWCd-4x5emy0Gqyl9lR_jmZ2cDJTxmlD0wxliaZnUhMCqLFGjgIV6TeG0f7Xhz5xUGZF9ClHn-_JGBrzttnUFoCV8Sfkll5wgvKOH5j-Aj_II9cJ4UKRBePPsanfmalyjovWw6UP-ArlJoCM8PpsfXdiF6HwUW_p4U8YOirGY8LuuSFzmju51B67TBnXEHz5UsCd885MvdMpkr2Q0P86YbRkE_5t7C6gULDkdey8TfeGKGAWCeUQPSIj3B3ihZivnlL__8-mv59MgXPCN8YwMKwjeLhX96tBX2PhOHTj6ML34P3nSDfwyqF4LE6zSaAk7OPBFZHVEodUD6Pk9cNbIRRgUj-ZmRdBqeOOVFdZJKYwXuanCgdmiMNpMk-vJVdkiF7qw7JFGptfpwFsXIi2oSleW5m0mUf9RGEuUTG9mpDcwiHomahsIbiwmsvR1b2_gCOygVftreHXoi4bl11SgbOvnvAXe9MyS-fEPHYTSaS93VsvEMPumosIZBuV2FCh1-n5742v8-GIeojMpI1BOS8nOSElb9KEn10AkndUfiS5823tepJsLXnpHnl597NBCGeEkRMJ4w9rMUjkn88vpW9zzVeQS7UdDYnxGFhE3LoZhEYVmXmYATD6Dv1eNJKC5vPvcepH1ByDFWHsNH3WRJJp57v2_9bOompiXWtEdTa9OuxdGjt1h9Cq3dg8HqUFDPI-71YATeNobE15M-9Azz9ubT9lJ3Dh_ci_DfKmk-9-4WZDcWzomOgp5IX05JHl90hm-ZJBHtjRZo7cVQ12jeC2_SL55H3GKrzeNR1Vu94ZUxhz7wXsyn311JUCjcFhtpnXk8yE96f5hK70JprN9FFz-naxlHJwZvdCMFqC3aQbkTQ8eq3hmsJ11wOuDV9vtn0Pl6UEMPCRIBSvll5q7uJm6f8PQXTI9vh_2dJTN-QnimoC0rIH4V8teJCs-V7pr_LrFvuPTHBRNPJ9uSpSk7CYXtlXTrrro76zj_C3T_h0X6BxP6dPL_6ORYFmnKJpNjctYNoyyNv11nf7cu8TEqASFL4wmV6RmVcZ3hq1SGveYlFXswYeJaTxPh3hnZNVus3wP4p-QGoKgznACabncqzEAw2oLsPmapZiCmSZhN95h5JfKM7nZ-E7mzDozbHay-a78p7HDc9o63QRj0hM1nnCTTBpdPcdZQREBHwx_b3bG4iE7WosdTrVm1iqsiLmCGq2iZFQnj6ZLP9qu8Tqsa4zIvYiggSiOe86LAMqp4WVVJPJMrznjMYh5FPOEJX-TLPIp9tvFaFJxnJGHYglQL7-VCm2YWjqBWyyjN8pmCEpU9HnGaVYBSDo0lCVPSOvs8zEmnwmGoX7iS9Ios2fcfHS0ZVQhVOLYEa9GExTYlnP85h3iE89lg1OrHz-kCT_8JAAD__-db1as">