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

    <tr>
        <th>Summary</th>
        <td>
            Cannot run LLDB API Tests on MacOS
        </td>
    </tr>

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

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

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

<pre>
    Environment:
```
MacOS Sonoma 14.4.1 (23E224)

% lldb --version
lldb version 19.0.0git (git@github.com:llvm/llvm-project.git revision 932bef23276da05c5eed2ffe7c62b7fc5f39caf1)
  clang revision 932bef23276da05c5eed2ffe7c62b7fc5f39caf1
  llvm revision 932bef23276da05c5eed2ffe7c62b7fc5f39caf1

% which python3
/usr/bin/python3

% python3 --version
Python 3.9.6

% echo $PYTHONPATH
/Users/vsoltan/Documents/llvm-project/build/bin/LLDB.framework/Resources/Python
```

Minimal repro:
```
$ python3
Python 3.9.6 (default, Feb  3 2024, 15:58:27)
[Clang 15.0.0 (clang-1500.3.9.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import lldb
Traceback (most recent call last):
  File "/Users/vsoltan/Documents/llvm-project/build/bin/LLDB.framework/Resources/Python/lldb/__init__.py", line 39, in <module>
    import _lldb
ModuleNotFoundError: No module named '_lldb'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/vsoltan/Documents/llvm-project/build/bin/LLDB.framework/Resources/Python/lldb/__init__.py", line 42, in <module>
    from . import _lldb
ImportError: cannot import name '_lldb' from partially initialized module 'lldb' (most likely due to a circular import) (/Users/vsoltan/Documents/llvm-project/build/bin/LLDB.framework/Resources/Python/lldb/__init__.py)
>>>
```

If I use the default installation of llvm (packaged with MacOS)
```
% echo PYTHONPATH
/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Resources/Python

%which lldb
/usr/bin/lldb

% python3
Python 3.9.6 (default, Feb  3 2024, 15:58:27)
[Clang 15.0.0 (clang-1500.3.9.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import lldb
>>>
```
it works as intended.

What led to all of this is trying to run the lldb api tests [docs](https://lldb.llvm.org/resources/test.html#api-tests)
```
% cmake -B build -G Ninja -C ./lldb/cmake/caches/Apple-lldb-macOS.cmake -DLLVM_ENABLE_PROJECTS="clang;lldb" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" ./llvm
% ninja check-lldb
```

```
********************
UNRESOLVED: lldb-api :: commands/expression/import-std-module/vector-bool/TestVectorBoolFromStdModule.py (1006 of 2099)
******************** TEST 'lldb-api :: commands/expression/import-std-module/vector-bool/TestVectorBoolFromStdModule.py' FAILED ********************
Script:
--
/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/bin/python3.9 /Users/vsoltan/Documents/llvm-project/lldb/test/API/dotest.py -u CXXFLAGS -u CFLAGS --env OBJCOPY=/Users/vsoltan/Documents/llvm-project/build/./bin/llvm-objcopy --env LLVM_LIBS_DIR=/Users/vsoltan/Documents/llvm-project/build/./lib --env LLVM_INCLUDE_DIR=/Users/vsoltan/Documents/llvm-project/build/include --env LLVM_TOOLS_DIR=/Users/vsoltan/Documents/llvm-project/build/./bin --libcxx-include-dir /Users/vsoltan/Documents/llvm-project/build/include/c++/v1 --libcxx-library-dir /Users/vsoltan/Documents/llvm-project/build/lib --arch arm64 --build-dir /Users/vsoltan/Documents/llvm-project/build/lldb-test-build.noindex --lldb-module-cache-dir /Users/vsoltan/Documents/llvm-project/build/lldb-test-build.noindex/module-cache-lldb/lldb-api --clang-module-cache-dir /Users/vsoltan/Documents/llvm-project/build/lldb-test-build.noindex/module-cache-clang/lldb-api --executable /Users/vsoltan/Documents/llvm-project/build/./bin/lldb --compiler /Users/vsoltan/Documents/llvm-project/build/./bin/clang --dsymutil /Users/vsoltan/Documents/llvm-project/build/./bin/dsymutil --llvm-tools-dir /Users/vsoltan/Documents/llvm-project/build/./bin --lldb-obj-root /Users/vsoltan/Documents/llvm-project/build/tools/lldb --lldb-libs-dir /Users/vsoltan/Documents/llvm-project/build/./lib --framework /Users/vsoltan/Documents/llvm-project/build/bin/LLDB.framework /Users/vsoltan/Documents/llvm-project/lldb/test/API/commands/expression/import-std-module/vector-bool -p TestVectorBoolFromStdModule.py
--
Exit Code: 1

Command Output (stdout):
--
lldb version 19.0.0git (git@github.com:llvm/llvm-project.git revision 932bef23276da05c5eed2ffe7c62b7fc5f39caf1)
  clang revision 932bef23276da05c5eed2ffe7c62b7fc5f39caf1
  llvm revision 932bef23276da05c5eed2ffe7c62b7fc5f39caf1

--
Command Output (stderr):
--
No entry for terminal type "alacritty";
using dumb terminal settings.
No entry for terminal type "alacritty";
using dumb terminal settings.
Traceback (most recent call last):
  File "/Users/vsoltan/Documents/llvm-project/build/bin/LLDB.framework/Resources/Python/lldb/__init__.py", line 39, in <module>
    import _lldb
ModuleNotFoundError: No module named '_lldb'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/vsoltan/Documents/llvm-project/lldb/test/API/dotest.py", line 8, in <module>
    lldbsuite.test.run_suite()
  File "/Users/vsoltan/Documents/llvm-project/lldb/packages/Python/lldbsuite/test/dotest.py", line 949, in run_suite
    import lldb
  File "/Users/vsoltan/Documents/llvm-project/build/bin/LLDB.framework/Resources/Python/lldb/__init__.py", line 42, in <module>
    from . import _lldb
ImportError: cannot import name '_lldb' from partially initialized module 'lldb' (most likely due to a circular import) (/Users/vsoltan/Documents/llvm-project/build/bin/LLDB.framework/Resources/Python/lldb/__init__.py)
```

Similar Issues:
1. https://github.com/llvm/llvm-project/issues/87381 On Windows and debug configuration. Seems like the fix has been checked in. Similar issue (https://github.com/llvm/llvm-project/issues/51272) suggested using the Release configuration instead of Debug; I'm seeing the issue on `Release` and `ReleaseWithDebInfo`
2. https://github.com/llvm/llvm-project/issues/70453#issuecomment-2098783539 Issue for python >= 3.12, my version is 3.9.6




</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWUtv4zgS_jXMpSBBpqw4PuTgl2Y8606Cdrpn5hRQYtlmN0UKJOXE--sXpORH0tksOu6ZncUOINgyJX6sx1dVZJlZK9YK8ZpkY5JNL1jjNtpcb62WjqmLQvPd9UxthdGqQuVIOiLJlCQjcpl0V_j5gZW3S1hqpSsGvX7cj3tA6BVNZ5T2CR12k9pPmoGUvIAo2qKxQqt2PIx1I9AbxkmcrIXzMGvhSN__2DRFXOqKpCMptxWhuf-KaqO_YOli_7bBrQgAw5QWuKIpHVxylmRlhsjpaoWD8pIWg1WZrdJhyVa9g3AApWRq_Q6EbrqX5b2zj5Z53IhyA_XObbRK98N5Yw2heSEUofnzZ4eJ3fBLq96FYUjjYXz5cgqWGw2E9u9-v__59uZudP_zYcFPFo0lNO-IQGg-1WXjKWBfmN3L1QjJD_ItFtNxvDKswkdtvhKaf0SrG1Oin9mK8yqHOiYJJSomwWBt9L-jG6H95yY61dIzhuOKNdIROoEcC4AUaOKJOIFeRtJRdkXSER0ciZmNJ8H5vczTziMEMkS9LElijxpInE1BK-DMPIpOhftdjUAo3aCsCaV-AUJpqeudEeuNOxkyyIW3HQVt_IAUJSqLfmClDVTaIAi10qZiTmgVd4Kls_YCUdXauBA43dKGlViw8quXttLWc79E5aBkUoJk1nmR9wYEyIUMov7xzvUQvCA0f3gQSriHh7jedZaQQiGkQ38rFJB0UmneSPQ6dmLCXtOHo6ofwks32uW6UXxmjDYkHcGNhnY6KFYhB0IH7SQ6OGXUtDFCrWHDFJf-Rq_AbRBYobcI-FRi7Q3uRWJKuw2a4yDosmyMQX4k4nm2TyfWcaG8vicG6b1hj7-O2_r0TbetjK4gfsV78zBy8FrJlNJu_5733KnjWpiaGSeYlDvwkggmxT-R751N6GD_8t76UnxFuQPeIDgNDEphykYy061C6NC_-t8y4fBFLL-R_eYrmENjMTC0S2IglHVMStYyctUWGkKvalZ-ZWvk8CjcBkIJPi72MmF22f6VVD-qaynKgO5V-a3UHGNW14TmE61cZ5vlhhnk-V5_-12Jfi9DW9yO1HhR2U4evCxr_7dp_m3WCAfBG8AsCO8rjjw-NeGvG-ZAIg9xIWWb_IQFYcGZnU-HToNpVCBc2IGxWoBD6yyQbMx1aUk2JfRq41xtfUqjeeep2PMw1mZNaG5OPO8nxxtXSUJTVosogL1FzLJiXxGiMYSAg-gnuBHqC4NoAvExpMJb_puVm7CO5y1G_mlUee7HHc50sfj84WF2MxovZg93H29_mU3ulySdevd4b5N03EJSiKaTD6N_zB7Gn-aL6cP973czkk4_okRmXwJ9_HRzP_8w64CkKMqnJ48Ublgh2vtGPQrFPXTc5ZOjmiooVW6w_Bqd-Pe1NPCNkc64AsKnm4-z5e3i82zqU3Cwmfez96dPybqqmOLeqPhUG7Rh-0jzloyRdTzqEj7Nt1g6baJCa0lofo_WfQ4jY61lbnS1dLwt13G98wHWS5JLzzqaDIdHEpyhENzPlvf7IvBnaOELTT6aL2ZTON8Ry9KI-niMiqLvTMNT3KLUNfqkuRCFYWZHaP4sLbdJMn2WmT-3RwL_OI2HL48SsS-P31cbu6D0se1lv5sTmnMdQr_eQdTA5Lff8sXop2W47-4iVFu4Hf8yub37PcTR--pxfFIwtlWkiy8-E3fwIWYX8_HyYTr_eOYiUhSnqPObyeLTdHYmsFClbDieAt_f3i5-hLyFUBBFbUqKunUiLsx3e_eFrD7rEjoOV77tHdeQLQPPWqM1MjPlBpipLvsQReHReaA-N3g2tlix0kJxfPKSh3oRYjsKpeSPWIfQ_NkSXbQcMlYUtfuOP1uOtv49EwSfsGwcK8LG-vx4DG2dUle1kPh-dY6IbU8mirjdVY0T8gdAHqA8GbZV5LSW9izrn8SeN6wuvkRGa_duvCDR0ZwBVIrifCHbWDsUhndjvXYi-iEl5J01HKIa_kMRf1ZuZ0_CwURz9PuGZy24SSsA3DaubkLz0Tqum2fn-T3K3w3LvSVetRoa85rVbjSgcmYXzkMOTSUUk-C6ExaTrDTCudB5SMftlMb6gwpvquI4waJzQq1t_Eei_t1j-x_ssf3IneypSa_etKiHsY1wGIepplEP4WfoOw1_kJBdx-cbHnQr7ZV4Vfxhf0-Jo2wv-XCkw1-Jy383Hs9sPL7WYliKSnhB59Y2aA9x1IvheafnpIh1DY1vxBUtBM2vBulVD24V_CoU148WfE3gWDRrKLVaiXVj2q4XLBErG6wX8sRKPMGGWSgQVdshQQ7Cv9dJGZaAb9pQ3yNc1qMD6h1im_UarUMObQXwAux7Ps_EDI1XZNxns6nXgqRjmBM6qMAi7qe2omkF5DLpYMhlElQ_jvwq3GaKxVyt9MEP9BxTD5J-lhKahgG_a0LlIpoMrwZXaZYOW7eGYtie8SE0EaeQxr0QTdXusHMR9pV_B08-L_h1yofpkF3gdW_Qy4ZXySXNLjbXV5hmWTHspUlviIOsV9ICecqSFS8GWdlPLsQ1TWg_yXoD2usNkixOOCv45eqS8WzY769K0k-wYkIeWokXQZ_rIb1M0gvJCpQ2_DNNqcLH1tQ-M2TTC3MdTFM0a0v6iRTW2SOKE07i9aQNeNMo8DEEo7t52CVa763QLr9ojLx-vxOCmP8KAAD__2-S3h0">