-
Notifications
You must be signed in to change notification settings - Fork 101
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
Chemfiles-v0.9.2+0
makes Julia crash on 64-bit Windows
#603
Comments
Yeah I install and run gdb with Cygwin. And then in the Cygwin prompt I effectively do
Where r stands for run and bt for backtrace. |
Compilling julia from source is going to take a long time, could you share the one you have, or is there a pre-built version of julia-debug for windows somewhere? |
Out of curiosity, why? I never compiled Julia on Windows, but on my GNU/Linux system the process is pretty straightforward and it doesn't take more than fifteen-twenty minutes for a a full compile. |
Well, last time I compiled julia from source (it was in the 0.5-0.6 era, mind you) it took 2h between LLVM and all dependencies. It might have improved since then though =) |
You don't need to build binary dependencies, BinaryBuilder-powered ones are provided by default 😉 |
That is a great improvement! I got the following backtraces with julia 1.3.0 julia-debug.exe tmp.jl
julia.exe tmp.jl
Notice the Other than that, it seems to fail when running constructors for global object, so the root cause might be that chemfiles have a few global objects containing std::string, and the ABI of libstdc++ loaded by julia do not match the ABI used to build chemfiles, somehow creating this issue. The symbols should be different for the two ABI though. |
@staticfloat with
I see a few references to |
It shouldn't but there is clearly a windows-centric C++ issue that I don't fully understand yet. |
By it shouldn't what I mean is that only |
Oh; actually, that page mentions that |
No, I don't use any What does |
Precisely. It stores them in tarballs with target triplets such as
|
Could it be that upon loading a DLL windows runs the global constructors, dynamically trying to resolve any symbols? Then if julia uses the cxx11 abi, and the DLL uses That would explain the stacktrace and why |
Ok, I've built locally Chemfiles currently on
Thus JuliaPackaging/Yggdrasil#372 looks the way to go |
For the record, it looks like
Luckily, now these situations are caught by the audit. |
Continuing from JuliaPackaging/Yggdrasil#372 and https://github.com/JuliaBinaryWrappers/Chemfiles_jll.jl/issues/1
Simply
Libdl.dlopen
inglibchemfiles.dll
forx86_64-w64-mingw32
(v0.9.2+0) makes Julia crash. Expanding C++ string ABIs seems to fix the issue.Vaguely sounds like #539, but for this issue we don't have a backtrace from
gdb
, yet.The text was updated successfully, but these errors were encountered: