Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upserde_codegen fails to compile on recent nightly with -Z orbit #34119
Comments
This comment has been minimized.
This comment has been minimized.
|
The biggest codegen difference between -msvc and other targets is the SEH exception stuff, which may be causing this, possibly. |
steveklabnik
added
the
A-mir
label
Jun 6, 2016
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@eddyb version on OS X is:
|
This comment has been minimized.
This comment has been minimized.
|
@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. |
This comment has been minimized.
This comment has been minimized.
|
@eddyb I am trying to make a minimal example now, seems that it isn't so easy |
This comment has been minimized.
This comment has been minimized.
|
@alexbool A backtrace or the last hundred or so lines from |
This comment has been minimized.
This comment has been minimized.
|
@eddyb UPD only happens on release builds. Minimal example on the way |
This comment has been minimized.
This comment has been minimized.
|
[package]
name = "serde-codegen-failure"
version = "0.1.0"
authors = ["Alexander Bulaev <alexbool@yandex-team.ru>"]
[dependencies]
serde = "*"
serde_macros = "*"
#![feature(custom_derive, plugin)]
#![plugin(serde_macros)]
extern crate serde;
[build]
rustflags = ["-Ctarget-cpu=native", "-Zorbit"](removing
|
This comment has been minimized.
This comment has been minimized.
|
Also build options ( |
This comment has been minimized.
This comment has been minimized.
|
@alexbool Isn't it easier to just run |
This comment has been minimized.
This comment has been minimized.
|
@eddyb Yep, something like this works:
|
This comment has been minimized.
This comment has been minimized.
|
@alexbool Does this still happen on the latest nightly? |
This comment has been minimized.
This comment has been minimized.
|
@eddyb latest nightly broke aster, so nope. I will recheck when it's fixed |
This comment has been minimized.
This comment has been minimized.
|
Still reproduces on latest nightly and |
This comment has been minimized.
This comment has been minimized.
|
@alexbool Is a debugger's backtrace in this case useless? |
This comment has been minimized.
This comment has been minimized.
|
@eddyb What do yo mean with debugger's backtrace? |
This comment has been minimized.
This comment has been minimized.
|
@alexbool I mean |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
So what should I precisely do? Launch |
This comment has been minimized.
This comment has been minimized.
|
@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. |
This comment has been minimized.
This comment has been minimized.
|
OK, I try this later today |
This comment has been minimized.
This comment has been minimized.
|
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. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@alexbool Yeah, that's what I was afraid of :(. Thanks anyway, although I don't have a windows setup to figure this out on. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
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. |
This comment has been minimized.
This comment has been minimized.
|
@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 |
This comment has been minimized.
This comment has been minimized.
|
@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 |
This comment has been minimized.
This comment has been minimized.
|
@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. |
This comment has been minimized.
This comment has been minimized.
|
@eddyb I may miss you on IRC, but I ran with |
This comment has been minimized.
This comment has been minimized.
|
@alexcrichton That's terrible, I'm sorry |
This comment has been minimized.
This comment has been minimized.
|
I'll try it either. |
This comment has been minimized.
This comment has been minimized.
|
This is my log compile.log.gz |
This comment has been minimized.
This comment has been minimized.
|
@alexbool Thanks! Relevant part: https://gist.github.com/eddyb/ab2e6b1604897e1033f51badb4c4b9fb. |
This comment has been minimized.
This comment has been minimized.
|
So it doesn't look like that function is invalid, which means that the function might have significantly changed due to the (possibly incorrect) |
This comment has been minimized.
This comment has been minimized.
|
@alexbool @alexcrichton Think I found the fix upstream: llvm-mirror/llvm@47bc554. |
This comment has been minimized.
This comment has been minimized.
alexcrichton
referenced this issue
Jun 22, 2016
Merged
Drive trans from the output of the translation item collector #33890
alexcrichton
added this to the Launch MIR into Orbit milestone
Jun 27, 2016
This comment has been minimized.
This comment has been minimized.
|
I've added this to the "Launch MIR into Orbit" milestone, but feel free to correct me if that was in error! |
This comment has been minimized.
This comment has been minimized.
|
@alexbool Sounds good. What's the status of the LLVM update? |
This comment has been minimized.
This comment has been minimized.
|
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 |
This comment has been minimized.
This comment has been minimized.
|
@alexcrichton seems like it qualifies for milestone to me. |
This comment has been minimized.
This comment has been minimized.
|
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? |
This comment has been minimized.
This comment has been minimized.
|
I cannot repriduce this on Linux. Did not try Windows 64 bit |
This comment has been minimized.
This comment has been minimized.
|
@alexbool Next nightly (~20h from now) should be fixed. Will close when we have confirmation. |
This comment has been minimized.
This comment has been minimized.
|
OK, I'll try |
This comment has been minimized.
This comment has been minimized.
|
@alexbool FWIW both @alexcrichton and me and have tried and can't reproduce on beta or nightly. |
This comment has been minimized.
This comment has been minimized.
|
@eddyb I can confirm that with the latest nightly it doesn't reproduce |

alexbool commentedJun 6, 2016
When I compile
serde_codegen 0.7.8with-Z orbiton Windows 32-bit, I get this error:Meta:
The build succeeds at least on OS X.