Closed
Description
Since i think the previous nightly compiling xml-rs crashes with an internal compiler error when using more than one codegen-units. My rustc version is
rustc --version --verbose
rustc 1.15.0-nightly (43006fcea 2016-11-15)
binary: rustc
commit-hash: 43006fcea0066a935b657fff9ccef56983cbf56c
commit-date: 2016-11-15
host: x86_64-unknown-linux-gnu
release: 1.15.0-nightly
LLVM version: 3.9
Trying to compile xml-rs-0.3.4
with codegen-units = 2
results in
Running `rustc src/lib.rs --crate-name xml --crate-type lib -C codegen-units=2 -g -C metadata=e99a30aecca1ecbd --out-dir /home/linus/Dokumente/rust-zeug/xml-rs-0.3.4/target/debu
g/deps --emit=dep-info,link -L dependency=/home/linus/Dokumente/rust-zeug/xml-rs-0.3.4/target/debug/deps --extern bitflags=/home/linus/Dokumente/rust-zeug/xml-rs-0.3.4/target/debug/d
eps/libbitflags-0e272044714c8076.rlib`
error: internal compiler error: ../src/librustc_trans/callee.rs:608: expected fn item type, found [closure@src/name.rs:228:34: 228:42]
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: run with `RUST_BACKTRACE=1` for a backtrace
thread 'rustc' panicked at 'Box<Any>', ../src/librustc_errors/lib.rs:424
stack backtrace:
1: 0x7fdfeea9617a - std::sys::imp::backtrace::tracing::imp::write::h944c02ac40aee2d7
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:42
2: 0x7fdfeeaa501f - std::panicking::default_hook::{{closure}}::h6875a2976258b020
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:247
3: 0x7fdfeeaa4bbd - std::panicking::default_hook::h88ffbc5922643264
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:257
4: 0x7fdfeeaa54c7 - std::panicking::rust_panic_with_hook::ha5aed1dfc0e220e3
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:451
5: 0x7fdfe75af55a - std::panicking::begin_panic::h264cdc75d51b518b
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:413
6: 0x7fdfe75c011d - rustc_errors::Handler::bug::h620f7270292f0095
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_errors/lib.rs:424
7: 0x7fdfebe8df21 - rustc::session::opt_span_bug_fmt::{{closure}}::h4a9b70c3df8b4b3a
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/session/mod.rs:771
8: 0x7fdfebe8dd3e - rustc::session::opt_span_bug_fmt::h7d83586c6e2c7ae6
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1048
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/session/mod.rs:767
9: 0x7fdfebe8d9a2 - rustc::session::bug_fmt::he2d2f00a4afa9d1e
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/session/mod.rs:751
10: 0x7fdfee18a385 - rustc_trans::callee::get_fn::heb6f4992e525f6d0
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_trans/callee.rs:608
11: 0x7fdfee184d39 - rustc_trans::callee::Callee::trait_method::h8013a3eaf19993ae
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_trans/callee.rs:263
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_trans/callee.rs:150
12: 0x7fdfee183b4e - rustc_trans::callee::Callee::def::h3b8e0afadf9d53fa
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_trans/callee.rs:96
13: 0x7fdfee1d746f - rustc_trans::mir::block::<impl rustc_trans::mir::MirContext<'bcx, 'tcx>>::trans_block::h5297e1a9e17de5f2
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_trans/mir/block.rs:411
14: 0x7fdfee1d40a6 - rustc_trans::mir::trans_mir::h66a6eca5084c2485
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_trans/mir/mod.rs:302
15: 0x7fdfee1f3889 - rustc_trans::trans_item::TransItem::define::h88bbe0179f734cd1
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_trans/base.rs:1055
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_trans/trans_item.rs:86
16: 0x7fdfee16fe8b - rustc_trans::base::trans_crate::h6e0b0bf1b66798ce
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_trans/base.rs:1635
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/dep_graph/graph.rs:77
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_trans/base.rs:1633
17: 0x7fdfeee55571 - rustc_driver::driver::phase_4_translate_to_llvm::h48ed91c172294403
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/driver.rs:1040
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/util/common.rs:38
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/driver.rs:1038
18: 0x7fdfeee262c0 - rustc_driver::driver::compile_input::{{closure}}::hf13172fc4e5a2f4d
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/driver.rs:206
19: 0x7fdfeee43b3e - rustc_driver::driver::phase_3_run_analysis_passes::{{closure}}::h97a3a12d948df547
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/driver.rs:994
20: 0x7fdfeee3ce8d - rustc_driver::driver::phase_3_run_analysis_passes::hb0ad9de18d423e67
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1019
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/thread/local.rs:245
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1016
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1003
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/thread/local.rs:245
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1000
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:789
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/driver.rs:869
21: 0x7fdfeee24614 - rustc_driver::driver::compile_input::h8e119234b60571d5
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/driver.rs:173
22: 0x7fdfeee69b30 - rustc_driver::run_compiler::hbdfc4f84e2e0f4b9
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/lib.rs:222
23: 0x7fdfeed85858 - std::panicking::try::do_call::hf679f17bf3b43b0b
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/lib.rs:1141
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/lib.rs:138
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/lib.rs:1075
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panic.rs:295
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:356
24: 0x7fdfeeaafa0a - __rust_maybe_catch_panic
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libpanic_unwind/lib.rs:97
25: 0x7fdfeeda93e8 - <F as alloc::boxed::FnBox<A>>::call_box::h506fb5d7b8891cd4
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:332
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panic.rs:351
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/thread/mod.rs:287
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/liballoc/boxed.rs:595
26: 0x7fdfeeaa3e94 - std::sys::imp::thread::Thread::new::thread_start::h8084b1107992ae5b
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/liballoc/boxed.rs:605
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/sys_common/thread.rs:21
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/sys/unix/thread.rs:84
27: 0x7fdfe6d5b453 - start_thread
28: 0x7fdfee76b7de - __GI___clone
29: 0x0 - <unknown>
error: Could not compile `xml-rs`.
Caused by:
process didn't exit successfully: `rustc src/lib.rs --crate-name xml --crate-type lib -C codegen-units=2 -g -C metadata=e99a30aecca1ecbd --out-dir /home/linus/Dokumente/rust-zeug/xml-rs-0.3.4/target/debug/deps --emit=dep-info,link -L dependency=/home/linus/Dokumente/rust-zeug/xml-rs-0.3.4/target/debug/deps --extern bitflags=/home/linus/Dokumente/rust-zeug/xml-rs-0.3.4/target/debug/deps/libbitflags-0e272044714c8076.rlib` (exit code: 101)
codegen-units = 1
successfully compiles, and choosing a different amount results in crashes at different closures. I don't really have the time to find a minimal test case, but it seems to crash at closures in functions that are marked #[inline]
.