-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
serde_codegen fails to compile on recent nightly with -Z orbit #34119
Comments
The biggest codegen difference between -msvc and other targets is the SEH exception stuff, which may be causing this, possibly. |
@eddyb version on OS X is:
|
@alexbool Hmm, that's the same version, it shouldn't be able to compile @retep998 started a windows build of #34128, so we might find out soon, one way or another. |
@eddyb I am trying to make a minimal example now, seems that it isn't so easy |
@alexbool A backtrace or the last hundred or so lines from |
@eddyb UPD only happens on release builds. Minimal example on the way |
[package]
name = "serde-codegen-failure"
version = "0.1.0"
authors = ["Alexander Bulaev <[email protected]>"]
[dependencies]
serde = "*"
serde_macros = "*"
#![feature(custom_derive, plugin)]
#![plugin(serde_macros)]
extern crate serde;
[build]
rustflags = ["-Ctarget-cpu=native", "-Zorbit"] (removing
|
Also build options ( |
@alexbool Isn't it easier to just run |
@eddyb Yep, something like this works:
|
@alexbool Does this still happen on the latest nightly? |
@eddyb latest nightly broke aster, so nope. I will recheck when it's fixed |
Still reproduces on latest nightly and |
@alexbool Is a debugger's backtrace in this case useless? |
@eddyb What do yo mean with debugger's backtrace? |
@alexbool I mean |
|
So what should I precisely do? Launch |
@alexbool It's not about breakpoints, the debugger will automatically catch the abort. The lack of debug symbols is why I asked whether it's useless. |
OK, I try this later today |
Well, since rustc links to dylib versions of the standard library and friends, it actually means that those symbols which are exported from the dylibs can be sometimes found by the debugger when generating a backtrace. Granted proper debug symbols via PDB files are always better but nobody's decided on how to provide a debuginfo package for Rust yet. |
@alexbool Yeah, that's what I was afraid of :(. Thanks anyway, although I don't have a windows setup to figure this out on. |
Oh also oddly enough, for me this was faulting in syntex_syntax rather than serde_codegen, but this was also 64-bit rather than 32-bit which may have changed something. |
@alexcrichton That's really useful, thanks! @alexbool @alexcrichton The next step would be to get the last function from the (very verbose!) log produced by compiling with |
@eddyb It's already compiling for 20 minutes and doesn't want to end. I see you are doing quite a lot of work in the compiler 😄 |
@alexbool Most of it is just all of the passes that are being ran on all of the LLVM functions, so there's a lot of stuff, and it slows down LLVM, too, sadly. @alexcrichton mentioned on IRC a few hours ago that he started the same thing, but I haven't heard back since. |
@eddyb I may miss you on IRC, but I ran with |
@alexcrichton That's terrible, I'm sorry 😞. |
I'll try it either. |
This is my log compile.log.gz |
@alexbool Thanks! Relevant part: https://gist.github.com/eddyb/ab2e6b1604897e1033f51badb4c4b9fb. |
So it doesn't look like that function is invalid, which means that the function might have significantly changed due to the (possibly incorrect) |
@alexbool @alexcrichton Think I found the fix upstream: llvm-mirror/llvm@47bc554. |
I've added this to the "Launch MIR into Orbit" milestone, but feel free to correct me if that was in error! |
@alexbool Sounds good. What's the status of the LLVM update? |
I'm not personally actively working on it, but @brson has posted about it here and here. We may want a little bit of extra coordinate to support both emscripten and AVR, but may just want to coordinate in this thread |
@alexcrichton seems like it qualifies for milestone to me. |
Do we believe that this is platform specific? The original comment mentions that it fails on Windows 32-bit, but not Mac -- what about linux? Other versions of Windows? |
I cannot repriduce this on Linux. Did not try Windows 64 bit |
@alexbool Next nightly (~20h from now) should be fixed. Will close when we have confirmation. |
OK, I'll try |
@alexbool FWIW both @alexcrichton and me and have tried and can't reproduce on beta or nightly. |
@eddyb I can confirm that with the latest nightly it doesn't reproduce |
When I compile
serde_codegen 0.7.8
with-Z orbit
on Windows 32-bit, I get this error:Meta:
The build succeeds at least on OS X.
The text was updated successfully, but these errors were encountered: