Skip to content

ICE on hello_world, nightly (2023-12-04), RUSTFLAGS="-Z threads=N" with N>1 #118648

Closed
@luukvanderduim

Description

@luukvanderduim

An ICE shows up when compiling hello_world with parallel rustc.
When built with RUSTFLAGS="-Z threads=N", where N>1, triggers the ICE.

Code

fn main() {
    println!("Hello, world!");
}

Meta

What stands out on my machine may be that I am running:

Linux kubus 6.6.1-060601-generic #202311151749 SMP PREEMPT_DYNAMIC Thu Nov 16 03:15:36 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

And have in env

RUSTFLAGS=-Z threads=8
MALLOC_CONF=thp:always,metadata_thp:always

Since the backtrace mentions clone3, I tried MALLOC_CONF="" which resulted in the same ICE.
The backtrace also mentions rayon. I tried RUSTFLAGS=-Z threads=1, which results in a succesful build and suggests parallel rustc is related.

However, given how easy it is to provoke and considering I did not find other issue describes or resembling this ICE seems to indicate this may have sometihng todo with my setup.

rustc --version --verbose:

rustc 1.76.0-nightly (0e2dac837 2023-12-04)
binary: rustc
commit-hash: 0e2dac8375950a12812ec65868e42b43ed214ef9
commit-date: 2023-12-04
host: x86_64-unknown-linux-gnu
release: 1.76.0-nightly
LLVM version: 17.0.5

Error output

error: failed to run `rustc` to learn about target-specific information

Caused by:
  process didn't exit successfully: `/home/luuk/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc - --crate-name ___ --print=file-names -Z threads=8 --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=split-debuginfo --print=crate-name --print=cfg` (signal: 6, SIGABRT: process abort signal)
  --- stderr
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  stack backtrace:
  thread 'main' panicked at compiler/rustc_data_structures/src/jobserver.rs:77:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
     0:     0x7401f638b4dc - std::backtrace_rs::backtrace::libunwind::trace::hc924fd0950cd252a
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
     1:     0x7401f638b4dc - std::backtrace_rs::backtrace::trace_unsynchronized::h1f1e5099087a035d
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
     2:     0x7401f638b4dc - std::sys_common::backtrace::_print_fmt::h7f749ee0d7e60277
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/sys_common/backtrace.rs:68:5
     3:     0x7401f638b4dc - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf2a9b1c1e3c5633a
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/sys_common/backtrace.rs:44:22
     4:     0x7401f63de510 - core::fmt::rt::Argument::fmt::hf92f60b99e5f2da7
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/fmt/rt.rs:142:9
     5:     0x7401f63de510 - core::fmt::write::hb0341582c8a0c09d
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/fmt/mod.rs:1120:17
     6:     0x7401f637f33f - std::io::Write::write_fmt::he23a7ec5e369bd01
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/io/mod.rs:1810:15
     7:     0x7401f638b2c4 - std::sys_common::backtrace::_print::h3db1ae47b9c0d335
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/sys_common/backtrace.rs:47:5
     8:     0x7401f638b2c4 - std::sys_common::backtrace::print::hc8e0b8a08747ada0
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/sys_common/backtrace.rs:34:9
     9:     0x7401f638df57 - std::panicking::default_hook::{{closure}}::ha12a6f0dc62115f6
    10:     0x7401f638dcbf - std::panicking::default_hook::hec044768ea7a0274
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/panicking.rs:292:9
    11:     0x7401f90e77c0 - std[e9c47e162331f20e]::panicking::update_hook::<alloc[11e8ad260c1ef8d2]::boxed::Box<rustc_driver_impl[6b2587fa310110d0]::install_ice_hook::{closure#0}>>::{closure#0}
    12:     0x7401f638e698 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hfd92e10ec31add3b
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/alloc/src/boxed.rs:2021:9
    13:     0x7401f638e698 - std::panicking::rust_panic_with_hook::h6c1fffd1d47b6cc0
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/panicking.rs:783:13
    14:     0x7401f638e3ee - std::panicking::begin_panic_handler::{{closure}}::h1a2441dabd4c9624
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/panicking.rs:657:13
    15:     0x7401f638b9a6 - std::sys_common::backtrace::__rust_end_short_backtrace::h0e4d2982a610eadc
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/sys_common/backtrace.rs:171:18
    16:     0x7401f638e152 - rust_begin_unwind
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/panicking.rs:645:5
    17:     0x7401f63dabe5 - core::panicking::panic_fmt::h80ebc3ca0e660b44
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:72:14
    18:     0x7401f63da993 - core::panicking::panic_display::hc1273eba46318fc3
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:193:5
    19:     0x7401f63da993 - core::panicking::panic_str::h8415e29e9bd59028
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:168:5
    20:     0x7401f63da993 - core::option::expect_failed::ha84f4db2fe338f51
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/option.rs:1980:5
    21:     0x7401f90c2b1b - rustc_data_structures[1f38884b2aa8e2f3]::jobserver::acquire_thread
    22:     0x7401f8ceb102 - <rayon_core[6a99f49e6cedee96]::registry::ThreadBuilder>::run
    23:     0x7401f90e9787 - <<crossbeam_utils[8e05c4f0e6dbfeb]::thread::ScopedThreadBuilder>::spawn<<rayon_core[6a99f49e6cedee96]::ThreadPoolBuilder>::build_scoped<rustc_interface[5f0e82ab1a2c0860]::util::run_in_thread_pool_with_globals<rustc_interface[5f0e82ab1a2c0860]::interface::run_compiler<core[4c973edd1335f055]::result::Result<(), rustc_span[c81708b56071763f]::ErrorGuaranteed>, rustc_driver_impl[6b2587fa310110d0]::run_compiler::{closure#0}>::{closure#0}, core[4c973edd1335f055]::result::Result<(), rustc_span[c81708b56071763f]::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#0}, rustc_interface[5f0e82ab1a2c0860]::util::run_in_thread_pool_with_globals<rustc_interface[5f0e82ab1a2c0860]::interface::run_compiler<core[4c973edd1335f055]::result::Result<(), rustc_span[c81708b56071763f]::ErrorGuaranteed>, rustc_driver_impl[6b2587fa310110d0]::run_compiler::{closure#0}>::{closure#0}, core[4c973edd1335f055]::result::Result<(), rustc_span[c81708b56071763f]::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#1}, core[4c973edd1335f055]::result::Result<(), rustc_span[c81708b56071763f]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#0} as core[4c973edd1335f055]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
    24:     0x7401f90e2a8e - std[e9c47e162331f20e]::sys_common::backtrace::__rust_begin_short_backtrace::<alloc[11e8ad260c1ef8d2]::boxed::Box<dyn core[4c973edd1335f055]::ops::function::FnOnce<(), Output = ()> + core[4c973edd1335f055]::marker::Send>, ()>
    25:     0x7401f90e9413 - <<std[e9c47e162331f20e]::thread::Builder>::spawn_unchecked_<alloc[11e8ad260c1ef8d2]::boxed::Box<dyn core[4c973edd1335f055]::ops::function::FnOnce<(), Output = ()> + core[4c973edd1335f055]::marker::Send>, ()>::{closure#1} as core[4c973edd1335f055]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
    26:     0x7401f6398525 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::heaccc09278cb3079
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/alloc/src/boxed.rs:2007:9
    27:     0x7401f6398525 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hdd5b11305b3f7aaf
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/alloc/src/boxed.rs:2007:9
    28:     0x7401f6398525 - std::sys::unix::thread::Thread::new::thread_start::h61835ccdf8f6ff00
                                 at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/sys/unix/thread.rs:108:17
    29:     0x7401f6097ada - start_thread
                                 at ./nptl/pthread_create.c:444:8
    30:     0x7401f612847c - __GI___clone3
                                 at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
    31:                0x0 - <unknown>

(See full backtrace below)
rustc-ice-2023-12-05T16_58_40-39803.txt

Backtrace

RUST_BACKTRACE=1 cargo build
error: failed to run `rustc` to learn about target-specific information

Caused by:
  process didn't exit successfully: `/home/luuk/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc - --crate-name ___ --print=file-names -Z threads=8 --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=split-debuginfo --print=crate-name --print=cfg` (signal: 6, SIGABRT: process abort signal)
  --- stderr
  thread 'main' panicked at compiler/rustc_data_structures/src/jobserver.rs:77:33:
  jobserver check should have been called earlier
  stack backtrace:
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
  thread 'rustc' panicked at compiler/rustc_data_structures/src/jobserver.rs:73:33:
  jobserver check should have been called earlier
     0: rust_begin_unwind
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/panicking.rs:645:5
     1: core::panicking::panic_fmt
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:72:14
     2: core::panicking::panic_display
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:193:5
     3: core::panicking::panic_str
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:168:5
     4: core::option::expect_failed
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/option.rs:1980:5
     5: rustc_data_structures::jobserver::release_thread
     6: crossbeam_utils::thread::scope::<<rayon_core::ThreadPoolBuilder>::build_scoped<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#0}, rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}, core::result::Result<core::result::Result<(), rustc_span::ErrorGuaranteed>, rayon_core::ThreadPoolBuildError>>
     7: rustc_driver_impl::run_compiler
     8: rustc_driver_impl::main
     9: rustc_main::main
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

  stack backtrace:
     0: rust_begin_unwind
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/panicking.rs:645:5
     1: core::panicking::panic_fmt
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:72:14
     2: core::panicking::panic_display
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:193:5
     3: core::panicking::panic_str
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:168:5
     4: core::option::expect_failed
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/option.rs:1980:5
     5: rustc_data_structures::jobserver::acquire_thread
     6: <rayon_core::registry::ThreadBuilder>::run
     7: <<crossbeam_utils::thread::ScopedThreadBuilder>::spawn<<rayon_core::ThreadPoolBuilder>::build_scoped<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#0}, rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#0} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

  stack backtrace:
     0: rust_begin_unwind
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/panicking.rs:645:5
     1: core::panicking::panic_fmt
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:72:14
     2: core::panicking::panic_display
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:193:5
     3: core::panicking::panic_str
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:168:5
     4: core::option::expect_failed
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/option.rs:1980:5
     5: rustc_data_structures::jobserver::acquire_thread
     6: <rayon_core::registry::ThreadBuilder>::run
     7: <<crossbeam_utils::thread::ScopedThreadBuilder>::spawn<<rayon_core::ThreadPoolBuilder>::build_scoped<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#0}, rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#0} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

  stack backtrace:
     0: rust_begin_unwind
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/panicking.rs:645:5
     1: core::panicking::panic_fmt
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:72:14
     2: core::panicking::panic_display
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:193:5
     3: core::panicking::panic_str
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:168:5
     4: core::option::expect_failed
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/option.rs:1980:5
     5: rustc_data_structures::jobserver::acquire_thread
     6: <rayon_core::registry::ThreadBuilder>::run
     7: <<crossbeam_utils::thread::ScopedThreadBuilder>::spawn<<rayon_core::ThreadPoolBuilder>::build_scoped<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#0}, rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#0} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

  stack backtrace:
     0: rust_begin_unwind
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/panicking.rs:645:5
     1: core::panicking::panic_fmt
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:72:14
     2: core::panicking::panic_display
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:193:5
     3: core::panicking::panic_str
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:168:5
     4: core::option::expect_failed
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/option.rs:1980:5
     5: rustc_data_structures::jobserver::acquire_thread
     6: <rayon_core::registry::ThreadBuilder>::run
     7: <<crossbeam_utils::thread::ScopedThreadBuilder>::spawn<<rayon_core::ThreadPoolBuilder>::build_scoped<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#0}, rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#0} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

  stack backtrace:
     0: rust_begin_unwind
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/panicking.rs:645:5
     1: core::panicking::panic_fmt
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:72:14
     2: core::panicking::panic_display
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:193:5
     3: core::panicking::panic_str
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:168:5
     4: core::option::expect_failed
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/option.rs:1980:5
     5: rustc_data_structures::jobserver::acquire_thread
     6: <rayon_core::registry::ThreadBuilder>::run
     7: <<crossbeam_utils::thread::ScopedThreadBuilder>::spawn<<rayon_core::ThreadPoolBuilder>::build_scoped<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#0}, rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#0} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

  stack backtrace:
     0: rust_begin_unwind
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/panicking.rs:645:5
     1: core::panicking::panic_fmt
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:72:14
     2: core::panicking::panic_display
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:193:5
     3: core::panicking::panic_str
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:168:5
     4: core::option::expect_failed
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/option.rs:1980:5
     5: rustc_data_structures::jobserver::acquire_thread
     6: <rayon_core::registry::ThreadBuilder>::run
     7: <<crossbeam_utils::thread::ScopedThreadBuilder>::spawn<<rayon_core::ThreadPoolBuilder>::build_scoped<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#0}, rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#0} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

  stack backtrace:
     0: rust_begin_unwind
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/panicking.rs:645:5
     1: core::panicking::panic_fmt
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:72:14
     2: core::panicking::panic_display
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:193:5
     3: core::panicking::panic_str
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:168:5
     4: core::option::expect_failed
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/option.rs:1980:5
     5: rustc_data_structures::jobserver::acquire_thread
     6: <rayon_core::registry::ThreadBuilder>::run
     7: <<crossbeam_utils::thread::ScopedThreadBuilder>::spawn<<rayon_core::ThreadPoolBuilder>::build_scoped<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#0}, rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#0} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

  stack backtrace:
     0: rust_begin_unwind
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/std/src/panicking.rs:645:5
     1: core::panicking::panic_fmt
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:72:14
     2: core::panicking::panic_display
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:193:5
     3: core::panicking::panic_str
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/panicking.rs:168:5
     4: core::option::expect_failed
               at /rustc/0e2dac8375950a12812ec65868e42b43ed214ef9/library/core/src/option.rs:1980:5
     5: rustc_data_structures::jobserver::acquire_thread
     6: <rayon_core::registry::ThreadBuilder>::run
     7: <<crossbeam_utils::thread::ScopedThreadBuilder>::spawn<<rayon_core::ThreadPoolBuilder>::build_scoped<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#0}, rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#0}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#3}::{closure#0}::{closure#1}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#0} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

  error: the compiler unexpectedly panicked. this is a bug.

  error: the compiler unexpectedly panicked. this is a bug.

  note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

  note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

  note: please attach the file at `/home/luuk/code/helloworld/rustc-ice-2023-12-05T16_35_01-38823.txt` to your bug report

  note: please attach the file at `/home/luuk/code/helloworld/rustc-ice-2023-12-05T16_35_01-38823.txt` to your bug report

  note: compiler flags: -Z threads=8 --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro

  query stack during panic:
  note: compiler flags: -Z threads=8 --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro

  end of query stack
  query stack during panic:
  end of query stack
  Rayon: detected unexpected panic; aborting

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-parallel-compilerArea: parallel compilerC-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions