-
-
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
RFH (request for help): LLVM assertion #10341
Conversation
For some reason there's a dead basic block:
|
This is actually quite mysterious, because I didn't think there was ever a case where we were relying on that code path. |
Without having looked at any runs, perhaps this is related to the calling convention errors associated with invoke? (Uncomment invoke test in core.jl to observe failure) |
This problem seems to have gone away. My guess is this is due to the refactoring for #10392, since I believe the assertion failure was from the extremely-long |
3ff3656
to
0e5f09f
Compare
Hmm some random failures. @andreasnoack is this just bad luck: https://travis-ci.org/JuliaLang/julia/jobs/53271264 |
I've definitely seen that before elsewhere.
|
RFH (request for help): LLVM assertion
I'm still getting the corresponding assertion failure here when running with LLVM 3.7. Will debug. |
Ok, with my debugging setup finally working again, we have the following chain: (codegen for typeinf_uncached) -> (codegen for setindex!) -> cache_method -> typeinf -> (call typeinf_uncached) which causes the problem. |
Proposed fix: diff --git a/src/gf.c b/src/gf.c
index 8705a24..72eb11b 100644
--- a/src/gf.c
+++ b/src/gf.c
@@ -918,7 +918,9 @@ static jl_function_t *cache_method(jl_methtable_t *mt, jl_tu
}
method->linfo->specializations = spe;
gc_wb(method->linfo, method->linfo->specializations);
- jl_type_infer(newmeth->linfo, type, method->linfo);
+ if (!jl_in_inference) {
+ jl_type_infer(newmeth->linfo, type, method->linfo);
+ }
}
JL_GC_POP();
return newmeth; @JeffBezanson does that look reasonable or is there a reason it wasn't checked there before? |
|
@Keno. i think you've earned your salary for the week: that patch also seems to fix the llvm assertion failure that has made me unable to use julia-debug.exe since early January! |
This change is intended to improve type inference in cases mentioned in #10331. However it fails at the start of the tests, when trying to load a system image without a sys.so:
With sys.so, this doesn't happen. Stack trace:
I'm not sure what's going on. I could use some help debugging this (cc @vtjnash, @Keno).