-
-
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
Top-level error in Julia 1.11-beta1 LLVM_ASSERTIONS=1 build #54310
Comments
Can you reproduce on the backports-release-1.11 branch? |
I made a comment about |
FWIW, my > cat Make.user
JULIA_CPU_TARGET=native
MARCH=native
USECCACHE=1
# FORCE_ASSERTIONS=1
LLVM_ASSERTIONS=1 I reproduce on both the |
Still can't repro with julia> versioninfo()
Julia Version 1.11.0-beta1.25
Commit 6792cb45d7* (2024-04-25 12:40 UTC)
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 16 × 12th Gen Intel(R) Core(TM) i5-12600K
WORD_SIZE: 64
LLVM: libLLVM-16.0.6 (ORCJIT, alderlake)
Threads: 1 default, 0 interactive, 1 GC (on 16 virtual cores) |
Cannot repro either, neither on mac M1 nor :x86_64. |
Can you remove your LD_LIBRARY_PATH? It might be a libstdc++ issue |
I did
Same assertion failure. > LD_LIBRARY_PATH="" $HOME/Documents/languages/juliamaster/usr/bin/julia -O3 -Cnative,-prefer-256-bit -q --startup=no
Precompiling InteractiveUtils...
3 dependencies successfully precompiled in 5 seconds
Precompiling REPL...
Info Given REPL was explicitly requested, output will be shown live
Unhandled Task ERROR: IOError: stream is closed or unusable
Stacktrace:
[1] check_open
@ ./stream.jl:388 [inlined]
[2] uv_write_async(s::Base.TTY, p::Ptr{UInt8}, n::UInt64)
@ Base ./stream.jl:1099
[3] uv_write(s::Base.TTY, p::Ptr{UInt8}, n::UInt64)
@ Base ./stream.jl:1060
[4] unsafe_write(s::Base.TTY, p::Ptr{UInt8}, n::UInt64)
@ Base ./stream.jl:1145
[5] write
@ ./strings/io.jl:248 [inlined]
[6] write
@ ./io.jl:794 [inlined]
[7] (::REPL.Precompile.var"#4#10"{Task, Base.BufferStream, Base.Process, Base.TTY})()
@ REPL.Precompile ~/Documents/languages/juliamaster/usr/share/julia/stdlib/v1.11/REPL/src/precompile.jl:138
3 dependencies successfully precompiled in 49 seconds. 3 already precompiled.
1 dependency had output during precompilation:
┌ REPL
│ [Output was shown above]
└
julia> versioninfo()
Julia Version 1.11.0-beta1.25
Commit 6792cb45d7 (2024-04-25 12:40 UTC)
Platform Info:
OS: Linux (x86_64-redhat-linux)
CPU: 28 × Intel(R) Core(TM) i9-9940X CPU @ 3.30GHz
WORD_SIZE: 64
LLVM: libLLVM-16.0.6 (ORCJIT, skylake-avx512)
Threads: 28 default, 0 interactive, 14 GC (on 28 virtual cores)
Environment:
JULIA_PATH = @.
LD_LIBRARY_PATH =
JULIA_NUM_THREADS = 28
LD_UN_PATH = /usr/local/lib/x86_64-unknown-linux-gnu/:/usr/local/lib/
julia> [1, 2][3]
Expected<T> must be checked before access or destruction.
Unchecked Expected<T> contained error:
No such file or directory
[63058] signal 6 (-6): Aborted
in expression starting at none:0
unknown function (ip: 0x7f5884679144)
gsignal at /lib64/libc.so.6 (unknown line)
abort at /lib64/libc.so.6 (unknown line)
fatalUncheckedExpected at /home/chriselrod/Documents/languages/juliamaster/usr/include/llvm/Support/Error.h:707
assertIsChecked at /home/chriselrod/Documents/languages/juliamaster/usr/include/llvm/Support/Error.h:714 [inlined]
moveAssign<llvm::object::OwningBinary<llvm::object::ObjectFile> > at /home/chriselrod/Documents/languages/juliamaster/usr/include/llvm/Support/Error.h:653 [inlined]
operator= at /home/chriselrod/Documents/languages/juliamaster/usr/include/llvm/Support/Error.h:545 [inlined]
find_object_file at /home/chriselrod/Documents/languages/juliamaster/src/debuginfo.cpp:955 [inlined]
jl_dylib_DI_for_fptr at /home/chriselrod/Documents/languages/juliamaster/src/debuginfo.cpp:1134
jl_getDylibFunctionInfo at /home/chriselrod/Documents/languages/juliamaster/src/debuginfo.cpp:1174 [inlined]
jl_getFunctionInfo_impl at /home/chriselrod/Documents/languages/juliamaster/src/debuginfo.cpp:1247
ijl_lookup_code_address at /home/chriselrod/Documents/languages/juliamaster/src/stackwalk.c:589
lookup at ./stacktraces.jl:108
stacktrace at ./stacktraces.jl:164
stacktrace at ./stacktraces.jl:162 [inlined]
scrub_repl_backtrace at ./client.jl:96
jfptr_scrub_repl_backtrace_11771 at /home/chriselrod/.julia/compiled/v1.11/REPL/u0gqU_lYOjD.so (unknown line)
scrub_repl_backtrace at ./client.jl:103
jfptr_scrub_repl_backtrace_71006 at /home/chriselrod/Documents/languages/juliamaster/usr/lib/julia/sys.so (unknown line)
print_response at /home/chriselrod/Documents/languages/juliamaster/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:379
#70 at /home/chriselrod/Documents/languages/juliamaster/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:355
jfptr_YY.70_11171 at /home/chriselrod/.julia/compiled/v1.11/REPL/u0gqU_lYOjD.so (unknown line)
with_repl_linfo at /home/chriselrod/Documents/languages/juliamaster/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:640
jfptr_with_repl_linfo_11242 at /home/chriselrod/.julia/compiled/v1.11/REPL/u0gqU_lYOjD.so (unknown line)
print_response at /home/chriselrod/Documents/languages/juliamaster/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:353
do_respond at /home/chriselrod/Documents/languages/juliamaster/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:982
jfptr_do_respond_11305 at /home/chriselrod/.julia/compiled/v1.11/REPL/u0gqU_lYOjD.so (unknown line)
jl_apply at /home/chriselrod/Documents/languages/juliamaster/src/julia.h:2155 [inlined]
jl_f__call_latest at /home/chriselrod/Documents/languages/juliamaster/src/builtins.c:875
#invokelatest#2 at ./essentials.jl:1030 [inlined]
invokelatest at ./essentials.jl:1027 [inlined]
run_interface at /home/chriselrod/Documents/languages/juliamaster/usr/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2748
jfptr_run_interface_9838 at /home/chriselrod/.julia/compiled/v1.11/REPL/u0gqU_lYOjD.so (unknown line)
run_frontend at /home/chriselrod/Documents/languages/juliamaster/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1407
#75 at /home/chriselrod/Documents/languages/juliamaster/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:457
jfptr_YY.75_11212 at /home/chriselrod/.julia/compiled/v1.11/REPL/u0gqU_lYOjD.so (unknown line)
jl_apply at /home/chriselrod/Documents/languages/juliamaster/src/julia.h:2155 [inlined]
start_task at /home/chriselrod/Documents/languages/juliamaster/src/task.c:1202
Allocations: 2755189 (Pool: 2755119; Big: 70); GC: 4
fish: Job 1, 'LD_LIBRARY_PATH="" $HOME/Docume…' terminated by signal SIGABRT (Abort)
chriselrod@fedora ~/D/l/juliamaster (backports-release-1.11) [SIGABRT]> |
Any weird LD_PRELOAD ? |
No. The issue is that void assertIsChecked() const {
#if LLVM_ENABLE_ABI_BREAKING_CHECKS
if (LLVM_UNLIKELY(Unchecked))
fatalUncheckedExpected();
#endif
} fires. Within this |
But why is this only reproing for you 🤔 |
One possibility is #if !defined(NDEBUG) // Needed only with LLVM assertion build
consumeError(err.takeError());
#endif from Julia's That is, without an asserts build of Julia, So, to clarify, did you:
as I said here: |
If that configuration isn't supported, I'll look at the compilation failure (which looked like a "most vexing parse" bug, i.e. there was an |
I tried that yeah |
I can't buidl the backports-release-1.11 branch or
Can't build Julia with asserts:
|
Did you |
I got it building locally with Julia asserts and no crashes. |
or
It also shows up when running
julia --startup=no -e 'sqrt(-2)'
.I put "top-level" in the issue title, because
@testset
allows many failures (which are normally errors), and the crash only happens when the testset finishes.I don't know how testset handles this/prevents the throws from terminating program execution, but its handling prevents the crash. Only when it throws itself do we get one.
The text was updated successfully, but these errors were encountered: