-
-
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
LLVM assertion error on release-0.6 while building docs #24855
Comments
Possibly caused by Lines 2092 to 2093 in 3835d80
This code is intended to trigger runtime UB, but according to Keno, it also triggers LLVM bugs, so on master, he replaced it with a large performance regression (https://github.com/JuliaLang/julia/blame/c1cf539c6cf6915f2870fcddbbe7aeb47a0e11ba/src/cgutils.cpp#L2214 - the comment on that line is wrong now btw). |
I can't reproduce with a stock build nor with a build with these options:
But it happens on every Travis Linux build on release-0.6. :/ |
I assume this is blocking the release of 0.6.2, so any help would be much appreciated. |
Did the release-0.6 branch get any patches applied to lllvm in the cache at some point? Maybe reset that and try again? |
I'm not sure how to do that. Do you have any pointers, @vtjnash? |
Just click the trash can icon https://travis-ci.org/JuliaLang/julia/caches |
It looks like I don't have the necessary permissions to do that. |
@ararslan should be tied to the commit bit, are you signed in on Travis? |
Ah yeah, I was getting confused by redirects. I've deleted the cache and restarted the most recent build on release-0.6, so we'll see what happens. |
Seems not to have helped: https://travis-ci.org/JuliaLang/julia/builds/309339079. Same error. |
Had a quick look with the archive @ararslan put on anubis. A better backtrace:
However, lacking EDIT: OK, managed to get a hold of the function that makes mem2reg crash (doing a manual |
MWE after bugpoint: ; ModuleID = 'bugpoint-reduced-simplified.bc'
source_filename = "bugpoint-output-59d46bf.bc"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
; Function Attrs: argmemonly nounwind
declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture writeonly, i8* nocapture readonly, i32, i32, i1) #0
define void @julia_push() {
top:
%item = alloca i8
call void @llvm.memcpy.p0i8.p0i8.i32(i8* %item, i8* %item, i32 1, i32 1, i1 false)
unreachable
}
attributes #0 = { argmemonly nounwind }
Strangely only crashes on a build from |
As expected, bisected to 820ec5f #23750. Note this is the first bad commit, and it shouldn't be part of the LLVM version as used by the So this is probably the same issue as #24173. With respect to the crash, @Keno will be able to judge whether this is a problem with the patch from #23750, or whether the MWE is invalid and cannot get generated post-#23750. |
Yeah, so that IR as illegal and we don't generate it after #23750, though as @vtjnash will point out to me, it should not crash the compiler (it may still crash your program at runtime though). In either case the release-0.6 version of LLVM should not have that patch, so that's the bug we should look at. |
closed by #24953 |
Travis is triggering an LLVM assertions on release-0.6 while building the docs: https://travis-ci.org/JuliaLang/julia/jobs/309198066
I haven't managed to reproduce that locally. cc: @ararslan
The text was updated successfully, but these errors were encountered: