Bug 2266232 - segfaults in LLVM compiling trunk Rust crate
Summary: segfaults in LLVM compiling trunk Rust crate
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: llvm17
Version: 42
Hardware: i686
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: Tom Stellard
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-02-27 08:14 UTC by Jens Reimann
Modified: 2025-02-26 12:58 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Jens Reimann 2024-02-27 08:14:30 UTC
Compiling the `trunk` (Rust) crate on i686 segfaults in LLVM:

```
     Running `/usr/bin/rustc --crate-name trunk --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C panic=abort -C lto=fat -C codegen-units=1 -C debuginfo=2 -C metadata=d3ec747c4cc21fae -C extra-filename=-d3ec747c4cc21fae --out-dir /builddir/build/BUILD/trunk-0.18.8/target/rpm/deps -L dependency=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps --extern ansi_term=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libansi_term-c9a74fb1c5a33450.rlib --extern anyhow=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libanyhow-dd048082dae418bb.rlib --extern async_recursion=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libasync_recursion-c69e2e329310a5a4.so --extern axum=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libaxum-ac356d2aa4feb267.rlib --extern axum_server=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libaxum_server-4d9001becb5ce6f6.rlib --extern base64=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libbase64-888a08a1d17b3136.rlib --extern bytes=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libbytes-1942756fbc7ff3f5.rlib --extern cargo_lock=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libcargo_lock-3bedda8dcf2bd92e.rlib --extern cargo_metadata=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libcargo_metadata-13d0b92ddcd9dc1d.rlib --extern clap=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libclap-208af58cda91ff8e.rlib --extern console=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libconsole-be11c805d7b150ab.rlib --extern css_minify=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libcss_minify-6b9f55f91bd0178a.rlib --extern directories=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libdirectories-8da71472ea013b8f.rlib --extern dunce=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libdunce-4105c42cb1567e0a.rlib --extern envy=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libenvy-fcec93522e880756.rlib --extern flate2=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libflate2-c43669308ba55796.rlib --extern futures_util=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libfutures_util-4d4deb3e4637bb82.rlib --extern hex=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libhex-c474070b6b59f573.rlib --extern htmlescape=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libhtmlescape-061ab0d2a39d69b7.rlib --extern http_body=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libhttp_body-2d1e45a2614d06ca.rlib --extern humantime=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libhumantime-278d9379cde96194.rlib --extern humantime_serde=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libhumantime_serde-db7d2ea4d7a0a7dd.rlib --extern hyper=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libhyper-34b7f79d93066f32.rlib --extern lightningcss=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/liblightningcss-fb29360f52959467.rlib --extern local_ip_address=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/liblocal_ip_address-3113cdb67a5dff42.rlib --extern mime_guess=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libmime_guess-be195c8a943faa19.rlib --extern minify_html=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libminify_html-76ef26fd2ed499ab.rlib --extern minify_js=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libminify_js-361bcf99267f5936.rlib --extern nipper=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libnipper-879431096c30b7ee.rlib --extern notify=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libnotify-e1a4be633bd8a41d.rlib --extern notify_debouncer_full=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libnotify_debouncer_full-970b1992d2b22302.rlib --extern once_cell=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libonce_cell-7cd748c2563a78c0.rlib --extern open=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libopen-739254795e6c5ee7.rlib --extern oxipng=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/liboxipng-97b9886d7eefad2d.rlib --extern parking_lot=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libparking_lot-1f4c5b39f1a989bf.rlib --extern remove_dir_all=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libremove_dir_all-ca007ee62736d362.rlib --extern reqwest=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libreqwest-2fd2027d4a7e1435.rlib --extern seahash=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libseahash-aa4788848059bd91.rlib --extern serde=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libserde-0e3c22b8a86f10a3.rlib --extern serde_json=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libserde_json-3da9734373291be3.rlib --extern sha2=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libsha2-af789abc53e545a1.rlib --extern strum=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libstrum-6aad415c38f72078.rlib --extern tar=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtar-90b7c93a92264b36.rlib --extern thiserror=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libthiserror-bccc0d9083114dce.rlib --extern tokio=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtokio-99e61a37c268ec96.rlib --extern tokio_stream=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtokio_stream-5fd73724da08b397.rlib --extern tokio_tungstenite=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtokio_tungstenite-8606b84c9adc7236.rlib --extern toml=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtoml-0edc7c99832fdd13.rlib --extern tower_http=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtower_http-2406bf889da5a646.rlib --extern tracing=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtracing-4f8ee5d8ef85a130.rlib --extern tracing_subscriber=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtracing_subscriber-c81d2f014e955f9d.rlib --extern which=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libwhich-b5cddcb173f53f82.rlib --extern zip=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libzip-22daa20d7a6a3f37.rlib -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn -L native=/builddir/build/BUILD/trunk-0.18.8/target/rpm/build/ring-d8d3c8e8e3c88903/out -L native=/builddir/build/BUILD/trunk-0.18.8/target/rpm/build/libdeflate-sys-966c87b836b83231/out/lib -L native=/builddir/build/BUILD/trunk-0.18.8/target/rpm/build/bzip2-sys-65b4b2d68c93585b/out/lib -L native=/builddir/build/BUILD/trunk-0.18.8/target/rpm/build/zstd-sys-b01e8ba32de86af3/out`
error: rustc interrupted by SIGSEGV, printing backtrace
/usr/lib/librustc_driver-52ec46fe17a0f019.so(+0x578c47)[0xf3778c47]
linux-gate.so.1(__kernel_sigreturn+0x0)[0xf7ef25a0]
/usr/lib/libLLVM-17.so(+0xcd8b20)[0xec6d8b20]
/usr/lib/libLLVM-17.so(+0xcd87fb)[0xec6d87fb]
/usr/lib/libLLVM-17.so(_ZN4llvm15ValueHandleBase14ValueIsDeletedEPNS_5ValueE+0x121)[0xec1f71c1]
/usr/lib/libLLVM-17.so(_ZN4llvm5ValueD1Ev+0x28)[0xec1f74a8]
/usr/lib/libLLVM-17.so(_ZN4llvm12GlobalObjectD1Ev+0x44)[0xec157034]
/usr/lib/libLLVM-17.so(+0x7c1ddd)[0xec1c1ddd]
/usr/lib/libLLVM-17.so(_ZN4llvm6ModuleD1Ev+0x64)[0xec1bd634]
/usr/lib/libLLVM-17.so(_ZN4llvm15LLVMContextImplD1Ev+0xb6)[0xec1867b6]
/usr/lib/libLLVM-17.so(_ZN4llvm11LLVMContextD1Ev+0x28)[0xec184768]
/usr/lib/libLLVM-17.so(LLVMContextDispose+0x26)[0xec0b6216]
/usr/lib/librustc_driver-52ec46fe17a0f019.so(+0x7eb746)[0xf39eb746]
/usr/lib/librustc_driver-52ec46fe17a0f019.so(_RNvXs1_Cs5wJj2IwsfEc_18rustc_codegen_llvmNtB5_18LlvmCodegenBackendNtNtNtCs2Ot5weHMREJ_17rustc_codegen_ssa6traits5write19WriteBackendMethods11run_fat_lto+0x30e9)[0xf3a04809]
/usr/lib/librustc_driver-52ec46fe17a0f019.so(+0x8f257a)[0xf3af257a]
/usr/lib/librustc_driver-52ec46fe17a0f019.so(+0x8f887a)[0xf3af887a]
/usr/lib/libstd-3ea11b8b961b5e64.so(rust_metadata_std_58d9b43584c2b021+0x7fe5c)[0xf313ae5c]
/usr/lib/libc.so.6(+0x92923)[0xf2f54923]
/usr/lib/libc.so.6(+0x117d88)[0xf2fd9d88]
note: we would appreciate a report at https://github.com/rust-lang/rust
error: could not compile `trunk` (bin "trunk")
Caused by:
  process didn't exit successfully: `/usr/bin/rustc --crate-name trunk --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C panic=abort -C lto=fat -C codegen-units=1 -C debuginfo=2 -C metadata=d3ec747c4cc21fae -C extra-filename=-d3ec747c4cc21fae --out-dir /builddir/build/BUILD/trunk-0.18.8/target/rpm/deps -L dependency=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps --extern ansi_term=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libansi_term-c9a74fb1c5a33450.rlib --extern anyhow=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libanyhow-dd048082dae418bb.rlib --extern async_recursion=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libasync_recursion-c69e2e329310a5a4.so --extern axum=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libaxum-ac356d2aa4feb267.rlib --extern axum_server=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libaxum_server-4d9001becb5ce6f6.rlib --extern base64=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libbase64-888a08a1d17b3136.rlib --extern bytes=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libbytes-1942756fbc7ff3f5.rlib --extern cargo_lock=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libcargo_lock-3bedda8dcf2bd92e.rlib --extern cargo_metadata=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libcargo_metadata-13d0b92ddcd9dc1d.rlib --extern clap=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libclap-208af58cda91ff8e.rlib --extern console=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libconsole-be11c805d7b150ab.rlib --extern css_minify=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libcss_minify-6b9f55f91bd0178a.rlib --extern directories=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libdirectories-8da71472ea013b8f.rlib --extern dunce=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libdunce-4105c42cb1567e0a.rlib --extern envy=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libenvy-fcec93522e880756.rlib --extern flate2=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libflate2-c43669308ba55796.rlib --extern futures_util=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libfutures_util-4d4deb3e4637bb82.rlib --extern hex=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libhex-c474070b6b59f573.rlib --extern htmlescape=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libhtmlescape-061ab0d2a39d69b7.rlib --extern http_body=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libhttp_body-2d1e45a2614d06ca.rlib --extern humantime=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libhumantime-278d9379cde96194.rlib --extern humantime_serde=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libhumantime_serde-db7d2ea4d7a0a7dd.rlib --extern hyper=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libhyper-34b7f79d93066f32.rlib --extern lightningcss=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/liblightningcss-fb29360f52959467.rlib --extern local_ip_address=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/liblocal_ip_address-3113cdb67a5dff42.rlib --extern mime_guess=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libmime_guess-be195c8a943faa19.rlib --extern minify_html=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libminify_html-76ef26fd2ed499ab.rlib --extern minify_js=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libminify_js-361bcf99267f5936.rlib --extern nipper=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libnipper-879431096c30b7ee.rlib --extern notify=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libnotify-e1a4be633bd8a41d.rlib --extern notify_debouncer_full=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libnotify_debouncer_full-970b1992d2b22302.rlib --extern once_cell=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libonce_cell-7cd748c2563a78c0.rlib --extern open=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libopen-739254795e6c5ee7.rlib --extern oxipng=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/liboxipng-97b9886d7eefad2d.rlib --extern parking_lot=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libparking_lot-1f4c5b39f1a989bf.rlib --extern remove_dir_all=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libremove_dir_all-ca007ee62736d362.rlib --extern reqwest=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libreqwest-2fd2027d4a7e1435.rlib --extern seahash=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libseahash-aa4788848059bd91.rlib --extern serde=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libserde-0e3c22b8a86f10a3.rlib --extern serde_json=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libserde_json-3da9734373291be3.rlib --extern sha2=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libsha2-af789abc53e545a1.rlib --extern strum=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libstrum-6aad415c38f72078.rlib --extern tar=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtar-90b7c93a92264b36.rlib --extern thiserror=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libthiserror-bccc0d9083114dce.rlib --extern tokio=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtokio-99e61a37c268ec96.rlib --extern tokio_stream=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtokio_stream-5fd73724da08b397.rlib --extern tokio_tungstenite=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtokio_tungstenite-8606b84c9adc7236.rlib --extern toml=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtoml-0edc7c99832fdd13.rlib --extern tower_http=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtower_http-2406bf889da5a646.rlib --extern tracing=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtracing-4f8ee5d8ef85a130.rlib --extern tracing_subscriber=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libtracing_subscriber-c81d2f014e955f9d.rlib --extern which=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libwhich-b5cddcb173f53f82.rlib --extern zip=/builddir/build/BUILD/trunk-0.18.8/target/rpm/deps/libzip-22daa20d7a6a3f37.rlib -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn -L native=/builddir/build/BUILD/trunk-0.18.8/target/rpm/build/ring-d8d3c8e8e3c88903/out -L native=/builddir/build/BUILD/trunk-0.18.8/target/rpm/build/libdeflate-sys-966c87b836b83231/out/lib -L native=/builddir/build/BUILD/trunk-0.18.8/target/rpm/build/bzip2-sys-65b4b2d68c93585b/out/lib -L native=/builddir/build/BUILD/trunk-0.18.8/target/rpm/build/zstd-sys-b01e8ba32de86af3/out` (signal: 11, SIGSEGV: invalid memory reference)
```

Reproducible: Always

Steps to Reproduce:
1. build trunk
2. https://koji.fedoraproject.org/koji/taskinfo?taskID=113794237
3.
Actual Results:  
Segfaults during compilation

Expected Results:  
Does not segfault

All other architectures seem to work. This seems to be limited to i686.

Comment 1 Jens Reimann 2024-02-27 08:18:30 UTC
The source and SRPM can be found here: https://dentrassi.de/download/rust-trunk/

Comment 2 Jens Reimann 2024-02-27 08:20:56 UTC
Here's the upstream issue: https://github.com/rust-lang/rust/issues/121305

Comment 3 Josh Stone 2024-02-27 23:50:37 UTC
DenseMap calling llvm::allocate_buffer is throwing std::bad_alloc, and then ~LLVMContextImpl is faulting in DenseMapBase::erase().

See https://github.com/rust-lang/rust/issues/121305#issuecomment-1967910889

Comment 4 Aoife Moloney 2025-02-26 12:58:58 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle.
Changing version to 42.


Note You need to log in before you can comment on or make changes to this bug.