-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Intermittent with backtrace-debuginfo.rs #27619
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
Comments
I just tried building the master branch locally and it fails with the same error (compiling |
Looks like this was introduced in febdc3b (a5d33d8 tests successfully for me) when @arielb1 accidentally pushed to master (see https://botbot.me/mozilla/rust-internals/2015-08-09/?msg=46787325&page=2; because of the minor change the consensus was to leave the commit as is). |
I don't know how this single inline caused the breakage but it seems to be the cause of the issue (see #27619 (comment)).
I'm sorry that I didn't suggest more caution there, truly surprising breakage. Lesson learned.. everything must pass bors. |
That's quite intriguing! The one-line change seemed truly innocent to me. Any idea on how the breakage happened? |
Fixed in #27634 |
So, I have figured out what happened here (mostly) and it's pretty hilarious. For those who care here's the story... The key fact here is that there a few calls to This means that the call to Now, for some reason the added Now, the calls to Took me quite a while to figure that out. Fun fact: I basically had this figured out before, because tail merging was also the reason why I had to remove a case from that test when I turned fat pointers into immediate function arguments. Anyway, I'm going to file a PR that adds |
LLVM might perform tail merging on the calls that initiate the unwinding process which breaks debuginfo and therefore this test. Since tail merging is guaranteed to break debuginfo, it should be disabled for this test. This allows us to restore a testcase that I had to remove earlier because of the same problem, because back then I didn't realize that disabling tail merging was an option. cc rust-lang#27619
LLVM might perform tail merging on the calls that initiate the unwinding process which breaks debuginfo and therefore this test. Since tail merging is guaranteed to break debuginfo, it should be disabled for this test. This allows us to restore a testcase that I had to remove earlier because of the same problem, because back then I didn't realize that disabling tail merging was an option. cc rust-lang#27619
http://buildbot.rust-lang.org/builders/auto-linux-32-opt/builds/6036/steps/test/logs/stdio from #27617
The text was updated successfully, but these errors were encountered: