<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/54484>54484</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Assertion failure use_empty during failed parsed of invalid program
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir:core
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
jpienaar
</td>
</tr>
</table>
<pre>
Minimized test case
```mlir
"g"()({"o"(%0,%1):(i2,i32)->()^b(%1:i32
```
Reported failure
```
Parsing failed: expected ')'
F0000 00:00:1647879920.225061 2019104 logging.cc:102] assert.h assertion failed at llvm-project/mlir/include/mlir/IR/UseDefLists.h:170 in mlir::IRObjectWithUseList<mlir::OpOperand>::~IRObjectWithUseList() [OperandType = mlir::OpOperand]: use_empty() && "Cannot destroy a value that still has uses!"
AddressSanitizer:DEADLYSIGNAL
#6 in ~IRObjectWithUseList llvm-project/mlir/include/mlir/IR/UseDefLists.h:170:5
#7 in destroy llvm-project/mlir/include/mlir/IR/Value.h:326:20
#8 in mlir::Block::~Block() llvm-project/mlir/lib/IR/Block.cpp:23:9
#11 in (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) llvm-project/mlir/lib/Parser/Parser.cpp:1992:1
#12 in parseRegionBody llvm-project/mlir/lib/Parser/Parser.cpp:1914:9
#13 in (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<std::__u::pair<(anonymous namespace)::OperationParser::SSAUseInfo, mlir::Type> >, llvm::ArrayRef<mlir::Location>, bool) llvm-project/mlir/lib/Parser/Parser.cpp:1834:7
#14 in (anonymous namespace)::OperationParser::parseGenericOperationAfterOpName(mlir::OperationState&, llvm::Optional<llvm::ArrayRef<(anonymous namespace)::OperationParser::SSAUseInfo> >, llvm::Optional<llvm::ArrayRef<mlir::Block*> >, llvm::Optional<llvm::MutableArrayRef<std::__u::unique_ptr<mlir::Region, std::__u::default_delete<mlir::Region> > > >, llvm::Optional<llvm::ArrayRef<mlir::NamedAttribute> >, llvm::Optional<mlir::FunctionType>) llvm-project/mlir/lib/Parser/Parser.cpp:1052:13
#15 in (anonymous namespace)::OperationParser::parseGenericOperation() llvm-project/mlir/lib/Parser/Parser.cpp:1146:7
#16 in (anonymous namespace)::OperationParser::parseOperation() llvm-project/mlir/lib/Parser/Parser.cpp:912:10
#17 in parse llvm-project/mlir/lib/Parser/Parser.cpp:2172:20
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytVtuO4jgQ_ZrwYg1y7Nx4yEMamlFLPcMK9qJ5Qk5iwLMmztrOaNmv37ITms40c1lYFJykXJdTx2WnSlWf8g-iEUfxD6-R5caiihke4EWAi2FMcH8dpdCDiJA9_AOSBWTmxvQBXtVZFOOAzOEWulkK2pmAibmgMM7eBfRxMIwfy14_BC03O473GsSat0pbgLhjQnb6OsD-9RemjWj2XpPX4Bnxv1teOeOApB5w2msuMfwQxqDjhzCJ0iydzQieEkgiCRHB4SzEEZJqvwef06pyapgE8QIxY7i208PwIFQzhETMIim_HN-1Wn2GwAFZeurIUjSV7Gp-ETytYfjN8AXfPQtjzfTg_KcYiQZ5FWCPFk_rVekc_SHsAZSdZkDnl_lVu2q5Zk3tqPWSIH28ZuRpR0H8MOj_emo5CugCXfMVLxx3neFbfmzt6WxMErjgRuasaZRFNdSMVifE0BcmO47sAdI3VkiJDsw4exOQ0JWG57yoa82N2bBGWKg5F3XxWCyeP22e3n8snnslBL-A0MTRcD2VewmGMR7FSl2scy7_xfnvLmvvlgI1tCB45DcbL-WDVNWfL2vUv_XEXo8pRXkO5JWnVdu6IBSG2ShQGCJPF8lYo5rTUXUGNezITcsqPmxEt7ywuK5W3S7hA6jWPZ-xfI2VFH7Jvw9w8HZ-GFCGsJXcbYyTeJw-5prvAcoDHEI3eQ-jtyzQ-1joEY1oOIuAhLmH2YsLrdlpzXewE42te9l22519Oev5LTA2mwLq9anZKRfvAsPtVdjfyB-f3wBy0X5Wlfc8aJdKyRvXMKOO5XTMcnQfy-95w7WoXhSKneV61X4EFyPqXxQ2lln-ZglWrZtjEjK_Ssed9F8j-0chr-yen3bzobOslPy7hdU14q-Ob1urR8HONTpHb01qvmOdtNuaSw4kXjHrEaI7E3arVxfWalF29nqpvnJ2sVt2TeXEQ4HfWKY49kcNHddp_P_W6U8c1d-AF0bJ212U3Ifufliz0JM2_mKF6eWAvsEnCVPy6jP4VXM2qXNaz-iMTaywkufFqHeCxu7ScKC605c-rsdTI7UDcNBpCJBotdfsOOm0zA_Wtsb3mku49tAodOW0UkcH1pVff3uViTCmc53JMo6iLJoc8iqLWBJnOCnJrqRZnVUprTJCcEpJjSmZSFZyaXLonqCZGcq3UtCKEtcOTkROMGhTEoYJxWEyxSyKQoppnOzisGZVEGF-hFymDslU6f1E5x5U2e0NTErfn7xMQlcp9g3nPiD4Z509KJ1_bgVvGNMTn0Du0f8Lsh6YMA">