-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Preloading problem with jemalloc on glibc ≥ 2.34 #46298
Comments
I encountered the same thing while doing something similar. It seems libgfortran is using libc's https://discourse.julialang.org/t/discussion-of-ccall-function-library/53887 http://carlsonj.blog.workingcode.com/2018/11/rtlddeepbind-has-deep-surprises.html?m=1 @staticfloat any ideas? |
Would an rr trace be helpful here? |
It might, but I believe the issue is that |
I have an rr trace:
Not sure if it's helpful though. |
Can you upload the rr trace files somewhere and share them? If this was a private code base, or if the rr trace might contain non-public information (e.g. sensitive environment variables), we can have you privately send the rr trace files to a small group of people. |
I'll send it over @DilumAluthge, thanks! |
We also tried disabling libblastrampoline's use of deepbind as suggested here |
This isn't specific to jemalloc if you were wondering. I can reproduce it with mimalloc also |
Yes, we suspected that this could happen with any preloaded library, which is part of the reason I opened the issue -- to let other folks know about it. At this point we're not very hopeful of finding a solution so I updated the detail in the title for posterity. |
While working through this I couldn't get it to work anywhere. Even on glibc 2.31 and earlier. What is the setup of where it was working. |
@kpamnany a workaround that might work is also preloading |
(sorry for the delay; we tried that and it didn't help either, fyi) |
We have been preloading jemalloc when running Julia. When we tried to upgrade GLIBC from 2.33, we found:
It looks like an
atexit()
registered function is callingfree()
inlibc
rather than in the (preloaded)jemalloc
library. I'm not sure if this has something to do withRTLD_DEEPBIND
because it looks like we've been using that flag for a while in Julia but this problem has only appeared now.The GLIBC 2.34 release notes say:
This is the likely source of the problem, but again, I'm not sure.
I'm opening this issue for 3 reasons:
The text was updated successfully, but these errors were encountered: