-
-
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
Internal BoundsError in the compiler (in getfield_elim_pass!) #37182
Comments
I don't have a reproducer I can share since this comes from one of our most complicated internal packages, but I can reproduce the issue in our CI and it'll run nightly using an updated nightly Julia build, so I'll be able to see if it's fixed. |
Ok without a reproducer it's going to be hard to figure out. First thing, can you comment out julia/base/compiler/ssair/driver.jl Line 128 in 304efd9
and print out julia/base/compiler/ssair/driver.jl Line 130 in 304efd9
|
Also can you revert the PR I mentioned locally or do a git bisect? I am also happy to take at private code (PM me on Slack) |
That's already commented out, do you want me to uncomment or leave it commented out? |
Sorry uncomment it :) |
Uncommenting that timeit line and building causes an error during bootstrap:
|
Here's a reproducer that has worked 3/3 times I've tried it: julia> @time using Makie
5.524067 seconds (12.24 M allocations: 839.457 MiB, 4.93% gc time)
julia> @time display(plot(rand(5)))
Internal error: encountered unexpected error in runtime:
... |
Or Bukdu |
@Keno bisect blames 435bf88, from my analysis before running bisect the CFG get's mangeled here julia/base/compiler/ssair/inlining.jl Line 575 in 6d380be
|
Another reproducer: JuliaData/DataFrames.jl#2386 (comment) (if needed) |
While working on IR, we give pending nodes SSA ids after the main body of the function, and then we drop them in place during compaction. Inlining was using thse IDs to try to determine which basic block we're currently inlining into, but for pending blocks it was looking at the raw ID rather than the insertion position, corrupting the CFG. Fixes #37555 Fixes #37182
While working on IR, we give pending nodes SSA ids after the main body of the function, and then we drop them in place during compaction. Inlining was using thse IDs to try to determine which basic block we're currently inlining into, but for pending blocks it was looking at the raw ID rather than the insertion position, corrupting the CFG. Fixes #37555 Fixes #37182
While working on IR, we give pending nodes SSA ids after the main body of the function, and then we drop them in place during compaction. Inlining was using thse IDs to try to determine which basic block we're currently inlining into, but for pending blocks it was looking at the raw ID rather than the insertion position, corrupting the CFG. Fixes #37555 Fixes #37182 (cherry picked from commit ace08d8)
Originally posted by @iamed2 in #37154 (comment), but @vchuravy believes this is a different issue
The text was updated successfully, but these errors were encountered: