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

    <tr>
        <th>Summary</th>
        <td>
            [mlir] check-mlir fails with -DLLVM_USE_SANITIZER=Address and/or -DMLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            mlir
      </td>
    </tr>

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

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

<pre>
    I configured Debug build with `-DLLVM_USE_SANITIZER='Address;Undefined' -DMLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON` and this makes several tests in `check-mlir` fail. (Either of `Address` or `-DMLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON` also causes failure. `-DLLVM_USE_SANITIZER='Undefined'` by itself does _not_ cause failure.)

The discovered failures include use-after-free, leaks, and things related to `MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS`.

**Is this supposed to work?**

**Details:**

6206f5444fc0732e6495703c75a67f1f90f5b418. Linux, x64, full details in attached transcript.

Trimmed down transcript:
```
$ git rev-parse HEAD
6206f5444fc0732e6495703c75a67f1f90f5b418
$ cmake -S llvm -B ../build -G Ninja -DLLVM_USE_LINKER=lld -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_ENABLE\
_ASSERTIONS=ON -DLLVM_TARGETS_TO_BUILD=host -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;mlir' -DLLVM_INSTALL_UTILS=ON -DMLIR_INCLUDE_INTEGRATION_TE\
STS=ON -DLLVM_USE_SANITIZER='Address;Undefined' -DMLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON
...
$ cmake --build ../build
...
$ cmake --install ../build --prefix ../build
...
$ cmake --build ../build --target check-mlir
..
[143/144] Running the MLIR regression tests
...
# | ==592289==ERROR: AddressSanitizer: heap-use-after-free on address 0x50c000001948 at pc 0x6081bf3c5f85 bp 0x7ffc816c8b70 sp 0x7ffc816c8b68
..
# | ==592878==ERROR: AddressSanitizer: heap-use-after-free on address 0x50c000001948 at pc 0x55e2dfe71f85 bp 0x7ffd817bd370 sp 0x7ffd817bd368
...
# | ==596245==ERROR: LeakSanitizer: detected memory leaks
...
Total Discovered Tests: 3045
  Unsupported :  303 (9.95%)
  Passed           : 2705 (88.83%)
  Expectedly Failed:    1 (0.03%)
  Failed           :   36 (1.18%)
...
$ uname -a
Linux p02r06srv07 6.8.0-49-generic #49-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov  4 02:06:24 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.1 LTS"
```

[mlir_transcript1.txt](https://github.com/user-attachments/files/18533952/mlir_transcript1.txt)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0Vt-PozgS_muclxLImJ95yAMJZJabJB0Fspq9F2SgSNgmENmmJ3N__cmQ7k73ze3dPGwUycj1ufyVy_6quJTNqUNcEHdJ3GjGB3XuxWKPYtu0VYdiVvTVj0UCZd_VzWkQWEGExXCCYmjaCr436gzEo0a02fy-zY9pnKfhLsmSf8YHYkeE-WFVCZSS2MtjV2HddFgR5oMRbTfJIY934XIT5_G3fbxLk9_jfB9mWXzY5eE-yVe_xauvKbGjpx3xKPCuAnVuJFz4M0qQ-IKCt6BQKglNp2mUZyyfjUvbCL2g5k1rAmFB3KgzCuhrjXkl5FHoxcT916m0soeSDxLluMsg0PzrY3gMXnsofkCjJLY1VD1KyLte5ZPHN4eEzQkNCQ2zM0LVyLJ_QX3-d7uOuWyHCmGQaPBaoTBqgUjYClrkz1J_3M-sO0kQ2HKFFaheM_2_Q_aoObEgTP8TOeVADtdrLyd333vxTOz1BHgER6h400pih482j1Gvdh3HqUvq2ww9Z-761C59l3t-bdVzWruFYwUmbJpuuOkwbp6jh3poW6gmpzrjXClenjUJwTtZiuaq7mQz0VwuWEHVf-8erJoJDYlH739N1IFTo0Dgi3HlQiL8FofRL7C8-yj1pQQjhbZ9uYCxBNMkbD09EuML7JruTw4P12OT7L6Od6PVgGi1Db_G-fKYbKI8-2MfEzuantmraZWvnrb7ZDOuKVvePZi-ffsPI2FLwpavG055Ju6K0DAP0zQ-ZMnTbrrOr5gsPHyJszTPniYaxI7OvVQfXeT7w9M_4lWWTpd62spejqOh-r6VBt6U4MRejo9wfOjj-mSXZuFmkx-zZPO28XgJk91qc4ziPNll8ZdDqJnl2Z1smn0k-ffpCw1N0_yYS2PK3nsifwpqOql4237It3EVWDe3_7X0s38wDMXFCRU86JheqNe5S8uxCVtbjkPcCA5D1zXdCdQZQUcKAk_6HJq-mxTxYUcbiL8CfVx25M4ZC-bTd3w4PB2IHcL9DFPeNar5Fwo9d0Z-NT4qC_Qd8AkK9ObSkuqfNXcC4AquJdCbRwOrqO3SrQMXiivQm1_XZWB5ZVD4FOTHGS94C-8zycAP_jaSrousqtG3HklWgeUXlf1A8j5zJ_kzlh5z3E8sN8ifP1CsUGGpdfeCl178uEvzq8esV7yF6F3cszF3dgg2dVxCQ4BjN2qt0D60AWxq66I2N-cuYe5UJQD2XGo5fv9pLPOpq7FBYAb2Azi-XUdS7Q9Y86bFanQMYGkwNekjdgJ8cgxgexprmVbwhn2_4UPHLwgGJzQcNRyulAnqSfFCffDMwKSGMzdO2KFoSiDMdubGsRg6NUC63cP-EMfbfZZHf-zCbbKCbd_Brn8BcIAyYofUI3bIHDhmK2CUOXALvNz7PHzZHQlbTzXk_vC4AsLWqErC1q0sDIEtcolAaBglaXZIlnmi0zlxeZg9xJs4TLUsM8ekzoNl9RTFu3CrTV1ftPhgiuJ0dUj2WtFGrWL3EEcXpgWbLCWMfS5I41vXTz9_r1uWqW6KuBFhwVmp61RR14StT406D4VZ9hfC1oNEYUw18YKdkoSt66ZFPVqBa9tzlxG2_qlrNp9VC7ua23M-w4Xl275vOTSwZucFc-eBXwY08OrKcRiygNcl9dBHx3XrIJg1C0aZSy3mWJRZzDKDogqQlzb1kRVzmxOH4kX3Yro2mr04zRopB1xYzGEunbW8wFaOHShjU9lguhcVC403iuEkiUPbRir57kE1qh271nGBGz1I5tggyak1_S91464luj0ibN2LXy0Xs0G0i7_IhKZ5H4yr6P_EUhG2HqMeszEF_rJg_w4AAP__khNiTA">