Segfault on OpaqueClosure MethodInstance registration #56833
Labels
backport 1.10
Change should be backported to the 1.10 release
backport 1.11
Change should be backported to release-1.11
bug
Indicates an unexpected problem or unintended behavior
GC
Garbage collector
Tested on 1.10 locally.
Compiling and running an opaque closure eventually calls registerJITObject
julia/src/debuginfo.cpp
Line 224 in 4976d05
This maps the JIT address to the methodinstance globally in the JIT:
julia/src/debuginfo.cpp
Line 377 in 4976d05
Later on, this will be looked up, e.g., but lookupLInfo for stacktraces.
However, it appears that the OpaqueClosure's MI is not globally rooted. Which means that it gets garbage collected. But garbage collection does not remove things from the jit registration. And thus when the stack trace mechanism tries to find it.....it segfaults
cc @vchuravy @Keno @vtjnash @gbaraldi
The text was updated successfully, but these errors were encountered: