-
-
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
Skip libraries consisting of the empty string #50899
Conversation
LGTM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not really familiar with the pass, but SGTM.
The test only fails due to #22318. |
Co-authored-by: Jameson Nash <vtjnash@gmail.com>
CI looks good, apart from macOS x86_64 which is backlogged. I'm going to go ahead and merge this already, as it's unlikely that this would cause an issue on only that platform, and without it there's many crashes on PkgEval. |
This has not fixed the PkgEval issue I mentioned, see https://s3.amazonaws.com/julialang-reports/nanosoldier/pkgeval/by_date/2023-08/15/report.html For example:
|
I can't reproduce this failure, does pkgeval have this PR? |
Yes. You can check the |
doesn't seem to have fixed this case either: julia> ccall(:test, Int, ())
julia: /home/vtjnash/julia1/src/jitlayers.cpp:1597: void JuliaOJIT::DLSymOptimizer::operator()(llvm::Module&): Assertion `cast<ConstantExpr>(libarg)->getOpcode() == Instruction::IntToPtr && "libarg should be either a global variable or a integer index!"' failed.
[2617529] signal (6.-6): Aborted
in expression starting at REPL[1]:1
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x7f3323207728)
__assert_fail at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
operator() at /home/vtjnash/julia1/src/jitlayers.cpp:1597
optimizeDLSyms at /home/vtjnash/julia1/src/jitlayers.cpp:2032 [inlined]
julia> code_llvm(()) do; ccall(:test, Int, ()); end
define i64 @"julia_#3_496"() #1 {
top:
%test1 = load atomic i64 ()*, i64 ()** bitcast (void ()** @jlplt_test_499_got to i64 ()**) unordered, align 8
%0 = call i64 %test1()
ret i64 %0
} |
Should fix #50745 (comment) and #6184 (comment), probably.