-
-
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
Unexpected Illegal instruction error #46871
Comments
Smaller MWE:
leading to this error
n.b.
|
Thanks for the smaller MWE. Does it have anything to do with the DirectBasis type definition or this should definitely not happen ? |
Looks like we just forget to set Lines 2898 to 2901 in 24cb92d
|
Hi, I'm still getting a similar error on Julia 1.8.3. Pseudo MWE below. The first line is the last printout to come from Julia-land before dropping down with the Signal (4) Illegal instruction:
The code is a simple case of dispatch: function _writeG2oLine(::Pose3, io, dfg::AbstractDFG, label, i, solveKey)
println("WHAT IS GOING ON")
return nothing
end
function _writeG2oVertexes(io, dfg, varIntLabel, solveKey)
for (label,i) in pairs(varIntLabel)
vartype = getVariableType(dfg, label)
_writeG2oLine(vartype, io, dfg, label, i, solveKey)
println("NEVER SEEN")
end
return nothing
end Notice how the inner function print statement runs, but then this big error on the return nothing statement. Execution never makes it to the later EDIT: $ julia -O3
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.8.3 (2022-11-14)
_/ |\__'_|_|_|\__'_| |
|__/ |
julia> versioninfo()
Julia Version 1.8.3
Commit 0434deb161 (2022-11-14 20:14 UTC)
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 12 × Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-13.0.1 (ORCJIT, skylake)
Threads: 6 on 12 virtual cores
Environment:
JULIA_NUM_THREADS = 6 Also note Julia v1.8.3 I'm using here is freshly compiled from source. I was hoping 1.8.3 would fix the issue, but doesn't seem like it. EDIT2: this was actually quite a tiring exercise, and ended up going with the following workaround: # dispatching to a function like this does not work in Julia 1.8 in this case:
somefnc(::MyType, args...) = ...
# using workaround
fixdfnc = getfield(MyModule, Symbol(:somefnc, typeof(mytype).name.name))
fixdfnc(args...) Also, not sure if this is related, but I found another dispatch issue on Julia 1.8: when trying to add a dispatch from a downstream module, the multiple dispatch breaks down in some cases (used to work before 1.8). For example, |
Hi,
since a few days we are struggling with an "illegal instruction error" we don't understand in the DFTK.jl package. Here are the details of what happens:
versioninfo()
the bug happens in this
high_symmetry_kpath
function from DFTK. What I don't understand is that if I copy-paste inline exactly the content of this function (see this gist for the code to run), everything works fine.the stacktrace let us think in a first time that this came from Brillouin.jl but this was discussed with the devs : Illegal instruction error thchr/Brillouin.jl#21 and we ended up with the conclusion that it was rather a Julia bug.
the same behavior is observed with the nightly version of julia, whose
versioninfo()
output isAny insight on the origin of such a bug ? Thanks in advance for your help :-)
The text was updated successfully, but these errors were encountered: