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

    <tr>
        <th>Summary</th>
        <td>
            Assertion `Ptr >= BufStart && Ptr <= Buffer->getBufferEnd()' failed.
        </td>
    </tr>

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

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

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

<pre>
    Test on commit: 0f9720a6

steps to reproduceļ¼š
`mlir-opt  temp.mlir    -transform-interpreter   `

test case:
```mlir
module attributes {transform.with_named_sequence} {
    func.func @example_transform_function(%input: memref<4 x 64 x f32>, %scale: f32, %token: !gpu.async.token) -> memref<4 x 64 x f32> {
        %one = arith.constant 1 : index
        %c63 = arith.constant 63 : index
        %c3 = arith.constant 3 : index

        %launch = gpu.launch async[%token] blocks(%arg0, %arg1) in (%arg3 = %one, %arg4 = %one, %arg5 = %one)
        threads(%arg2, %arg2, %arg2) in (%arg6 = %one, %arg7 = %one, %arg8 = %one) {
            scf.forall (%i, %j) in (%c3, %c63) {
                %val = memref.load %input[%i, %j] : memref<4 x 64 x f32>
                %scaled_val = arith.mulf %scale, %val : f32
                memref.store %scaled_val, %input[%i, %j] : memref<4 x 64 x f32>
            } { mapping = [#gpu.thread<x>, #gpu.thread<y>] }
            gpu.terminator
        }

        return %input : memref<4 x 64 x f32>
    }

    transform.named_sequence @__transform_execute(%arg0: !transform.any_op {transform.readonly}) {
        %func_match = transform.structured.match ops{["gpu.launch"]} in %arg0 : (!transform.any_op) -> !transform.any_op
        transform.gpu.map_nested_forall_to_threads %func_match block_dims = [512, 3, 1] : (!transform.any_op) -> !transform.any_op
        transform.yield
    }
}
```

crash trace:
```
mlir-opt: /home/fuzzing/llvm-project/llvm/lib/Support/SourceMgr.cpp:109: unsigned int llvm::SourceMgr::SrcBuffer::getLineNumberSpecialized(const char *) const [T = unsigned short]: Assertion `Ptr >= BufStart && Ptr <= Buffer->getBufferEnd()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/fuzzing/llvm-project/build/bin/mlir-opt temp.mlir -transform-interpreter
1.      MLIR Parser: custom op parser 'builtin.module'
2.      MLIR Parser: custom op parser 'func.func'
3.      MLIR Parser: custom op parser 'gpu.launch'
 #0 0x000000000113ce77 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x113ce77)
 #1 0x000000000113aa0e llvm::sys::RunSignalHandlers() (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x113aa0e)
 #2 0x000000000113d855 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0x0000718015367520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007180153bb9fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x0000718015367476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x000071801534d7f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x000071801534d71b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x000071801535ee96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x00000000011cad82 unsigned int llvm::SourceMgr::SrcBuffer::getLineNumberSpecialized<unsigned short>(char const*) const (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x11cad82)
#10 0x00000000069b292a mlir::Lexer::getEncodedSourceLocation(llvm::SMLoc) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x69b292a)
#11 0x00000000069c1a85 (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#12 0x00000000069bfbf9 (anonymous namespace)::CustomOpAsmParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#13 0x00000000018165ba mlir::gpu::LaunchOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x18165ba)
#14 0x00000000069b881e (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#15 0x00000000069c3d01 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
#16 0x00000000069c1b2a (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#17 0x00000000069bfbf9 (anonymous namespace)::CustomOpAsmParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#18 0x00000000069bfc3c (anonymous namespace)::CustomOpAsmParser::parseOptionalRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#19 0x0000000006ac872b mlir::function_interface_impl::parseFunctionOp(mlir::OpAsmParser&, mlir::OperationState&, bool, mlir::StringAttr, llvm::function_ref<mlir::Type (mlir::Builder&, llvm::ArrayRef<mlir::Type>, llvm::ArrayRef<mlir::Type>, mlir::function_interface_impl::VariadicFlag, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)>, mlir::StringAttr, mlir::StringAttr) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x6ac872b)
#20 0x00000000017e4928 mlir::func::FuncOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x17e4928)
#21 0x00000000069b881e (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#22 0x00000000069c3d01 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
#23 0x00000000069c198e (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#24 0x00000000069bfbf9 (anonymous namespace)::CustomOpAsmParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#25 0x00000000043648ce mlir::ModuleOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x43648ce)
#26 0x00000000069b881e (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#27 0x00000000069b7108 mlir::parseAsmSourceFile(llvm::SourceMgr const&, mlir::Block*, mlir::ParserConfig const&, mlir::AsmParserState*, mlir::AsmParserCodeCompleteContext*) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x69b7108)
#28 0x000000000424207f mlir::parseSourceFile(std::shared_ptr<llvm::SourceMgr> const&, mlir::Block*, mlir::ParserConfig const&, mlir::LocationAttr*) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x424207f)
#29 0x0000000004240f8e mlir::parseSourceFileForTool(std::shared_ptr<llvm::SourceMgr> const&, mlir::ParserConfig const&, bool) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x4240f8e)
#30 0x0000000004240793 performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#31 0x0000000004240503 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&)::$_3>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&) MlirOptMain.cpp:0:0
#32 0x00000000042ec4e8 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) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x42ec4e8)
#33 0x000000000423a151 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x423a151)
#34 0x000000000423a403 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x423a403)
#35 0x000000000423a612 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x423a612)
#36 0x000000000111a8d7 main (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x111a8d7)
#37 0x000071801534ed90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#38 0x000071801534ee40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#39 0x000000000111a435 _start (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x111a435)
Aborted (core dumped)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzcWktz27YW_jXwBmMNCb4XXtCyPbcz9k3GztwtBwRBCg0JsACYyv31dwBQ4sNy4iRqk9TTOhYe53znw3mBIlaKNZzSKxBdg-jmAg96J-TVI3tkvh9elKJ6vvpAlYaCQyK6jmkQ5NCrswR5OAZeDrxcadorqAWUtJeiGggFt3fgegsyMwtir2uZvBS9hlDTrt-YjxBCeKkl5qoWsrtkXFPZS6qpmQGx5yRro5lgRUEwinL_GQnAyztRDS2FWGvJykFTBUFyfRS6-ZPpXcFxR6tC0T8GygkFyY1ZA7zcAKgHTjbmFwShR_e461taHPcXZkYzwQFKAYoY7wdrfEc7SWsQbEO4h7H5VQcIBLcAbSFAkSK4NXjtqBvS4iPlZgggv-mHDVbPnGzcKMrgJQhuX5U6g2t-AIoEpxAENxBLpncbIrjSmGvoQ6OB8Yrul-tJHJxab0dPbzi5frl8uaPFAyc7u8vYN360Zhq_OjAQ3cCyFeSjcoxi2XgjQ1g2vqGCcXiccyicwdOy8ORotBjNZuj0TlJcTRrRtGn551J5fFJNcnI0XSpfnZj5UaTe1ELith01sHH37wu9JBiHSRycFjTy_Qm3Vqdzmk0rcAWPLmoJnxREN_CzXntSgXXiqjjoca7QDW09ebiT71Y4Z38pacSntJB0KXbcfgbEY0jDDvc94407CyMxMK7ojh8E2_0xQpfjz2bcaExuVoLtMio7xrEWcu7wdulsQFI9SH605y3oFzKmlLXMViYtFbOERPeUDJrOosfllGk_5s-F6Jdp0BgqePtsVL5wKoAik-aKDusxgKeNSsuB6EHSauOmRa_MbkMumuIcIASiG3MM1pEtMOiQpSfAHTPeqblZ3B6njKYO9wWnStOqcHFUaFGMob2ywWaYomKdOrhC5NtIt8HlH7zrTOCeGW2r5Zm634dS5U6ZSKx2ZhtZlzJTxsby6GDd7URHAbqrh7_-YrwB6K5tP3WXvRS_U6LHj-YfVgJ09zT0vZBm-EkMktCHRm5I34Mg973MCBy4LfAVZFxDuzXIQZAfV48fJbke6pqOHxuq7xmn_x26ksqnnhKGW_YXrQBKbT2AZIclBCg3fLkREF1_sIQfFaqdARbdGBS5UlSaWmpq-3stoYmE4AZeD_WTxlJDgGKAYuimtuNUTaU5jIZq9-GWV_bYMoASWGPW0moDvPz9_W3-dAvVUHZMQwzLoTGtiJDaNCU7rXtlzEJ3AN01TO-GckNEN2NyyS9TaqAKoDuIuaGNtENFod5R6E6xxOSjPUmj-0lj8hFWQ9e7c_U2zkPeS9FI3EEsm6GjXKs3Hm45sLYy_zIO0N2xcZr6ptNNE_Byf9T8cP_bI3yPpbKHCcmgtOig6GFvxyBAiVGiGd-4_gmgBHg5evv2Y9vkdgZv3zlPGmarycYe9Pbe4cf3A0KTZOao6lm5P95LxrWl-4MNI5ROiyT-sxBKS4o760hb4-022Rl3-UbSAbr29iOgsacAKPBXcDH26Cm4jwN_Yg3H7X8wr1oqXQdyHkRG54QIrRBVaRTBhW6AUsvHFirWMF6LQtvY3cJPglVjGLsdaswenv3fKQhGBYmfen4UxEmEvNEOl4T2aVzE4WXL-LC_bPjgJshGiU1sMYcoQt6EOFwKLMusJrB36bz4yA5d0lulZ3FWk0l6tIYbJjFslDXva2GHSTwJjpeCwyqpA4hLYdPXV4hFaVIHk9jkhVi__GqBfjkJTJcCI0qz-OsEBhnNZoZnSw8juErRmQtLsF3VDdOtpbbM2PqyrDXfH0PWBmehCepFEoqzEmUIQ3vLtLDv6X5mwS0noqKVs_ReEDxeEmckPNwLcpZoH7FMSP0lUuLjNDJqMBf8uRODgqaHVL1NkZmD866n0oI8ZmcQ5DYrP9LGYZ9sPQzZNDqZlEuJnx9tRzutfdfnqpsLzcdyNzbbpRCtocEtWaUWYw1a8V6XdfYla7a2sLxQ_VPYEywiJfXjqJz7UdMPo0PZIviun0FfgJ4Dccjnc-NpPmlsLgPxecqKAzs5Wrg6mjT16bc72nFmLIOvMhit_DuoPP_b1V6by8CC2XEkH3l7FUe8jrMS4V83zpJ_WZyla3tIQL7Hnne9OTbc_mi7FpU2xiRNUDkL_cMTycK2_jUmtGBd384MuRtXvOu_J58ckM6XPWnJeJNrLZdEHDHJFRkfnnubMGaxZ9LPEcEXuDTbR9revvKNVP0PS4YrRu5a3Ni2WFduoijIfu_77kOJFSOFsnaDYGuakcViM1BoiZm53blph-K4AretaQ-EnObtzdfmnheQlwyfHj9HS-Hc6pjp0fIGltAwQ-mKSfeXca6fqmY5rJMl_g-pWQj9HDULBeualaXfYf4PzoVo3YD84jULLTqbMIjDlNBZiDzYhzE_U3iNGKfwin9MeK2bl8T35vnJCstV5-5jd6xdPhs6XkgPF8kVd1NwzUcdmK3gNWte2Xg8jpH0_JXprajoVnR9SzXdCq7p_nCbPcft0JAxndCiLwpRiLykXlO14OlYqtQOS1oVvTa16uR1_vbcBB6uzq6ynYeR0eaJkWzFiFen9HVG7oT8YOP4HMS8SsEhVZzDWmPP0drlw1Qzm2QB7Kmshexy2w-pLzw4PYPdD_e_Pc4dfTHXMvmu1w-Y8RfEZHA2-zIPLB-9GuMiL5hl7XvRMGJaeDW0-vUG9bUN8zMfOPtjoC9sf6CdkM_j86w5VxWt8dDqoqImyF_fc2j_5sVmfQS2L3T9JW7bEpOPRc0XlWjG0lsP8-83aIJ3w3BLiTa1VWn5_NI9PucCbglAYRG4R4Ct4M0_bMpnzuYLHoqWHkpJSOeVSvUt0zmv3ktBqFIHsD_G737FsPjsivmcuzKZFu614bNkX3vAU_YNlscfYD_yTzv-vy5uz8Gm5WtiM1yzGXrBq2yO32-5O3o-lp2v8YcvMXEmC0MvmCyM1hbGPjqLhf-IKbE_fYESxMuviHycVgns8OHVpu_7ssZKm3StvzCjVfaV30eirMq8SWC6FkhDDxaF2VMojaUuZpa8WQUNZyqyNT9hEEEn_DwMhUHktOWlkJpW0L6rIal9N4FWI5LDWycX1VVQZUGGL-iVn4Q-CrMMRRe7K0ySuMpqVKVlRYM6yXwcBxibVgtnSRZesCvkocgLvNhLA-RFm6zGQVV6cRWGcUziEIQe7TBrNwb_Rsjmwr5QceUHnud7Fy0uaauu3EtEnP4J7ax7h-hCXlmjy6FRIPRaprSaxGimW3r1971JcjHI9urb3xYZ7ft0hf4fAAD___ekE5U">