Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICE: parallel compiler: deadlock detected #111521

Closed
Tracked by #113349
matthiaskrgr opened this issue May 13, 2023 · 6 comments
Closed
Tracked by #113349

ICE: parallel compiler: deadlock detected #111521

matthiaskrgr opened this issue May 13, 2023 · 6 comments
Labels
A-const-generics Area: const generics (parameters and arguments) C-bug Category: This is a bug. F-generic_const_exprs `#![feature(generic_const_exprs)]` I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-compiler-parallel Working group: Parallelizing the compiler

Comments

@matthiaskrgr
Copy link
Member

Code

you need parallel compiler config to reproduce this!
rustc -Zthreads=300 file.rs

#![feature(generic_const_exprs)]

trait TensorDimension {
    const DIM: usize;
    const ISSCALAR: bool = Self::DIM == 0;
    fn is_scalar(&self) -> bool {
        Self::ISSCALAR
    }
}

trait TensorSize: TensorDimension {
    fn size(&self) -> [usize; Self::DIM];
    fn inbounds(&self, index: [usize; Self::DIM]) -> bool {
        index.iter().zip(self.size().iter()).all(|(i, s)| i < s)
    }
}

trait Broadcastable: TensorSize + Sized {
    type Element;
    fn bget(&self, index: [usize; Self::DIM]) -> Option<Self::Element>;
    fn lazy_updim<const NEWDIM: usize>(
        &self,
        size: [usize; NEWDIM],
    ) -> LazyUpdim<Self, { Self::DIM }, NEWDIM> {
        assert!(
            NEWDIM >= Self::DIM,
            "Updimmed tensor cannot have fewer indices than the initial one."
        ); // const generic bounds on nightly. ( )
        LazyUpdim {
            size,
            reference: &self,
        }
    }
    fn bmap<T, F: Fn(Self::Element) -> T>(&self, foo: F) -> BMap<T, Self, F, { Self::DIM }> {
        BMap {
            reference: self,
            closure: foo,
        }
    }
}

struct LazyUpdim<'a, T: Broadcastable, const OLDDIM: usize, const DIM: usize> {
    size: [usize; DIM],
    reference: &'a T,
}

impl<'a, T: Broadcastable, const DIM: usize> TensorDimension for LazyUpdim<'a, T, { T::DIM }, DIM> {
    const DIM: usize = DIM;
}
impl<'a, T: Broadcastable, const DIM: usize> TensorSize for LazyUpdim<'a, T, { T::DIM }, DIM> {
    fn size(&self) -> [usize; DIM] {
        self.size
    }
}
impl<'a, T: Broadcastable, const DIM: usize> Broadcastable for LazyUpdim<'a, T, { T::DIM }, DIM> {
    type Element = T::Element;
    fn bget(&self, index: [usize; DIM]) -> Option<Self::Element> {
        assert!(DIM >= T::DIM);
        if !self.inbounds(index) {
            return None;
        }
        let size = self.size();
        let newindex: [usize; T::DIM] = Default::default(); //array_init::array_init(|i| if size[i] > 1 {index[i]} else {0});
        self.reference.bget(newindex)
    }
}

struct BMap<'a, R, T: Broadcastable, F: Fn(T::Element) -> R, const DIM: usize> {
    reference: &'a T,
    closure: F,
}

impl<'a, R, T: Broadcastable, F: Fn(T::Element) -> R, const DIM: usize> TensorDimension
    for BMap<'a, R, T, F, DIM>
{
    const DIM: usize = DIM;
}
impl<'a, R, T: Broadcastable, F: Fn(T::Element) -> R, const DIM: usize> TensorSize
    for BMap<'a, R, T, F, DIM>
{
    fn size(&self) -> [usize; DIM] {
        self.reference.size()
    }
}
impl<'a, R, T: Broadcastable, F: Fn(T::Element) -> R, const DIM: usize> Broadcastable
    for BMap<'a, R, T, F, DIM>
{
    type Element = R;
    fn bget(&self, index: [usize; DIM]) -> Option<Self::Element> {
        self.reference.bget(index).map(&self.closure)
    }
}

impl<T> TensorDimension for Vec<T> {
    const DIM: usize = 1;
}
impl<T> TensorSize for Vec<T> {
    fn size(&self) -> [usize; 1] {
        [self.len()]
    }
}
impl<T: Clone> Broadcastable for Vec<T> {
    type Element = T;
    fn bget(&self, index: [usize; 1]) -> Option<T> {
        self.get(index[0]).cloned()
    }
}

fn main() {
    let v = vec![1, 2, 3];
    let bv = v.lazy_updim([3, 4]);
    let bbv = bv.bmap(|x| x * x);

    println!(
        "The size of v is {:?}",
        bbv.bget([0, 2]).expect("Out of bounds.")
    );
}

Meta

rustc --version --verbose:

4a59ba4d54a3ec0d8ea1e82b7eeb5c8b0162de04

Error output

<output>
Backtrace

warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
 --> /home/matthias/vcs/github/glacier2/fixed/83765.rs:1:12
  |
1 | #![feature(generic_const_exprs)]
  |            ^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
  = note: `#[warn(incomplete_features)]` on by default

thread '<unnamed>' panicked at 'assertion failed: found_cycle', /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/job.rs:556:5
stack backtrace:
   0:     0x7f76a530abf6 - std::backtrace_rs::backtrace::libunwind::trace::h74804ffdd8fa53e7
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f76a530abf6 - std::backtrace_rs::backtrace::trace_unsynchronized::h7428ab2b67b36e0c
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f76a530abf6 - std::sys_common::backtrace::_print_fmt::h8de225fa5d864a16
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f76a530abf6 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf186862c319ab6b0
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f76a53af698 - core::fmt::rt::Argument::fmt::h6eb98e918eb80ebd
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/fmt/rt.rs:138:9
   5:     0x7f76a53af698 - core::fmt::write::hfa7c5695b2a1784c
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/fmt/mod.rs:1094:21
   6:     0x7f76a53151bf - std::io::Write::write_fmt::h8780fc8b700f7b89
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/io/mod.rs:1712:15
   7:     0x7f76a530a9f5 - std::sys_common::backtrace::_print::h4ce540e460b36e22
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7f76a530a9f5 - std::sys_common::backtrace::print::h6954c2242c47d1db
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7f76a532bebc - std::panicking::default_hook::{{closure}}::h7efa3c73d7318a2f
  10:     0x7f76a532bb92 - std::panicking::default_hook::h478ef42d51f84426
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:288:9
  11:     0x7f76a7cfe63b - <alloc[32b43e9536c01a3]::boxed::Box<dyn for<'a, 'b> core[c5d5d662f7508502]::ops::function::Fn<(&'a core[c5d5d662f7508502]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[c5d5d662f7508502]::marker::Send + core[c5d5d662f7508502]::marker::Sync> as core[c5d5d662f7508502]::ops::function::Fn<(&core[c5d5d662f7508502]::panic::panic_info::PanicInfo,)>>::call
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:1999:9
  12:     0x7f76a7cfe63b - rustc_driver_impl[fa47bdc6a12b5fac]::install_ice_hook::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver_impl/src/lib.rs:1258:13
  13:     0x7f76a532c75a - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hfea6944ca11513b1
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:1999:9
  14:     0x7f76a532c75a - std::panicking::rust_panic_with_hook::h3d7c73761f67633f
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:695:13
  15:     0x7f76a530baa1 - std::panicking::begin_panic_handler::{{closure}}::h0004dd01860b01c3
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:580:13
  16:     0x7f76a530acd6 - std::sys_common::backtrace::__rust_end_short_backtrace::hccbfe31830e0f553
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:150:18
  17:     0x7f76a532c2c2 - rust_begin_unwind
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:578:5
  18:     0x7f76a53cb363 - core::panicking::panic_fmt::h98b1dd38c1edb68b
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:67:14
  19:     0x7f76a53cb3f5 - core::panicking::panic::he5f7c6779e1d5164
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:117:5
  20:     0x7f76a7cce4d4 - rustc_query_system[8ee2d68ce6f1a061]::query::job::deadlock::<rustc_middle[d62e0ab363fca640]::dep_graph::dep_node::DepKind>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/job.rs:556:5
  21:     0x7f76a7d44fad - rustc_interface[f00717bbd5e2d5b3]::util::run_in_thread_pool_with_globals::<rustc_interface[f00717bbd5e2d5b3]::interface::run_compiler<core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>, rustc_driver_impl[fa47bdc6a12b5fac]::run_compiler::{closure#1}>::{closure#0}, core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>>::{closure#1}::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/util.rs:191:35
  22:     0x7f76a7d44fad - std[68c29493de10bea]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[f00717bbd5e2d5b3]::util::run_in_thread_pool_with_globals<rustc_interface[f00717bbd5e2d5b3]::interface::run_compiler<core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>, rustc_driver_impl[fa47bdc6a12b5fac]::run_compiler::{closure#1}>::{closure#0}, core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>>::{closure#1}::{closure#1}, ()>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:134:18
  23:     0x7f76a7cee5c3 - <std[68c29493de10bea]::thread::Builder>::spawn_unchecked_::<rustc_interface[f00717bbd5e2d5b3]::util::run_in_thread_pool_with_globals<rustc_interface[f00717bbd5e2d5b3]::interface::run_compiler<core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>, rustc_driver_impl[fa47bdc6a12b5fac]::run_compiler::{closure#1}>::{closure#0}, core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>>::{closure#1}::{closure#1}, ()>::{closure#1}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/mod.rs:529:17
  24:     0x7f76a7cee5c3 - <core[c5d5d662f7508502]::panic::unwind_safe::AssertUnwindSafe<<std[68c29493de10bea]::thread::Builder>::spawn_unchecked_<rustc_interface[f00717bbd5e2d5b3]::util::run_in_thread_pool_with_globals<rustc_interface[f00717bbd5e2d5b3]::interface::run_compiler<core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>, rustc_driver_impl[fa47bdc6a12b5fac]::run_compiler::{closure#1}>::{closure#0}, core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>>::{closure#1}::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5d5d662f7508502]::ops::function::FnOnce<()>>::call_once
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panic/unwind_safe.rs:271:9
  25:     0x7f76a7cee5c3 - std[68c29493de10bea]::panicking::try::do_call::<core[c5d5d662f7508502]::panic::unwind_safe::AssertUnwindSafe<<std[68c29493de10bea]::thread::Builder>::spawn_unchecked_<rustc_interface[f00717bbd5e2d5b3]::util::run_in_thread_pool_with_globals<rustc_interface[f00717bbd5e2d5b3]::interface::run_compiler<core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>, rustc_driver_impl[fa47bdc6a12b5fac]::run_compiler::{closure#1}>::{closure#0}, core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>>::{closure#1}::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:485:40
  26:     0x7f76a7cee5c3 - std[68c29493de10bea]::panicking::try::<(), core[c5d5d662f7508502]::panic::unwind_safe::AssertUnwindSafe<<std[68c29493de10bea]::thread::Builder>::spawn_unchecked_<rustc_interface[f00717bbd5e2d5b3]::util::run_in_thread_pool_with_globals<rustc_interface[f00717bbd5e2d5b3]::interface::run_compiler<core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>, rustc_driver_impl[fa47bdc6a12b5fac]::run_compiler::{closure#1}>::{closure#0}, core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>>::{closure#1}::{closure#1}, ()>::{closure#1}::{closure#0}>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:449:19
  27:     0x7f76a7cee5c3 - std[68c29493de10bea]::panic::catch_unwind::<core[c5d5d662f7508502]::panic::unwind_safe::AssertUnwindSafe<<std[68c29493de10bea]::thread::Builder>::spawn_unchecked_<rustc_interface[f00717bbd5e2d5b3]::util::run_in_thread_pool_with_globals<rustc_interface[f00717bbd5e2d5b3]::interface::run_compiler<core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>, rustc_driver_impl[fa47bdc6a12b5fac]::run_compiler::{closure#1}>::{closure#0}, core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>>::{closure#1}::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panic.rs:140:14
  28:     0x7f76a7cee5c3 - <std[68c29493de10bea]::thread::Builder>::spawn_unchecked_::<rustc_interface[f00717bbd5e2d5b3]::util::run_in_thread_pool_with_globals<rustc_interface[f00717bbd5e2d5b3]::interface::run_compiler<core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>, rustc_driver_impl[fa47bdc6a12b5fac]::run_compiler::{closure#1}>::{closure#0}, core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>>::{closure#1}::{closure#1}, ()>::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/mod.rs:528:30
  29:     0x7f76a7cee5c3 - <<std[68c29493de10bea]::thread::Builder>::spawn_unchecked_<rustc_interface[f00717bbd5e2d5b3]::util::run_in_thread_pool_with_globals<rustc_interface[f00717bbd5e2d5b3]::interface::run_compiler<core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>, rustc_driver_impl[fa47bdc6a12b5fac]::run_compiler::{closure#1}>::{closure#0}, core[c5d5d662f7508502]::result::Result<(), rustc_span[9849ed9ca8d6c267]::ErrorGuaranteed>>::{closure#1}::{closure#1}, ()>::{closure#1} as core[c5d5d662f7508502]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/ops/function.rs:250:5
  30:     0x7f76a531d69a - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h59b61553bfddebc8
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:1985:9
  31:     0x7f76a531d69a - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h0ce3d7a7bade6491
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:1985:9
  32:     0x7f76a5303b15 - std::sys::unix::thread::Thread::new::thread_start::h6e446945f062d041
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys/unix/thread.rs:108:17
  33:     0x7f76a50a6bb5 - <unknown>
  34:     0x7f76a5128d90 - <unknown>
  35:                0x0 - <unknown>

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: rustc 1.71.0-dev running on x86_64-unknown-linux-gnu

note: compiler flags: -Z threads=300

query stack during panic:
end of query stack
deadlock handler panicked, aborting process
[1]    1559687 IOT instruction  ~/.rustup/toolchains/local-debug-assertions/bin/rustc -Zthreads=300

@matthiaskrgr matthiaskrgr added I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. C-bug Category: This is a bug. WG-compiler-parallel Working group: Parallelizing the compiler labels May 13, 2023
@BoxyUwU BoxyUwU added A-const-generics Area: const generics (parameters and arguments) F-generic_const_exprs `#![feature(generic_const_exprs)]` labels May 13, 2023
@Zoxc
Copy link
Contributor

Zoxc commented Aug 25, 2023

I wasn't able to reproduce this locally. What OS and CPU did you use?

@matthiaskrgr
Copy link
Member Author

AMD Ryzen 7 PRO 5850U, manjaro.

@matthiaskrgr
Copy link
Member Author

tried again on top of a8b905c
-Zthreads=100 no crash

500 threads:

warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
 --> query.rs:1:12
  |
1 | #![feature(generic_const_exprs)]
  |            ^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
  = note: `#[warn(incomplete_features)]` on by default

thread 'rustc' panicked at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:111:50:
no ImplicitCtxt stored in tls
stack backtrace:
   0:     0x7fb079542521 - std::backtrace_rs::backtrace::libunwind::trace::h818fd7fcd2897c6b
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7fb079542521 - std::backtrace_rs::backtrace::trace_unsynchronized::hf2d8941579cdb3be
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fb079542521 - std::sys_common::backtrace::_print_fmt::he4a494b921534d89
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x7fb079542521 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5a3fdc94d861e4aa
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fb0795b5107 - core::fmt::rt::Argument::fmt::h4a90583b766ae427
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/fmt/rt.rs:138:9
   5:     0x7fb0795b5107 - core::fmt::write::h6089469c4b40ae1f
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/fmt/mod.rs:1094:21
   6:     0x7fb07951fc05 - std::io::Write::write_fmt::h897693c3d30f01da
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/io/mod.rs:1714:15
   7:     0x7fb0795422f4 - std::sys_common::backtrace::_print::hb4dbec298bba652d
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7fb0795422f4 - std::sys_common::backtrace::print::h9ddc492b2d8467df
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7fb07954e52f - std::panicking::panic_hook_with_disk_dump::{{closure}}::h940f867d76beae55
  10:     0x7fb07954e17b - std::panicking::panic_hook_with_disk_dump::h5e02febb31a69553
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:312:9
  11:     0x7fb07c272e50 - rustc_driver_impl[4568f96111937b4e]::install_ice_hook::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver_impl/src/lib.rs:1335:13
  12:     0x7fb07954ee78 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h05114cf4e5ed0f4a
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2021:9
  13:     0x7fb07954ee78 - std::panicking::rust_panic_with_hook::h40904d4b98be6c90
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:733:13
  14:     0x7fb0795429c7 - std::panicking::begin_panic_handler::{{closure}}::h0b4db4639685b376
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:621:13
  15:     0x7fb0795427b6 - std::sys_common::backtrace::__rust_end_short_backtrace::hcbd9c82d981610ed
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:170:18
  16:     0x7fb07954e9e2 - rust_begin_unwind
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:617:5
  17:     0x7fb0795d8093 - core::panicking::panic_fmt::h6c5efd4701442ee1
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:67:14
  18:     0x7fb0795ca643 - core::panicking::panic_display::h0f2d417e65e65824
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:150:5
  19:     0x7fb0795ca643 - core::panicking::panic_str::hd0db241aef08908a
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:134:5
  20:     0x7fb0795ca643 - core::option::expect_failed::h03990d99f8383cfa
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/option.rs:1988:5
  21:     0x7fb07c29bb1e - <core[eb9f5097525910b2]::option::Option<&rustc_middle[fea86db987f6b164]::ty::context::tls::ImplicitCtxt>>::expect
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/option.rs:898:21
  22:     0x7fb07c29bb1e - rustc_middle[fea86db987f6b164]::ty::context::tls::with_context::<rustc_middle[fea86db987f6b164]::ty::context::tls::with<rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#1}::{closure#0}, std[81a1ea1164486f60]::collections::hash::map::HashMap<rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobId, rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobInfo<rustc_middle[fea86db987f6b164]::dep_graph::dep_node::DepKind>, core[eb9f5097525910b2]::hash::BuildHasherDefault<rustc_hash[35e421d9c6bcb220]::FxHasher>>>::{closure#0}, std[81a1ea1164486f60]::collections::hash::map::HashMap<rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobId, rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobInfo<rustc_middle[fea86db987f6b164]::dep_graph::dep_node::DepKind>, core[eb9f5097525910b2]::hash::BuildHasherDefault<rustc_hash[35e421d9c6bcb220]::FxHasher>>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:111:50
  23:     0x7fb07c29bb1e - rustc_middle[fea86db987f6b164]::ty::context::tls::with_context_opt::<rustc_middle[fea86db987f6b164]::ty::context::tls::with_context<rustc_middle[fea86db987f6b164]::ty::context::tls::with<rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#1}::{closure#0}, std[81a1ea1164486f60]::collections::hash::map::HashMap<rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobId, rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobInfo<rustc_middle[fea86db987f6b164]::dep_graph::dep_node::DepKind>, core[eb9f5097525910b2]::hash::BuildHasherDefault<rustc_hash[35e421d9c6bcb220]::FxHasher>>>::{closure#0}, std[81a1ea1164486f60]::collections::hash::map::HashMap<rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobId, rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobInfo<rustc_middle[fea86db987f6b164]::dep_graph::dep_node::DepKind>, core[eb9f5097525910b2]::hash::BuildHasherDefault<rustc_hash[35e421d9c6bcb220]::FxHasher>>>::{closure#0}, std[81a1ea1164486f60]::collections::hash::map::HashMap<rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobId, rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobInfo<rustc_middle[fea86db987f6b164]::dep_graph::dep_node::DepKind>, core[eb9f5097525910b2]::hash::BuildHasherDefault<rustc_hash[35e421d9c6bcb220]::FxHasher>>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:94:9
  24:     0x7fb07c29bb1e - rustc_middle[fea86db987f6b164]::ty::context::tls::with_context::<rustc_middle[fea86db987f6b164]::ty::context::tls::with<rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#1}::{closure#0}, std[81a1ea1164486f60]::collections::hash::map::HashMap<rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobId, rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobInfo<rustc_middle[fea86db987f6b164]::dep_graph::dep_node::DepKind>, core[eb9f5097525910b2]::hash::BuildHasherDefault<rustc_hash[35e421d9c6bcb220]::FxHasher>>>::{closure#0}, std[81a1ea1164486f60]::collections::hash::map::HashMap<rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobId, rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobInfo<rustc_middle[fea86db987f6b164]::dep_graph::dep_node::DepKind>, core[eb9f5097525910b2]::hash::BuildHasherDefault<rustc_hash[35e421d9c6bcb220]::FxHasher>>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:111:5
  25:     0x7fb07c29bb1e - rustc_middle[fea86db987f6b164]::ty::context::tls::with::<rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#1}::{closure#0}, std[81a1ea1164486f60]::collections::hash::map::HashMap<rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobId, rustc_query_system[ca0fea7cc8dea863]::query::job::QueryJobInfo<rustc_middle[fea86db987f6b164]::dep_graph::dep_node::DepKind>, core[eb9f5097525910b2]::hash::BuildHasherDefault<rustc_hash[35e421d9c6bcb220]::FxHasher>>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:144:5
  26:     0x7fb07c29bb1e - rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals::<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/util.rs:194:29
  27:     0x7fb07b41b5f3 - <alloc[1e1169ea88a5754b]::boxed::Box<dyn core[eb9f5097525910b2]::ops::function::Fn<(), Output = ()> + core[eb9f5097525910b2]::marker::Sync + core[eb9f5097525910b2]::marker::Send> as core[eb9f5097525910b2]::ops::function::Fn<()>>::call
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2021:9
  28:     0x7fb07b41b5f3 - <rayon_core[866e6d114bbe24dc]::sleep::SleepData>::deadlock_check
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustc-rayon-core-0.5.0/src/sleep/mod.rs:37:13
  29:     0x7fb07b41b5f3 - <rayon_core[866e6d114bbe24dc]::sleep::Sleep>::sleep
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustc-rayon-core-0.5.0/src/sleep/mod.rs:273:17
  30:     0x7fb07b4097e1 - <rayon_core[866e6d114bbe24dc]::sleep::Sleep>::no_work_found
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustc-rayon-core-0.5.0/src/sleep/mod.rs:178:13
  31:     0x7fb07b4097e1 - <rayon_core[866e6d114bbe24dc]::registry::WorkerThread>::wait_until_cold
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustc-rayon-core-0.5.0/src/registry.rs:865:17
  32:     0x7fb07b406947 - <rayon_core[866e6d114bbe24dc]::registry::WorkerThread>::wait_until::<rayon_core[866e6d114bbe24dc]::latch::CountLatch>
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustc-rayon-core-0.5.0/src/registry.rs:845:13
  33:     0x7fb07b406947 - rayon_core[866e6d114bbe24dc]::registry::main_loop
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustc-rayon-core-0.5.0/src/registry.rs:991:5
  34:     0x7fb07b406947 - <rayon_core[866e6d114bbe24dc]::registry::ThreadBuilder>::run
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustc-rayon-core-0.5.0/src/registry.rs:55:18
  35:     0x7fb07c29becc - rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals::<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#2}::{closure#0}::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/util.rs:219:82
  36:     0x7fb07c29becc - <scoped_tls[f1946ba771c70e9e]::ScopedKey<rustc_span[5060e7939b3129d]::SessionGlobals>>::set::<rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#2}::{closure#0}::{closure#0}::{closure#0}, ()>
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/scoped-tls-1.0.1/src/lib.rs:137:9
  37:     0x7fb07c29becc - rustc_span[5060e7939b3129d]::set_session_globals_then::<(), rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#2}::{closure#0}::{closure#0}::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_span/src/lib.rs:131:5
  38:     0x7fb07c29becc - rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals::<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#2}::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/util.rs:219:25
  39:     0x7fb07c29becc - <rayon_core[866e6d114bbe24dc]::ThreadPoolBuilder>::build_scoped::<rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#2}::{closure#0}::{closure#0}, rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#2}::{closure#0}::{closure#1}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustc-rayon-core-0.5.0/src/lib.rs:363:44
  40:     0x7fb07c29becc - <crossbeam_utils[1a211ea2fd6596cc]::thread::ScopedThreadBuilder>::spawn::<<rayon_core[866e6d114bbe24dc]::ThreadPoolBuilder>::build_scoped<rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#2}::{closure#0}::{closure#0}, rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#2}::{closure#0}::{closure#1}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#0}
                               at /home/matthias/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crossbeam-utils-0.8.16/src/thread.rs:440:31
  41:     0x7fb07c29becc - <<crossbeam_utils[1a211ea2fd6596cc]::thread::ScopedThreadBuilder>::spawn<<rayon_core[866e6d114bbe24dc]::ThreadPoolBuilder>::build_scoped<rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#2}::{closure#0}::{closure#0}, rustc_interface[68ad2e073643408d]::util::run_in_thread_pool_with_globals<rustc_interface[68ad2e073643408d]::interface::run_compiler<core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>, rustc_driver_impl[4568f96111937b4e]::run_compiler::{closure#1}>::{closure#0}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#2}::{closure#0}::{closure#1}, core[eb9f5097525910b2]::result::Result<(), rustc_span[5060e7939b3129d]::ErrorGuaranteed>>::{closure#0}::{closure#0}::{closure#0}, ()>::{closure#0} as core[eb9f5097525910b2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/ops/function.rs:250:5
  42:     0x7fb07c2457fe - <alloc[1e1169ea88a5754b]::boxed::Box<dyn core[eb9f5097525910b2]::ops::function::FnOnce<(), Output = ()> + core[eb9f5097525910b2]::marker::Send> as core[eb9f5097525910b2]::ops::function::FnOnce<()>>::call_once
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2007:9
  43:     0x7fb07c2457fe - std[81a1ea1164486f60]::sys_common::backtrace::__rust_begin_short_backtrace::<alloc[1e1169ea88a5754b]::boxed::Box<dyn core[eb9f5097525910b2]::ops::function::FnOnce<(), Output = ()> + core[eb9f5097525910b2]::marker::Send>, ()>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:154:18
  44:     0x7fb07c245b5c - <std[81a1ea1164486f60]::thread::Builder>::spawn_unchecked_::<alloc[1e1169ea88a5754b]::boxed::Box<dyn core[eb9f5097525910b2]::ops::function::FnOnce<(), Output = ()> + core[eb9f5097525910b2]::marker::Send>, ()>::{closure#1}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/mod.rs:529:17
  45:     0x7fb07c245b5c - <core[eb9f5097525910b2]::panic::unwind_safe::AssertUnwindSafe<<std[81a1ea1164486f60]::thread::Builder>::spawn_unchecked_<alloc[1e1169ea88a5754b]::boxed::Box<dyn core[eb9f5097525910b2]::ops::function::FnOnce<(), Output = ()> + core[eb9f5097525910b2]::marker::Send>, ()>::{closure#1}::{closure#0}> as core[eb9f5097525910b2]::ops::function::FnOnce<()>>::call_once
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panic/unwind_safe.rs:271:9
  46:     0x7fb07c245b5c - std[81a1ea1164486f60]::panicking::try::do_call::<core[eb9f5097525910b2]::panic::unwind_safe::AssertUnwindSafe<<std[81a1ea1164486f60]::thread::Builder>::spawn_unchecked_<alloc[1e1169ea88a5754b]::boxed::Box<dyn core[eb9f5097525910b2]::ops::function::FnOnce<(), Output = ()> + core[eb9f5097525910b2]::marker::Send>, ()>::{closure#1}::{closure#0}>, ()>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:524:40
  47:     0x7fb07c245b5c - std[81a1ea1164486f60]::panicking::try::<(), core[eb9f5097525910b2]::panic::unwind_safe::AssertUnwindSafe<<std[81a1ea1164486f60]::thread::Builder>::spawn_unchecked_<alloc[1e1169ea88a5754b]::boxed::Box<dyn core[eb9f5097525910b2]::ops::function::FnOnce<(), Output = ()> + core[eb9f5097525910b2]::marker::Send>, ()>::{closure#1}::{closure#0}>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:488:19
  48:     0x7fb07c245b5c - std[81a1ea1164486f60]::panic::catch_unwind::<core[eb9f5097525910b2]::panic::unwind_safe::AssertUnwindSafe<<std[81a1ea1164486f60]::thread::Builder>::spawn_unchecked_<alloc[1e1169ea88a5754b]::boxed::Box<dyn core[eb9f5097525910b2]::ops::function::FnOnce<(), Output = ()> + core[eb9f5097525910b2]::marker::Send>, ()>::{closure#1}::{closure#0}>, ()>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panic.rs:142:14
  49:     0x7fb07c245b5c - <std[81a1ea1164486f60]::thread::Builder>::spawn_unchecked_::<alloc[1e1169ea88a5754b]::boxed::Box<dyn core[eb9f5097525910b2]::ops::function::FnOnce<(), Output = ()> + core[eb9f5097525910b2]::marker::Send>, ()>::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/mod.rs:528:30
  50:     0x7fb07c245b5c - <<std[81a1ea1164486f60]::thread::Builder>::spawn_unchecked_<alloc[1e1169ea88a5754b]::boxed::Box<dyn core[eb9f5097525910b2]::ops::function::FnOnce<(), Output = ()> + core[eb9f5097525910b2]::marker::Send>, ()>::{closure#1} as core[eb9f5097525910b2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/ops/function.rs:250:5
  51:     0x7fb079540439 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h197d07c7abf2c25e
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2007:9
  52:     0x7fb079540439 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hcb59e37a449b5256
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2007:9
  53:     0x7fb07954f895 - std::sys::unix::thread::Thread::new::thread_start::h699f0086e43bdec6
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys/unix/thread.rs:108:17
  54:     0x7fb07908c9eb - <unknown>
  55:     0x7fb079110ebc - <unknown>
  56:                0x0 - <unknown>

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: please attach the file at `/tmp/im/rustc-ice-2023-08-25T18:28:01.910217331Z-3306311.txt` to your bug report

note: compiler flags: -Z threads=500

query stack during panic:
end of query stack
Rayon: detected unexpected panic; aborting
[1]    3306311 IOT instruction  ~/.rustup/toolchains/local-debug-assertions/bin/rustc query.rs -Zthreads=500

or

warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
 --> query.rs:1:12
  |
1 | #![feature(generic_const_exprs)]
  |            ^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
  = note: `#[warn(incomplete_features)]` on by default

/home/matthias/.rustup/toolchains/local-debug-assertions/bin/../lib/librustc_driver-6e11478028aeb5df.so(+0x2a81583)[0x7fd694281583]
/usr/lib/libc.so.6(+0x3e710)[0x7fd69103e710]
/home/matthias/.rustup/toolchains/local-debug-assertions/bin/../lib/librustc_driver-6e11478028aeb5df.so(+0x48e202a)[0x7fd6960e202a]
/home/matthias/.rustup/toolchains/local-debug-assertions/bin/../lib/librustc_driver-6e11478028aeb5df.so(+0x460b8d1)[0x7fd695e0b8d1]
/home/matthias/.rustup/toolchains/local-debug-assertions/bin/../lib/librustc_driver-6e11478028aeb5df.so(+0x4aaf69a)[0x7fd6962af69a]
/home/matthias/.rustup/toolchains/local-debug-assertions/bin/../lib/librustc_driver-6e11478028aeb5df.so(+0x2a9ba06)[0x7fd69429ba06]
/home/matthias/.rustup/toolchains/local-debug-assertions/bin/../lib/librustc_driver-6e11478028aeb5df.so(+0x1c1b5f3)[0x7fd69341b5f3]
/home/matthias/.rustup/toolchains/local-debug-assertions/bin/../lib/librustc_driver-6e11478028aeb5df.so(_RNvMs8_NtCsbxzE27LtKPw_10rayon_core8registryNtB5_12WorkerThread15wait_until_cold+0x1f1)[0x7fd6934097e1]
/home/matthias/.rustup/toolchains/local-debug-assertions/bin/../lib/librustc_driver-6e11478028aeb5df.so(_RNvMNtCsbxzE27LtKPw_10rayon_core8registryNtB2_13ThreadBuilder3run+0x167)[0x7fd693406947]
/home/matthias/.rustup/toolchains/local-debug-assertions/bin/../lib/librustc_driver-6e11478028aeb5df.so(+0x2a9becc)[0x7fd69429becc]
/home/matthias/.rustup/toolchains/local-debug-assertions/bin/../lib/librustc_driver-6e11478028aeb5df.so(+0x2a457fe)[0x7fd6942457fe]
/home/matthias/.rustup/toolchains/local-debug-assertions/bin/../lib/librustc_driver-6e11478028aeb5df.so(+0x2a45b5c)[0x7fd694245b5c]
/home/matthias/.rustup/toolchains/local-debug-assertions/bin/../lib/libstd-82834f3319f1342f.so(rust_metadata_std_81a1ea1164486f60+0x140439)[0x7fd691540439]
/home/matthias/.rustup/toolchains/local-debug-assertions/bin/../lib/libstd-82834f3319f1342f.so(rust_metadata_std_81a1ea1164486f60+0x14f895)[0x7fd69154f895]
/usr/lib/libc.so.6(+0x8c9eb)[0x7fd69108c9eb]
/usr/lib/libc.so.6(+0x110ebc)[0x7fd691110ebc]
[1]    3306831 segmentation fault  ~/.rustup/toolchains/local-debug-assertions/bin/rustc query.rs -Zthreads=500

@Zoxc
Copy link
Contributor

Zoxc commented Aug 25, 2023

Could you try on top of #115220, which fixes that particular panic?

@matthiaskrgr
Copy link
Member Author

Seems to be fixed with your missing-cycle-test branch

@matthiaskrgr matthiaskrgr changed the title ICE: parallel compiler: found cycle ICE: parallel compiler: deadlock detected Nov 6, 2023
@matthiaskrgr
Copy link
Member Author

Closing as I believe this has been fixed, at least I did not encounter any deadlocks when I checked parallel compiler the last time. 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-const-generics Area: const generics (parameters and arguments) C-bug Category: This is a bug. F-generic_const_exprs `#![feature(generic_const_exprs)]` I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-compiler-parallel Working group: Parallelizing the compiler
Projects
None yet
Development

No branches or pull requests

3 participants