Open wsmoses opened 2 months ago
Can you please provide more information about the system? CPU, operating system, etc... What are make
options? Just default configuration?
The same error occurs on my system using juliaup binaries for 1.10, 1.9, and 1.11-rc2
Just to understand, how do you reproduce the same error when you're using prebuilt binaries?
Is there an LD_LIBRARY_PATH or LD_PRELOAD by any chance that is loading something else?
yeah I think its an ld_preload setting the allocator to libtcmalloc
For future reference, this is probably related to #44242 and #48461 (which was also worked around by unsetting LD_PRELOAD
)
Please reopen if still an issue. We may want to check the existence of LD_PRELOAD and LD_LIBRARY_PATH in our build to warn users.
@ViralBShah I think this is very much still an issue. One of my users ran into this problem (with jemalloc, on a cluster I couldn't access), and it took us forever to diagnose. Some sort of warning would have saved us a lot of time.
Unfortunately for this user, just unsetting LD_PRELOAD isn't an option, because he needs to call Julia from another program that does actually need jemalloc. But knowing that earlier would have been very helpful. I'm hoping that building Julia from scratch lets him avoid the problem. 🤞
I am not sure how far you'll get with jemalloc
even with a source build: https://github.com/JuliaLang/julia/issues/46298
But reopening this issue to have a warning if LD_PRELOAD is set at build or run time.
Note that LD_PRELOAD
can also be used "safely", for example for profiling, and MPI.jl
explicitly supports that: https://github.com/JuliaParallel/MPI.jl/pull/451. So I'm a bit wary of adding a warning.
I was thinking that the message would say something along the lines of: "LD_PRELOAD has been set to $val. If you experience problems with your build or at runtime, please review".
Also note that LD_PRELOAD
is already shown by the Environment:
section in versioninfo()
, so there's some visibility already: https://github.com/JuliaLang/julia/blob/c6c449ccdb75fbd72700704ae669e1f98e512206/stdlib/InteractiveUtils/src/InteractiveUtils.jl#L171-L173
But that does not help if Julia doesn't start at all.
If Julia doesn't start at all it probably doesn't have any chance to print anything because it dies too early.
Can we not intercept the signal handler to print a brief something on the C level?
If there isn't a good option in julia perhaps juliaup could warn?
But that does not help if Julia doesn't start at all.
Fair enough, but evidently for several cases, Julia does start just fine. In the example I ran into, the error only occurred after Pkg had been loaded and started trying to curl something.
This was a build of release-1.10.
The same error occurs on my system using juliaup binaries for 1.10, 1.9, and 1.11-rc2