-
-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linking libllvm-19 before using libllvmlite (currently requiring libllvm-15) leads to segmentation faults. #99
Comments
To provide more context: During the segfault, the libllvm-15 library calls into the libllvm-19 library:
Does this mean the symbol isolation bug is due to AddNodeIDCustom being in both libraries? |
I know pinging busy maintainers is pretty impolite but given the huge amount of noise in the conda-forge GH project and the fact that this seems to be a direct consequence of the dynamic linking in conda I'll still give it a try: |
This has been discussed at some length in #72; we used to have some segfaults with numba (through
This never happened though, and eventually the pyarrow segfaults went away, if only because arrow started using a newer llvm. In the meantime I see that other people are also running into this (#84). I still think llvmlite should switch to linking |
I opened a PR to fix the issue: #100 |
Does anyone have a simple reproducer without LD_PRELOAD? |
Sure: With:
results in segmetation fault The newest pytorch uses libllvm 20, here it only results in error:
|
And for full info: if you remove the CUDA override, it does not install a second libllvm and you have no segmentation fault, but rather just a 0.0 at the end (as expected). |
Solution to issue cannot be found in the documentation.
Issue
Disclaimer:
Part of this issue has been discussed in #72 in the scope of libllvm-14 and libllvm-15 and most of it in #84, where @bschindler estimated this might be a symbol isolation bug in libllvm. As this considers new versions and I want it discoverable, I made a new issue.
Summary:
Linking libllvm-19 before using libllvmlite (currently requiring libllvm-15) leads to segmentation faults.
As llvmlite is not linked statically to libLLVM, having both libllvm19 and libllvm15 (currently required by llvmlite) linked dynamically leads to segmentation faults with llvmlite. The impact is that you cannot install the most recent pytorch and numba together and use them without creating segmentation faults.
Reproduction
The following code produces a segmentation fault, if preloading libLLVM-19:
start it using:
You can create a new conda environment like this:
The complete environment file is here:
Installed packages
Environment info
The text was updated successfully, but these errors were encountered: