-
-
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
Problem with _reformat_bt
?
#32678
Comments
Hi, However I can't see where to start from the above comment. Could you give me more info on how to start working on this please? Thanks |
Welcome! I'm not sure how good of a first issue this actually is. The problem is here: Lines 67 to 69 in 7615d4c
Apparently under some conditions this will throw a bounds error. It's particularly hard for a new contributor as we don't have a minimal example that causes the error — it's something that the code coverage bot is doing that is causing it. So you're welcome to try and figure out if there are some cases where that'll try to index into an empty array at index 1… but it's pretty gnarly code. In fact, it's probably the caller of |
When different modules export same methods. Using sysimage compiled with Makie and Interact shows:
|
Looks like error is thrown at any ambiguous input (using sysimage compiled with Makie and Interact):
|
I found a reliable (on my system at least) way to trigger this. Apply: diff --git a/base/error.jl b/base/error.jl
index c0a37ed..b651ca6 100644
--- a/base/error.jl
+++ b/base/error.jl
@@ -108,7 +108,7 @@ function catch_backtrace()
bt = Ref{Any}(nothing)
bt2 = Ref{Any}(nothing)
ccall(:jl_get_backtrace, Cvoid, (Ref{Any}, Ref{Any}), bt, bt2)
- return _reformat_bt(bt[], bt2[])
+ return _reformat_bt(bt[]::Vector{Ptr{Cvoid}}, bt2[]::Vector{Any})
end So all that does is add correct type annotations. When I build, I get the error in the OP during generate_precompile. Even better, you can start julia with
I suspect this might be a codegen or possibly LLVM bug. |
Digging in a bit with rr, it looks like error.jl:73:
is comparing to 0 instead of to -1:
I believe that |
Oh right, of course: this is because we serialize pointers as NULL... |
Also change `jl_get_backtrace` to return a pair of values instead of mutating.
Also change `jl_get_backtrace` to return a pair of values instead of mutating.
test failure appears on https://build.julialang.org/#/builders/76/builds/449/steps/8/logs/stdio, inhibiting fixing the buildbot CI since we can't see the real error:
The text was updated successfully, but these errors were encountered: