Description
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