FS#61490 - [rust] segfaults when building packages with lto optimization enabled

Attached to Project: Community Packages
Opened by Jörg Thalheim (Mic92) - Monday, 21 January 2019, 13:38 GMT
Last edited by Evangelos Foutras (foutrelis) - Monday, 21 January 2019, 17:55 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Johannes Löthberg (demize)
Architecture All
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

When building packages with lto enabled rustc segfault during linking.
This happens in archlinux but not for the upstream rust package
as upstream uses a different (vendored) llvm version.
The bug has been also tracked upstream, where more information can
be found: https://github.com/rust-lang/rust/issues/57801

Here is a backtrace of the failing rustc process:

https://gist.github.com/e337646429c41d93a089aaa45b8d2375


Additional info:
* package version(s): rust-1.32, llvm-7.0.1
* config and/or log files etc:
coredump backtrace
https://gist.github.com/e337646429c41d93a089aaa45b8d2375


Steps to reproduce:

$ cargo build fd-find
....
Caused by:
Could not compile `fd-find`.

Caused by:
process didn't exit successfully: `rustc --crate-name fd /root/.cargo/registry/src/github.com-1ecc6299db9ec823/fd-find-7.2.0/src/main.rs --color always --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto -C codegen-units=1 -C metadata=a3a6a7cb919634a5 -C extra-filename=-a3a6a7cb919634a5 --out-dir /tmp/cargo-installCT8S32/release/deps -L dependency=/tmp/cargo-installCT8S32/release/deps --extern ansi_term=/tmp/cargo-installCT8S32/release/deps/libansi_term-da0b45e138ff353b.rlib --extern atty=/tmp/cargo-installCT8S32/release/deps/libatty-d255fe7ee8d55655.rlib --extern clap=/tmp/cargo-installCT8S32/release/deps/libclap-f83ca700ee891f8b.rlib --extern ctrlc=/tmp/cargo-installCT8S32/release/deps/libctrlc-03b9fe7f29c143b5.rlib --extern humantime=/tmp/cargo-installCT8S32/release/deps/libhumantime-67b9f25c854b0215.rlib --extern ignore=/tmp/cargo-installCT8S32/release/deps/libignore-1259b5bca495d9c6.rlib --extern lazy_static=/tmp/cargo-installCT8S32/release/deps/liblazy_static-7deee2bf7505e8c9.rlib --extern libc=/tmp/cargo-installCT8S32/release/deps/liblibc-e3278554887eedae.rlib --extern num_cpus=/tmp/cargo-installCT8S32/release/deps/libnum_cpus-f24ed7872633de1c.rlib --extern regex=/tmp/cargo-installCT8S32/release/deps/libregex-dcae60647554bb97.rlib --extern regex_syntax=/tmp/cargo-installCT8S32/release/deps/libregex_syntax-16497b92e03853d9.rlib --cap-lints allow` (signal: 11, SIGSEGV: invalid memory reference)


This task depends upon

Closed by  Evangelos Foutras (foutrelis)
Monday, 21 January 2019, 17:55 GMT
Reason for closing:  Fixed
Additional comments about closing:  llvm-libs 7.0.1-2
Comment by Jörg Thalheim (Mic92) - Monday, 21 January 2019, 13:40 GMT
It is actually: `$ cargo install fd-find` not `$ cargo build fd-find`
Comment by Jan Alexander Steffens (heftig) - Monday, 21 January 2019, 15:30 GMT
I believe this is the same crash affecting our firefox build.

Are we missing patches to LLVM?
Comment by Jörg Thalheim (Mic92) - Monday, 21 January 2019, 17:27 GMT

Loading...