<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/107969>107969</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir] [tosa] -tosa-to-tensor crashes in llvm-project/mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp:145: TensorType (anonymous namespace)::inferReshapeCollapsedType(TensorType, TensorType): Assertion `rhsShape[currRhsDim] == 1' failed.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
axeabc
</td>
</tr>
</table>
<pre>
git version: 761bf333e378b52614c
system: `Ubuntu 18.04.6 LTS`
reproduce with: `mlir-opt -tosa-to-tensor a.mlir`
a.mlir:
```
module {
func.func @test_reshape_3d(%arg0: tensor<1xf32>) -> tensor<?x?x?xf32> {
%c0 = arith.constant 0 : index
%0 = tosa.reshape %arg0 {new_shape = array<i64: 2, 3, 4>} :(tensor<1xf32>) -> tensor<?x?x?xf32>
return %0 : tensor<?x?x?xf32>
}
}
```
stack trace:
```
mlir-opt: /data/szy/MLIR/llvm-release/llvm-project/mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp:145: TensorType (anonymous namespace)::inferReshapeCollapsedType(TensorType, TensorType): Assertion `rhsShape[currRhsDim] == 1' failed.
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-release/llvm-project/build/bin/mlir-opt -tosa-to-tensor a.mlir
#0 0x000055cf54970128 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x10d7128)
#1 0x000055cf5496dc3e llvm::sys::RunSignalHandlers() (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x10d4c3e)
#2 0x000055cf54970abd SignalHandler(int) Signals.cpp:0:0
#3 0x00007f6af409e420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#4 0x00007f6af36db00b raise /build/glibc-LcI20x/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#5 0x00007f6af36ba859 abort /build/glibc-LcI20x/glibc-2.31/stdlib/abort.c:81:7
#6 0x00007f6af36ba729 get_sysdep_segment_value /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:509:8
#7 0x00007f6af36ba729 _nl_load_domain /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:970:34
#8 0x00007f6af36cbfd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#9 0x000055cf57481427 (anonymous namespace)::ReshapeConverter::matchAndRewrite(mlir::tosa::ReshapeOp, mlir::tosa::ReshapeOpAdaptor, mlir::ConversionPatternRewriter&) const TosaToTensor.cpp:0:0
#10 0x000055cf57480350 mlir::OpConversionPattern<mlir::tosa::ReshapeOp>::matchAndRewrite(mlir::Operation*, llvm::ArrayRef<mlir::Value>, mlir::ConversionPatternRewriter&) const (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x3be7350)
#11 0x000055cf57ac0b11 mlir::ConversionPattern::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&) const (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x4227b11)
#12 0x000055cf5a44bc91 void llvm::function_ref<void ()>::callback_fn<mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>)::$_0>(long) PatternApplicator.cpp:0:0
#13 0x000055cf5a44894b mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x6baf94b)
#14 0x000055cf57ac1b53 (anonymous namespace)::OperationLegalizer::legalize(mlir::Operation*, mlir::ConversionPatternRewriter&) DialectConversion.cpp:0:0
#15 0x000055cf57ac0bb7 mlir::OperationConverter::convert(mlir::ConversionPatternRewriter&, mlir::Operation*) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x4227bb7)
#16 0x000055cf57ac1d7f mlir::OperationConverter::convertOperations(llvm::ArrayRef<mlir::Operation*>) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x4228d7f)
#17 0x000055cf57ac996b mlir::applyPartialConversion(mlir::Operation*, mlir::ConversionTarget const&, mlir::FrozenRewritePatternSet const&, mlir::ConversionConfig) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x423096b)
#18 0x000055cf5747c6c8 (anonymous namespace)::TosaToTensor::runOnOperation() TosaToTensorPass.cpp:0:0
#19 0x000055cf57a622d6 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41c92d6)
#20 0x000055cf57a62c40 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41c9c40)
#21 0x000055cf57a65282 mlir::PassManager::run(mlir::Operation*) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41cc282)
#22 0x000055cf57a5dab1 performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#23 0x000055cf57a5d70b 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
#24 0x000055cf57b0a3a5 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-release/llvm-project/build/bin/mlir-opt+0x42713a5)
#25 0x000055cf57a58b35 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41bfb35)
#26 0x000055cf57a58ddf mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41bfddf)
#27 0x000055cf57a5910e mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41c010e)
#28 0x000055cf54950d67 main (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x10b7d67)
#29 0x00007f6af36bc083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#30 0x000055cf549508ee _start (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x10b78ee)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWltz4yoS_jXkhYoLga4PeXAurp2qpJJKsvvqQoBk9shICygTn1-_BZJtSXZuM-M5tZeqRDYCdffXX9M0wtQYWSohLkB0CaLrM9raVa0v6KugOTvLa765KKWFL0IbWStA5jCJg7wghAiSpHmE4yBkAF0DNO-uZmOsWLuBIEZ_z1tlWxikMxTOYnj7_ARiNBytRaNr3jIBv0u76p9aV1Kf142F57Y29NzW51YoU2tIZ65rIqK79l1kezNG3R_s2uuat5WAILns2hAWrWIzd4EgRFYYu9TCrGgjloQDnAIcUV0iZ1GnHJCr4LUgGJAbgDN4DsjNvgeQxev2vxszVAUhwBFDEJBrSLW0qxmrlbFUWehuzqFUXLyORneDHfxZbxbsLXKClfi-7G96kZpuALmSceiEYYCvIHGX0NmaXDsVAKc_BGNvlBa21Wpr2_wzD4Hkumdj92VCi7GU_QGtpkzsqTtOYB8TPkTwglNLAV6YPzcAL-5uvz0CvKiql_W5FpWgRmybja7_KZgFeOHDAy8qmQO8uKrVNqLx4rk29Ll-7vCMmzPWNIDMgzByert7zxtPRkpVrTbrujVQ0bUwjcOAMweDzKUqhH7siLuqq4o2RnD3IMDpXorjaNhyD8O5MUJbWSs3E_TKPDkZILpkrdaPK3Mt1yBylF476gOAE1hQWQk-6_z0cHszf7qBps3X0kIK87aEWjS1ttDWcGVtY3w4LABelNKu2nzG6nXvrkOvSWNaYQBeQKo4lIpVLRfQrgRkmpoVzCn7w9PXq3_yhPJ23ez4RDOAsgddl5quIdVluxbKmh_mMW9lxd2nVD2r76WKLhIBJgiiV4QQiiJWRGGWoACn0GP2hJmN6b48aKmsR_HsoxKn-0Gafl_WxmpB1wDHjj2prJtFPl_8MiwAX6LXAPEkcGKzPYZgjCHmjIhjGB5b9SRLRau_UcUroY2371RmhoyIkZl46mqaczgyCOC091x32_TzDPn_nSDSC0qKmBYhykSIEVy6PG1rLZba9oi6Of2axss4PK-kal_PS9V2HY1daUH5zNQz1FkchhiN7A2HakjMc4RyqKk0bprvwJeVzNn5LfuG0euuiWckcL70KABezGautTFcNG7StEq-djdevDWqdU0vesYAmUeBSy57S6KxJTlNowzSvPZIP2eJ5Z03_FNeSeqUJHsl8VRJgjNYCrvs7F4aUboZunyhVftpD0hlHf6qpnxtSkY71RFyKS3d606O6V6qaukeXPJ6TaX6OZVZ4oKIhHud6VgnywsefyJwmAuZ2IcMIQWPRyGTDUM8CdMgxMlHa8JuOXBLjxW6u7umlq3mij-K71pal2-2dQyZu5Q2eva-cUnn3QFzThvr1rHhuP1y90CtFVr12rRPYxn05Qg8svANJqTLP2gCG5EIDdTcNweKALl6Hw-5-dgP943Q1PrFeu6A7VPe3JU-j6IYqfmHC1xf33zdBydIkSQXCYn2Kcc5cpTJE8pQHgTv2fp1H-17fjPcEOMkD4IR3NGKQMMwZ1kAX2rJB1S6UtzZv9SeTt_brVu7GGG0qlzBsSzGcdUjnDdNJRl10f-L3XX1tp15XVdwJLoX0Hm483YfjB-C_Skh-47bupSMVo_CtJX9nNw-RwEcLpG_kVa1Kl2gHDj3eGogE4rTLMwPvfp_in6ColPM1jinRRbmo9kaTpJTkEfko8VtR9atKGkl_9wub1Xf_CSzHyXpa0krwex-2PFgjA7Sa57AI_onazHrmiNb37fo6phUj-okbPncmicjtuIpWzwpPo91121GO52j6-oI4MkiMsQ45UkxwphMMGZZPEwutGmqzQPVVtJquLP_Ysg9U10KO5h3w2ELXf8ptuT3ofD05ui90KtaFbI8ma8IyuLx7E3HNVrCYpZ-NHtHb0C6rW6r7tXAaX7_OBz2QM2RXZszYFwb0xhjHg9cw4Wlstqy8lzfN07UtmzdKp9kRGMOeHub0bmi1cZIc0cVLYUvhd0S4D5b5d928hNu3MOAZXiwXXAbYjR1CQvRl13yIBtRSTVNpW7oDum7KemHfDRed435pozV_hWO22QcLMzDAZ3mrqO3_YFqoew3VdTbiXOyVBmwjIWjqhtPqu44wimeWL_1x9E4_B0ZPmAMp3hkNh6bHXGaB7ARuqj1es4Ok_fhaypjef-KaEW14MvG6lE18lS3mom7UgNy80ZGc8CuamXFqz2g_a6S-r6xd1T26W5Yu8BB79GEgckUX4Jy-Fap9CO11Q5-q-S_WnEA_06sa725bIuimwm78VwUtK3skotKWPH2M26DMqn8piR8vIsZ-OmzdJ4cz966vvJ6FKU0Vm8O4-O9GHhjc_E7kbzDzMcROq6Ic0QJjQbYTVNJO1f8QddMGLM19y-Ju__AWfHuiGHfk9VSla4sfev2iaqsJCA0GuXkyQ4jSnMSHZ8N_21z-TSrXl7kZOzheOphzos3PdyXKmxFu6Jk_tXA-cg9J4PN-WirgydbnSgLkPglsP8SfAwFSIzwpePDoQjxOIH9a_8TnE7lCY9H-2WcTY4gGEoJXC4rmbOlsVTb5VcOIZhpt8c-3Vff6eX44wgSYnfdqZ-eQ0YoFQJ2ik_lgVQMKNgdq5_xC8IzktEzcREkOMrCAEfh2eoiIwHlPI45oaiIRFDwLEJFmqZZ5szNz-QFRjhEWYBQiBISzsIkj1EaB3GBkwzRCIRIrKmsZs7OWa3LM3-MfBGgJIuzs4rmojL-BycYd8fyGETXZ_rC48rb0oAQVdJYs5dgpa38j1T8A9E1BNGlP0-Irg_Ofv3RtDBQKvi_9iOAs1ZXFz9-yt8z9HKB_x0AAP___xglTQ">