Description
I cannot compile my library wlc
(on crates.io) on nightlies later then 2017-03-03 anymore.
The code is not using any unstable features, if compiled with the feature "unsafe-stable" and results do not differ between "default" features (which uses optin_builtin_traits
) and the "unsafe-stable" feature (which does disable optin_builtin_traits
).
So code, that still works on stable and beta, does not compile anymore without any helpful error messages (see below).
Overview:
Working:
rustup run stable cargo build --features "unsafe-stable"
rustup run beta cargo build --features "unsafe-stable"
rustup run nightly-2017-03-03 cargo build --features "unsafe-stable"
Broken:
rustup run nightly-2017-03-04 cargo build --features "unsafe-stable"
rustup run nightly-2017-03-04 cargo build
Both abort with a stack overflow:
Compiling wlc v2.0.1 (file:///home/drakulix/Projects/tavern/wlc)
Running `rustc --crate-name wlc src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="unsafe-stable"' -C metadata=16cc333f6e306687 -C extra-filename=-16cc333f6e306687 --out-dir /home/drakulix/Projects/tavern/wlc/target/debug/deps -L dependency=/home/drakulix/Projects/tavern/wlc/target/debug/deps --extern libc=/home/drakulix/Projects/tavern/wlc/target/debug/deps/liblibc-2a4507ee5e52ea3e.rlib --extern wlc_sys=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libwlc_sys-03e3fe15a0f6e02b.rlib --extern uinput_sys=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libuinput_sys-1e8aa47014f4e364.rlib --extern lazy_static=/home/drakulix/Projects/tavern/wlc/target/debug/deps/liblazy_static-2a16fcec40d2bdf3.rlib --extern num_traits=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libnum_traits-51f88ce8f32c0283.rlib --extern bitflags=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libbitflags-88857433f6b67df9.rlib --extern log=/home/drakulix/Projects/tavern/wlc/target/debug/deps/liblog-2f7366be74992849.rlib --extern xkbcommon=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libxkbcommon-ff825cd69a6d510f.rlib`
thread 'rustc' has overflowed its stack
fatal runtime error: stack overflow
error: Could not compile `wlc`.
Caused by:
process didn't exit successfully: `rustc --crate-name wlc src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 --cfg feature="default" --cfg feature="unsafe-stable" -C metadata=16cc333f6e306687 -C extra-filename=-16cc333f6e306687 --out-dir /home/drakulix/Projects/tavern/wlc/target/debug/deps -L dependency=/home/drakulix/Projects/tavern/wlc/target/debug/deps --extern libc=/home/drakulix/Projects/tavern/wlc/target/debug/deps/liblibc-2a4507ee5e52ea3e.rlib --extern wlc_sys=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libwlc_sys-03e3fe15a0f6e02b.rlib --extern uinput_sys=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libuinput_sys-1e8aa47014f4e364.rlib --extern lazy_static=/home/drakulix/Projects/tavern/wlc/target/debug/deps/liblazy_static-2a16fcec40d2bdf3.rlib --extern num_traits=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libnum_traits-51f88ce8f32c0283.rlib --extern bitflags=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libbitflags-88857433f6b67df9.rlib --extern log=/home/drakulix/Projects/tavern/wlc/target/debug/deps/liblog-2f7366be74992849.rlib --extern xkbcommon=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libxkbcommon-ff825cd69a6d510f.rlib` (exit code: 1)
rustup run nightly-2017-03-12 cargo build --features "unsafe-stable"
rustup run nightly-2017-03-12 cargo build
Both fail without any specific error:
Compiling wlc v2.0.1 (file:///home/drakulix/Projects/tavern/wlc)
Running `rustc --crate-name wlc src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 --cfg 'feature="unsafe-stable"' --cfg 'feature="default"' -C metadata=16cc333f6e306687 -C extra-filename=-16cc333f6e306687 --out-dir /home/drakulix/Projects/tavern/wlc/target/debug/deps -L dependency=/home/drakulix/Projects/tavern/wlc/target/debug/deps --extern wlc_sys=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libwlc_sys-03e3fe15a0f6e02b.rlib --extern uinput_sys=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libuinput_sys-1e8aa47014f4e364.rlib --extern xkbcommon=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libxkbcommon-ff825cd69a6d510f.rlib --extern libc=/home/drakulix/Projects/tavern/wlc/target/debug/deps/liblibc-2a4507ee5e52ea3e.rlib --extern bitflags=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libbitflags-88857433f6b67df9.rlib --extern num_traits=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libnum_traits-51f88ce8f32c0283.rlib --extern lazy_static=/home/drakulix/Projects/tavern/wlc/target/debug/deps/liblazy_static-2a16fcec40d2bdf3.rlib --extern log=/home/drakulix/Projects/tavern/wlc/target/debug/deps/liblog-2f7366be74992849.rlib`
error: Could not compile `wlc`.
Caused by:
process didn't exit successfully: `rustc --crate-name wlc src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 --cfg feature="unsafe-stable" --cfg feature="default" -C metadata=16cc333f6e306687 -C extra-filename=-16cc333f6e306687 --out-dir /home/drakulix/Projects/tavern/wlc/target/debug/deps -L dependency=/home/drakulix/Projects/tavern/wlc/target/debug/deps --extern wlc_sys=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libwlc_sys-03e3fe15a0f6e02b.rlib --extern uinput_sys=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libuinput_sys-1e8aa47014f4e364.rlib --extern xkbcommon=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libxkbcommon-ff825cd69a6d510f.rlib --extern libc=/home/drakulix/Projects/tavern/wlc/target/debug/deps/liblibc-2a4507ee5e52ea3e.rlib --extern bitflags=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libbitflags-88857433f6b67df9.rlib --extern num_traits=/home/drakulix/Projects/tavern/wlc/target/debug/deps/libnum_traits-51f88ce8f32c0283.rlib --extern lazy_static=/home/drakulix/Projects/tavern/wlc/target/debug/deps/liblazy_static-2a16fcec40d2bdf3.rlib --extern log=/home/drakulix/Projects/tavern/wlc/target/debug/deps/liblog-2f7366be74992849.rlib` (exit code: 1)
I have no idea, where I should start to debug this. Reproducing this error is also quite annoying to setup, as the library depends on a bunch of native libraries not available in most repositories. So I am thankful for any hints about how I could provide more information.
All tests where done after running cargo clean
.
Meta
rustc --version --verbose
:
rustc 1.17.0-nightly (824c9ebbd 2017-03-12)
binary: rustc
commit-hash: 824c9ebbd5f0611e326648d90ee3e50caf04bb7f
commit-date: 2017-03-12
host: x86_64-unknown-linux-gnu
release: 1.17.0-nightly
LLVM version: 3.9