Skip to content

ICE when reusing syn::Error stored in static LazyLock across multiple proc macro invocations #149465

@mookums

Description

@mookums

Code

/// proc-macro crate lib.rs
use proc_macro::TokenStream;
use proc_macro2::Span;
use quote::quote;
use std::sync::LazyLock;
use syn::Error;

#[derive(Debug)]
struct FallibleError;

impl std::fmt::Display for FallibleError {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        write!(f, "Fallible Error")
    }
}

fn fallible_function() -> Result<(), FallibleError> {
    Err(FallibleError)
}

static SHARED: LazyLock<Result<(), Error>> = LazyLock::new(|| {
    fallible_function().map_err(|e| Error::new(Span::call_site(), e.to_string()))?;
    Ok(())
});

#[proc_macro]
pub fn trigger_ice(_input: TokenStream) -> TokenStream {
    match SHARED.as_ref() {
        Ok(_) => quote! { fn it_worked() {} }.into(),
        Err(e) => e.to_compile_error().into(),
    }
}
/// main.rs
use minimal_ice_macro::trigger_ice;

fn helper1() {
    trigger_ice!();
}

fn helper2() {
    trigger_ice!();
}

fn main() {
    helper1();
    helper2();
}

Meta

rustc --version --verbose:

rustc 1.91.1 (ed61e7d7e 2025-11-07)
binary: rustc
commit-hash: ed61e7d7e242494fb7057f2657300d9e77bb4fcb
commit-date: 2025-11-07
host: x86_64-unknown-linux-gnu
release: 1.91.1
LLVM version: 21.1.2

Error output

   Compiling minimal_ice v0.1.0 (/home/muki/Git/mookums/minimal_ice/minimal_ice)
error: Fallible Error
 --> minimal_ice/src/main.rs:4:5
  |
4 |     trigger_ice!();
  |     ^^^^^^^^^^^^^^
  |
  = note: this error originates in the macro `trigger_ice` (in Nightly builds, run with -Z macro-backtrace for more info)


thread 'rustc' (17226) panicked at /rustc-dev/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/compiler/rustc_proc_macro/../../library/proc_macro/src/bridge/handle.rs:73:19:
use-after-free in `proc_macro` handle
stack backtrace:
   0: __rustc::rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::option::expect_failed
   3: <rustc_proc_macro::bridge::TokenTree<rustc_proc_macro::bridge::Marked<rustc_ast::tokenstream::TokenStream, rustc_proc_macro::bridge::client::TokenStream>, rustc_proc_macro::bridge::Marked<rustc_span::span_encoding::Span, rustc_proc_macro::bridge::client::Span>, rustc_proc_macro::bridge::Marked<rustc_span::symbol::Symbol, rustc_proc_macro::bridge::symbol::Symbol>> as rustc_proc_macro::bridge::rpc::DecodeMut<rustc_proc_macro::bridge::server::HandleStore<rustc_proc_macro::bridge::server::MarkedTypes<rustc_expand::proc_macro_server::Rustc>>>>::decode
   4: <rustc_proc_macro::bridge::server::Dispatcher<rustc_proc_macro::bridge::server::MarkedTypes<rustc_expand::proc_macro_server::Rustc>> as rustc_proc_macro::bridge::server::DispatcherTrait>::dispatch
   5: <rustc_proc_macro::bridge::closure::Closure<_, _> as core::convert::From<&mut _>>::from::call::<rustc_proc_macro::bridge::buffer::Buffer, rustc_proc_macro::bridge::buffer::Buffer, <rustc_proc_macro::bridge::server::SameThread as rustc_proc_macro::bridge::server::ExecutionStrategy>::run_bridge_and_client<rustc_proc_macro::bridge::server::Dispatcher<rustc_proc_macro::bridge::server::MarkedTypes<rustc_expand::proc_macro_server::Rustc>>>::{closure#0}>
   6: proc_macro::bridge::closure::Closure<A,R>::call
             at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/bridge/closure.rs:30:18
   7: proc_macro::bridge::client::TokenStream::from_token_tree::{{closure}}
             at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/bridge/client.rs:149:43
   8: proc_macro::bridge::client::Bridge::with::{{closure}}
             at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/bridge/client.rs:227:13
   9: proc_macro::bridge::client::state::with
             at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/bridge/client.rs:216:9
  10: proc_macro::bridge::client::Bridge::with
             at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/bridge/client.rs:222:9
  11: proc_macro::bridge::client::TokenStream::from_token_tree
             at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/bridge/client.rs:142:17
  12: <proc_macro::TokenStream as core::convert::From<proc_macro::TokenTree>>::from
             at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/lib.rs:258:26
  13: <proc_macro2::imp::TokenStream as core::convert::From<proc_macro2::TokenTree>>::from
  14: <proc_macro2::TokenStream as core::convert::From<proc_macro2::TokenTree>>::from
  15: syn::error::ErrorMessage::to_compile_error
  16: syn::error::Error::to_compile_error
  17: minimal_ice_macro::trigger_ice
  18: core::ops::function::Fn::call
  19: proc_macro::bridge::client::Client<proc_macro::TokenStream,proc_macro::TokenStream>::expand1::{{closure}}::{{closure}}
  20: proc_macro::bridge::client::run_client::{{closure}}::{{closure}}
  21: proc_macro::bridge::client::state::set
  22: proc_macro::bridge::client::run_client::{{closure}}
  23: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  24: std::panicking::catch_unwind::do_call
  25: __rust_try
  26: proc_macro::bridge::client::run_client
  27: proc_macro::bridge::client::Client<proc_macro::TokenStream,proc_macro::TokenStream>::expand1::{{closure}}
  28: proc_macro::bridge::selfless_reify::reify_to_extern_c_fn_hrt_bridge::wrapper
  29: <rustc_proc_macro::bridge::server::MaybeCrossThread<rustc_expand::proc_macro::MessagePipe<rustc_proc_macro::bridge::buffer::Buffer>> as rustc_proc_macro::bridge::server::ExecutionStrategy>::run_bridge_and_client::<rustc_proc_macro::bridge::server::Dispatcher<rustc_proc_macro::bridge::server::MarkedTypes<rustc_expand::proc_macro_server::Rustc>>>
  30: <rustc_proc_macro::bridge::client::Client<rustc_proc_macro::TokenStream, rustc_proc_macro::TokenStream>>::run::<rustc_expand::proc_macro_server::Rustc, rustc_proc_macro::bridge::server::MaybeCrossThread<rustc_expand::proc_macro::MessagePipe<rustc_proc_macro::bridge::buffer::Buffer>>>
  31: <rustc_expand::proc_macro::BangProcMacro as rustc_expand::base::BangProcMacro>::expand
  32: <rustc_expand::expand::MacroExpander>::fully_expand_fragment
  33: <rustc_expand::expand::MacroExpander>::expand_crate
  34: rustc_interface::passes::configure_and_expand
  35: rustc_interface::passes::resolver_for_lowering_raw
      [... omitted 2 frames ...]
  36: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  37: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

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.91.1 (ed61e7d7e 2025-11-07) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [resolver_for_lowering_raw] getting the resolver for lowering
end of query stack
error: proc macro panicked
 --> minimal_ice/src/main.rs:8:5
  |
8 |     trigger_ice!();
  |     ^^^^^^^^^^^^^^
  |
  = help: message: use-after-free in `proc_macro` handle

error: could not compile `minimal_ice` (bin "minimal_ice") due to 2 previous errors
Backtrace

   Compiling minimal_ice v0.1.0 (/home/muki/Git/mookums/minimal_ice/minimal_ice)
error: Fallible Error
 --> minimal_ice/src/main.rs:4:5
  |
4 |     trigger_ice!();
  |     ^^^^^^^^^^^^^^
  |
  = note: this error originates in the macro `trigger_ice` (in Nightly builds, run with -Z macro-backtrace for more info)


thread 'rustc' (17453) panicked at /rustc-dev/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/compiler/rustc_proc_macro/../../library/proc_macro/src/bridge/handle.rs:73:19:
use-after-free in `proc_macro` handle
stack backtrace:
   0:     0x7ffff4a4c903 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::haa87a551a4affa55
   1:     0x7ffff5201bd8 - core::fmt::write::h80461e1e45e4fdd2
   2:     0x7ffff6805b6f - std::io::Write::write_fmt::h6e6c69b2d6337d9b
   3:     0x7ffff4a11dc2 - std::sys::backtrace::BacktraceLock::print::hf67a46baa621998e
   4:     0x7ffff4a17d19 - std::panicking::default_hook::{{closure}}::h391aa815d5e47ec8
   5:     0x7ffff4a17843 - std::panicking::default_hook::hd6fdcf2489bb807d
   6:     0x7ffff39fe9a7 - std[868c2b82e02752c5]::panicking::update_hook::<alloc[2f8cfedda7e895ee]::boxed::Box<rustc_driver_impl[8c00ca3c7ff43d1e]::install_ice_hook::{closure#1}>>::{closure#0}
   7:     0x7ffff4a1813f - std::panicking::panic_with_hook::h185ddfb86bf14d73
   8:     0x7ffff4a17efa - std::panicking::panic_handler::{{closure}}::had89ddd01b6112c9
   9:     0x7ffff4a11ef9 - std::sys::backtrace::__rust_end_short_backtrace::h5d0fc36eef7265ea
  10:     0x7ffff49f286d - __rustc[eb8946e36839644a]::rust_begin_unwind
  11:     0x7ffff10e7b00 - core::panicking::panic_fmt::h92c8e5abe71dd8d1
  12:     0x7ffff246581b - core::option::expect_failed::h1729d0bd73171c50
  13:     0x7ffff3ab458c - <rustc_proc_macro[4c932ddccfb31674]::bridge::TokenTree<rustc_proc_macro[4c932ddccfb31674]::bridge::Marked<rustc_ast[587ebf2c73052b65]::tokenstream::TokenStream, rustc_proc_macro[4c932ddccfb31674]::bridge::client::TokenStream>, rustc_proc_macro[4c932ddccfb31674]::bridge::Marked<rustc_span[708dd8ee61ad0c72]::span_encoding::Span, rustc_proc_macro[4c932ddccfb31674]::bridge::client::Span>, rustc_proc_macro[4c932ddccfb31674]::bridge::Marked<rustc_span[708dd8ee61ad0c72]::symbol::Symbol, rustc_proc_macro[4c932ddccfb31674]::bridge::symbol::Symbol>> as rustc_proc_macro[4c932ddccfb31674]::bridge::rpc::DecodeMut<rustc_proc_macro[4c932ddccfb31674]::bridge::server::HandleStore<rustc_proc_macro[4c932ddccfb31674]::bridge::server::MarkedTypes<rustc_expand[5a74fa380dd05054]::proc_macro_server::Rustc>>>>::decode
  14:     0x7ffff6111fdd - <rustc_proc_macro[4c932ddccfb31674]::bridge::server::Dispatcher<rustc_proc_macro[4c932ddccfb31674]::bridge::server::MarkedTypes<rustc_expand[5a74fa380dd05054]::proc_macro_server::Rustc>> as rustc_proc_macro[4c932ddccfb31674]::bridglazylocke::server::DispatcherTrait>::dispatch
  15:     0x7ffff610ed70 - <rustc_proc_macro[4c932ddccfb31674]::bridge::closure::Closure<_, _> as core[3960b0be9a8ab2fb]::convert::From<&mut _>>::from::call::<rustc_proc_macro[4c932ddccfb31674]::bridge::buffer::Buffer, rustc_proc_macro[4c932ddccfb31674]::bridge::buffer::Buffer, <rustc_proc_macro[4c932ddccfb31674]::bridge::server::SameThread as rustc_proc_macro[4c932ddccfb31674]::bridge::server::ExecutionStrategy>::run_bridge_and_client<rustc_proc_macro[4c932ddccfb31674]::bridge::server::Dispatcher<rustc_proc_macro[4c932ddccfb31674]::bridge::server::MarkedTypes<rustc_expand[5a74fa380dd05054]::proc_macro_server::Rustc>>>::{closure#0}>
  16:     0x7fffe4ea6307 - proc_macro::bridge::closure::Closure<A,R>::call::h7f8ca987bf7b2de0
                               at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/bridge/closure.rs:30:18
  17:     0x7fffe4ea6307 - proc_macro::bridge::client::TokenStream::from_token_tree::{{closure}}::h9aaef0ecff856ad8
                               at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/bridge/client.rs:149:43
  18:     0x7fffe4ea6307 - proc_macro::bridge::client::Bridge::with::{{closure}}::he660f1a130e0d84c
                               at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/bridge/client.rs:227:13
  19:     0x7fffe4ea6307 - proc_macro::bridge::client::state::with::h4e6ddc6a122883ec
                               at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/bridge/client.rs:216:9
  20:     0x7fffe4ea6307 - proc_macro::bridge::client::Bridge::with::h4b6dc168a192463a
                               at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/bridge/client.rs:222:9
  21:     0x7fffe4ea6307 - proc_macro::bridge::client::TokenStream::from_token_tree::h7d64daa50e0caa5d
                               at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/bridge/client.rs:142:17
  22:     0x7fffe4ea6307 - <proc_macro::TokenStream as core::convert::From<proc_macro::TokenTree>>::from::hd5452b19f706845e
                               at /rustc/ed61e7d7e242494fb7057f2657300d9e77bb4fcb/library/proc_macro/src/lib.rs:258:26
  23:     0x7fffe4e995d0 - <proc_macro2::imp::TokenStream as core::convert::From<proc_macro2::TokenTree>>::from::he49f34a67fa34f94
  24:     0x7fffe4e9b679 - <proc_macro2::TokenStream as core::convert::From<proc_macro2::TokenTree>>::from::hd36ed5d645084d83
  25:     0x7fffe4e92b9b - syn::error::ErrorMessage::to_compile_error::h8fc7a9288d7d4790
  26:     0x7fffe4e92d5a - syn::error::Error::to_compile_error::h85253c9c68396ace
  27:     0x7fffe4e90012 - minimal_ice_macro::trigger_ice::hf9e470ced26765e7
  28:     0x7fffe4e9084e - core::ops::function::Fn::call::h80c0872a42c91b59
  29:     0x7fffe4e92096 - proc_macro::bridge::client::Client<proc_macro::TokenStream,proc_macro::TokenStream>::expand1::{{closure}}::{{closure}}::h62de29f5d77914ba
  30:     0x7fffe4e92056 - proc_macro::bridge::client::run_client::{{closure}}::{{closure}}::h0b775401d7e58d66
  31:     0x7fffe4e8fef1 - proc_macro::bridge::client::state::set::h56f286317c15c3e5
  32:     0x7fffe4e91ece - proc_macro::bridge::client::run_client::{{closure}}::hc67799c14faf7179
  33:     0x7fffe4e8ff70 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h89fff44e590d4a34
  34:     0x7fffe4e907dc - std::panicking::catch_unwind::do_call::hb1f61b44bd1bf271
  35:     0x7fffe4e920cb - __rust_try
  36:     0x7fffe4e91ae3 - proc_macro::bridge::client::run_client::h96eece2666342429
  37:     0x7fffe4e9207e - proc_macro::bridge::client::Client<proc_macro::TokenStream,proc_macro::TokenStream>::expand1::{{closure}}::h72f2d63c28d83229
  38:     0x7fffe4e91422 - proc_macro::bridge::selfless_reify::reify_to_extern_c_fn_hrt_bridge::wrapper::h176c9c99eda7eec8
  39:     0x7ffff5ef6181 - <rustc_proc_macro[4c932ddccfb31674]::bridge::server::MaybeCrossThread<rustc_expand[5a74fa380dd05054]::proc_macro::MessagePipe<rustc_proc_macro[4c932ddccfb31674]::bridge::buffer::Buffer>> as rustc_proc_macro[4c932ddccfb31674]::bridge::server::ExecutionStrategy>::run_bridge_and_client::<rustc_proc_macro[4c932ddccfb31674]::bridge::server::Dispatcher<rustc_proc_macro[4c932ddccfb31674]::bridge::server::MarkedTypes<rustc_expand[5a74fa380dd05054]::proc_macro_server::Rustc>>>
  40:     0x7ffff5ef5e92 - <rustc_proc_macro[4c932ddccfb31674]::bridge::client::Client<rustc_proc_macro[4c932ddccfb31674]::TokenStream, rustc_proc_macro[4c932ddccfb31674]::TokenStream>>::run::<rustc_expand[5a74fa380dd05054]::proc_macro_server::Rustc, rustc_proc_macro[4c932ddccfb31674]::bridge::server::MaybeCrossThread<rustc_expand[5a74fa380dd05054]::proc_macro::MessagePipe<rustc_proc_macro[4c932ddccfb31674]::bridge::buffer::Buffer>>>
  41:     0x7ffff5ef35b7 - <rustc_expand[5a74fa380dd05054]::proc_macro::BangProcMacro as rustc_expand[5a74fa380dd05054]::base::BangProcMacro>::expand
  42:     0x7ffff686ea93 - <rustc_expand[5a74fa380dd05054]::expand::MacroExpander>::fully_expand_fragment
  43:     0x7ffff683bb85 - <rustc_expand[5a74fa380dd05054]::expand::MacroExpander>::expand_crate
  44:     0x7ffff5d354ab - rustc_interface[76e547b88cad6d34]::passes::configure_and_expand
  45:     0x7ffff655272d - rustc_interface[76e547b88cad6d34]::passes::resolver_for_lowering_raw
  46:     0x7ffff655248d - rustc_query_impl[2d429222c3b2e6bb]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[2d429222c3b2e6bb]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[33e32ff2bdd40d7a]::query::erase::Erased<[u8; 16usize]>>
  47:     0x7ffff6552467 - <rustc_query_impl[2d429222c3b2e6bb]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2} as core[3960b0be9a8ab2fb]::ops::function::FnOnce<(rustc_middle[33e32ff2bdd40d7a]::ty::context::TyCtxt, ())>>::call_once
  48:     0x7ffff6728d5d - rustc_query_system[cd1a210e7e3190c4]::query::plumbing::try_execute_query::<rustc_query_impl[2d429222c3b2e6bb]::DynamicConfig<rustc_query_system[cd1a210e7e3190c4]::query::caches::SingleCache<rustc_middle[33e32ff2bdd40d7a]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[2d429222c3b2e6bb]::plumbing::QueryCtxt, true>
  49:     0x7ffff672874f - rustc_query_impl[2d429222c3b2e6bb]::query_impl::resolver_for_lowering_raw::get_query_incr::__rust_end_short_backtrace
  50:     0x7ffff64eea8e - rustc_interface[76e547b88cad6d34]::passes::create_and_enter_global_ctxt::<core[3960b0be9a8ab2fb]::option::Option<rustc_interface[76e547b88cad6d34]::queries::Linker>, rustc_driver_impl[8c00ca3c7ff43d1e]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  51:     0x7ffff64df83e - rustc_interface[76e547b88cad6d34]::interface::run_compiler::<(), rustc_driver_impl[8c00ca3c7ff43d1e]::run_compiler::{closure#0}>::{closure#1}
  52:     0x7ffff63ea938 - std[868c2b82e02752c5]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[76e547b88cad6d34]::util::run_in_thread_with_globals<rustc_interface[76e547b88cad6d34]::util::run_in_thread_pool_with_globals<rustc_interface[76e547b88cad6d34]::interface::run_compiler<(), rustc_driver_impl[8c00ca3c7ff43d1e]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  53:     0x7ffff63ea61c - <<std[868c2b82e02752c5]::thread::Builder>::spawn_unchecked_<rustc_interface[76e547b88cad6d34]::util::run_in_thread_with_globals<rustc_interface[76e547b88cad6d34]::util::run_in_thread_pool_with_globals<rustc_interface[76e547b88cad6d34]::interface::run_compiler<(), rustc_driver_impl[8c00ca3c7ff43d1e]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[3960b0be9a8ab2fb]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  54:     0x7ffff63f0c6f - std::sys::thread::unix::Thread::new::thread_start::h10345b7e8309cb92
  55:     0x7fffefa9a97a - start_thread
  56:     0x7fffefb22d2c - __GI___clone3
  57:                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.91.1 (ed61e7d7e 2025-11-07) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [resolver_for_lowering_raw] getting the resolver for lowering
end of query stack
error: proc macro panicked
 --> minimal_ice/src/main.rs:8:5
  |
8 |     trigger_ice!();
  |     ^^^^^^^^^^^^^^
  |
  = help: message: use-after-free in `proc_macro` handle

error: could not compile `minimal_ice` (bin "minimal_ice") due to 2 previous errors

Beta

rustc 1.92.0-beta.3 (f3f12444a 2025-11-09)
binary: rustc
commit-hash: f3f12444a017add0468f683f3a10656d29438a05
commit-date: 2025-11-09
host: x86_64-unknown-linux-gnu
release: 1.92.0-beta.3
LLVM version: 21.1.3
Beta Backtrace

   Compiling minimal_ice v0.1.0 (/home/muki/Git/mookums/minimal_ice/minimal_ice)
error: Fallible Error
 --> minimal_ice/src/main.rs:4:5
  |
4 |     trigger_ice!();
  |     ^^^^^^^^^^^^^^
  |
  = note: this error originates in the macro `trigger_ice` (in Nightly builds, run with -Z macro-backtrace for more info)


thread 'rustc' (96998) panicked at /rustc-dev/f3f12444a017add0468f683f3a10656d29438a05/compiler/rustc_proc_macro/../../library/proc_macro/src/bridge/handle.rs:73:19:
use-after-free in `proc_macro` handle
stack backtrace:
   0:     0x7ffff4a31ac3 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h3e9d275186baf5f9
   1:     0x7ffff5201b98 - core::fmt::write::hb85a90fbe7ba8ad7
   2:     0x7ffff680c011 - std::io::Write::write_fmt::h0dc6e7a219cbd6b7
   3:     0x7ffff49f7652 - std::sys::backtrace::BacktraceLock::print::h58bb164ecb3a7608
   4:     0x7ffff49fd719 - std::panicking::default_hook::{{closure}}::h112e060ce9c7ec0a
   5:     0x7ffff49fd243 - std::panicking::default_hook::h42eb8101af7ca07b
   6:     0x7ffff39f6861 - std[af028110d1055b0b]::panicking::update_hook::<alloc[6be5232bc8381716]::boxed::Box<rustc_driver_impl[8e26362778fa249e]::install_ice_hook::{closure#1}>>::{closure#0}
   7:     0x7ffff49fdb3f - std::panicking::panic_with_hook::h48e503d1a9999970
   8:     0x7ffff49fd8fa - std::panicking::panic_handler::{{closure}}::h44c20e210d370486
   9:     0x7ffff49f7789 - std::sys::backtrace::__rust_end_short_backtrace::h4d56a29a3f91ad26
  10:     0x7ffff49d818d - __rustc[1720d281c0a319d2]::rust_begin_unwind
  11:     0x7ffff197ed20 - core::panicking::panic_fmt::hbb756acb2f7b23ce
  12:     0x7ffff255632b - core::option::expect_failed::h4297324ea965e01b
  13:     0x7ffff3a9a7ac - <rustc_proc_macro[9b0c2294e94e5d37]::bridge::TokenTree<rustc_proc_macro[9b0c2294e94e5d37]::bridge::Marked<rustc_ast[91f889ff5de43160]::tokenstream::TokenStream, rustc_proc_macro[9b0c2294e94e5d37]::bridge::client::TokenStream>, rustc_proc_macro[9b0c2294e94e5d37]::bridge::Marked<rustc_span[71e329ce9c103f2d]::span_encoding::Span, rustc_proc_macro[9b0c2294e94e5d37]::bridge::client::Span>, rustc_proc_macro[9b0c2294e94e5d37]::bridge::Marked<rustc_span[71e329ce9c103f2d]::symbol::Symbol, rustc_proc_macro[9b0c2294e94e5d37]::bridge::symbol::Symbol>> as rustc_proc_macro[9b0c2294e94e5d37]::bridge::rpc::Decode<rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::HandleStore<rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::MarkedTypes<rustc_expand[9599ee0a5d6b1eb9]::proc_macro_server::Rustc>>>>::decode
  14:     0x7ffff60f1390 - <rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::Dispatcher<rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::MarkedTypes<rustc_expand[9599ee0a5d6b1eb9]::proc_macro_server::Rustc>> as rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::DispatcherTrait>::dispatch
  15:     0x7ffff60ee5b0 - <rustc_proc_macro[9b0c2294e94e5d37]::bridge::closure::Closure<_, _> as core[ed376e679610330f]::convert::From<&mut _>>::from::call::<rustc_proc_macro[9b0c2294e94e5d37]::bridge::buffer::Buffer, rustc_proc_macro[9b0c2294e94e5d37]::bridge::buffer::Buffer, <rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::SameThread as rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::ExecutionStrategy>::run_bridge_and_client<rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::Dispatcher<rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::MarkedTypes<rustc_expand[9599ee0a5d6b1eb9]::proc_macro_server::Rustc>>>::{closure#0}>
  16:     0x7fffe4f3f2a7 - proc_macro::bridge::closure::Closure<A,R>::call::h27e762b8182bc4a7
                               at /rustc/f3f12444a017add0468f683f3a10656d29438a05/library/proc_macro/src/bridge/closure.rs:28:18
  17:     0x7fffe4f3f2a7 - proc_macro::bridge::client::TokenStream::from_token_tree::{{closure}}::h162f1e7289fbdc15
                               at /rustc/f3f12444a017add0468f683f3a10656d29438a05/library/proc_macro/src/bridge/client.rs:144:43
  18:     0x7fffe4f3f2a7 - proc_macro::bridge::client::Bridge::with::{{closure}}::h03d23392bf82d796
                               at /rustc/f3f12444a017add0468f683f3a10656d29438a05/library/proc_macro/src/bridge/client.rs:222:13
  19:     0x7fffe4f3f2a7 - proc_macro::bridge::client::state::with::hf7f615a92f4d4478
                               at /rustc/f3f12444a017add0468f683f3a10656d29438a05/library/proc_macro/src/bridge/client.rs:211:9
  20:     0x7fffe4f3f2a7 - proc_macro::bridge::client::Bridge::with::h6972aaccd4725b8f
                               at /rustc/f3f12444a017add0468f683f3a10656d29438a05/library/proc_macro/src/bridge/client.rs:217:9
  21:     0x7fffe4f3f2a7 - proc_macro::bridge::client::TokenStream::from_token_tree::h1ce468960c9ab270
                               at /rustc/f3f12444a017add0468f683f3a10656d29438a05/library/proc_macro/src/bridge/client.rs:137:17
  22:     0x7fffe4f3f2a7 - <proc_macro::TokenStream as core::convert::From<proc_macro::TokenTree>>::from::he7e00bfd6782b227
                               at /rustc/f3f12444a017add0468f683f3a10656d29438a05/library/proc_macro/src/lib.rs:257:26
  23:     0x7fffe4f32c40 - <proc_macro2::imp::TokenStream as core::convert::From<proc_macro2::TokenTree>>::from::h2f13d9f4712113cb
  24:     0x7fffe4f32af9 - <proc_macro2::TokenStream as core::convert::From<proc_macro2::TokenTree>>::from::h90d692e625f9f18b
  25:     0x7fffe4f2c57b - syn::error::ErrorMessage::to_compile_error::h8eb307be4eef352d
  26:     0x7fffe4f2c73a - syn::error::Error::to_compile_error::h1c2ace24c1884cc4
  27:     0x7fffe4f28912 - minimal_ice_macro::trigger_ice::hb4f9fc17fc3832e0
  28:     0x7fffe4f2b36e - core::ops::function::Fn::call::h76f1ee09387cb84c
  29:     0x7fffe4f2a986 - proc_macro::bridge::client::Client<proc_macro::TokenStream,proc_macro::TokenStream>::expand1::{{closure}}::{{closure}}::h7314bc6bbf5b3c06
  30:     0x7fffe4f2a946 - proc_macro::bridge::client::run_client::{{closure}}::{{closure}}::h903e16cb6e84f8a0
  31:     0x7fffe4f2a251 - proc_macro::bridge::client::state::set::h6414b07d76a35005
  32:     0x7fffe4f2a7be - proc_macro::bridge::client::run_client::{{closure}}::h1d14b2bc08673617
  33:     0x7fffe4f28790 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h65989b2034e597d5
  34:     0x7fffe4f2a9fc - std::panicking::catch_unwind::do_call::h7517074ff958203a
  35:     0x7fffe4f2a9bb - __rust_try
  36:     0x7fffe4f2a3d3 - proc_macro::bridge::client::run_client::hcaeeb7caea47ff5e
  37:     0x7fffe4f2a96e - proc_macro::bridge::client::Client<proc_macro::TokenStream,proc_macro::TokenStream>::expand1::{{closure}}::hc7580236c8388686
  38:     0x7fffe4f29742 - proc_macro::bridge::selfless_reify::reify_to_extern_c_fn_hrt_bridge::wrapper::h24ff7b36245e8635
  39:     0x7ffff5f00681 - <rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::MaybeCrossThread<rustc_expand[9599ee0a5d6b1eb9]::proc_macro::MessagePipe<rustc_proc_macro[9b0c2294e94e5d37]::bridge::buffer::Buffer>> as rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::ExecutionStrategy>::run_bridge_and_client::<rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::Dispatcher<rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::MarkedTypes<rustc_expand[9599ee0a5d6b1eb9]::proc_macro_server::Rustc>>>
  40:     0x7ffff5f00392 - <rustc_proc_macro[9b0c2294e94e5d37]::bridge::client::Client<rustc_proc_macro[9b0c2294e94e5d37]::TokenStream, rustc_proc_macro[9b0c2294e94e5d37]::TokenStream>>::run::<rustc_expand[9599ee0a5d6b1eb9]::proc_macro_server::Rustc, rustc_proc_macro[9b0c2294e94e5d37]::bridge::server::MaybeCrossThread<rustc_expand[9599ee0a5d6b1eb9]::proc_macro::MessagePipe<rustc_proc_macro[9b0c2294e94e5d37]::bridge::buffer::Buffer>>>
  41:     0x7ffff5efe177 - <rustc_expand[9599ee0a5d6b1eb9]::proc_macro::BangProcMacro as rustc_expand[9599ee0a5d6b1eb9]::base::BangProcMacro>::expand
  42:     0x7ffff67bc4cc - <rustc_expand[9599ee0a5d6b1eb9]::expand::MacroExpander>::fully_expand_fragment
  43:     0x7ffff67847a9 - <rustc_expand[9599ee0a5d6b1eb9]::expand::MacroExpander>::expand_crate
  44:     0x7ffff5ce4924 - rustc_interface[7594eb8868074b87]::passes::configure_and_expand
  45:     0x7ffff6372b95 - rustc_interface[7594eb8868074b87]::passes::resolver_for_lowering_raw
  46:     0x7ffff637290d - rustc_query_impl[d188527145c04d80]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d188527145c04d80]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[bd6923619f42b0b9]::query::erase::Erased<[u8; 16usize]>>
  47:     0x7ffff63728e9 - <rustc_query_impl[d188527145c04d80]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2} as core[ed376e679610330f]::ops::function::FnOnce<(rustc_middle[bd6923619f42b0b9]::ty::context::TyCtxt, ())>>::call_once
  48:     0x7ffff64f5e7d - rustc_query_system[d8a6e816219f7c4b]::query::plumbing::try_execute_query::<rustc_query_impl[d188527145c04d80]::DynamicConfig<rustc_query_system[d8a6e816219f7c4b]::query::caches::SingleCache<rustc_middle[bd6923619f42b0b9]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[d188527145c04d80]::plumbing::QueryCtxt, true>
  49:     0x7ffff64f5851 - rustc_query_impl[d188527145c04d80]::query_impl::resolver_for_lowering_raw::get_query_incr::__rust_end_short_backtrace
  50:     0x7ffff64e872a - <rustc_interface[7594eb8868074b87]::passes::create_and_enter_global_ctxt<core[ed376e679610330f]::option::Option<rustc_interface[7594eb8868074b87]::queries::Linker>, rustc_driver_impl[8e26362778fa249e]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[ed376e679610330f]::ops::function::FnOnce<(&rustc_session[a16f20ed1a24abe7]::session::Session, rustc_middle[bd6923619f42b0b9]::ty::context::CurrentGcx, alloc[6be5232bc8381716]::sync::Arc<rustc_data_structures[62f0d6f7c43ee74a]::jobserver::Proxy>, &std[af028110d1055b0b]::sync::once_lock::OnceLock<rustc_middle[bd6923619f42b0b9]::ty::context::GlobalCtxt>, &rustc_data_structures[62f0d6f7c43ee74a]::sync::worker_local::WorkerLocal<rustc_middle[bd6923619f42b0b9]::arena::Arena>, &rustc_data_structures[62f0d6f7c43ee74a]::sync::worker_local::WorkerLocal<rustc_hir[af2b1261e8482175]::Arena>, rustc_driver_impl[8e26362778fa249e]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  51:     0x7ffff63dad22 - rustc_interface[7594eb8868074b87]::interface::run_compiler::<(), rustc_driver_impl[8e26362778fa249e]::run_compiler::{closure#0}>::{closure#1}
  52:     0x7ffff5f84a78 - std[af028110d1055b0b]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[7594eb8868074b87]::util::run_in_thread_with_globals<rustc_interface[7594eb8868074b87]::util::run_in_thread_pool_with_globals<rustc_interface[7594eb8868074b87]::interface::run_compiler<(), rustc_driver_impl[8e26362778fa249e]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  53:     0x7ffff5f84748 - <<std[af028110d1055b0b]::thread::Builder>::spawn_unchecked_<rustc_interface[7594eb8868074b87]::util::run_in_thread_with_globals<rustc_interface[7594eb8868074b87]::util::run_in_thread_pool_with_globals<rustc_interface[7594eb8868074b87]::interface::run_compiler<(), rustc_driver_impl[8e26362778fa249e]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[ed376e679610330f]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  54:     0x7ffff5f830af - std::sys::thread::unix::Thread::new::thread_start::h08ac2fb5a17180df
  55:     0x7fffefa9a97a - start_thread
  56:     0x7fffefb22d2c - __GI___clone3
  57:                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.92.0-beta.3 (f3f12444a 2025-11-09) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [resolver_for_lowering_raw] getting the resolver for lowering
end of query stack
error: proc macro panicked
 --> minimal_ice/src/main.rs:8:5
  |
8 |     trigger_ice!();
  |     ^^^^^^^^^^^^^^
  |
  = help: message: use-after-free in `proc_macro` handle

error: could not compile `minimal_ice` (bin "minimal_ice") due to 2 previous errors

Nightly

rustc 1.93.0-nightly (cc3eee7fb 2025-11-28)
binary: rustc
commit-hash: cc3eee7fbe17ea4b7238531cb97e1b7b8bd6afce
commit-date: 2025-11-28
host: x86_64-unknown-linux-gnu
release: 1.93.0-nightly
LLVM version: 21.1.5
Nightly Backtrace

   Compiling minimal_ice v0.1.0 (/home/muki/Git/mookums/minimal_ice/minimal_ice)
error: Fallible Error
 --> minimal_ice/src/main.rs:4:5
  |
4 |     trigger_ice!();
  |     ^^^^^^^^^^^^^^
  |
  = note: this error originates in the macro `trigger_ice` (in Nightly builds, run with -Z macro-backtrace for more info)


thread 'rustc' (142190) panicked at /rustc-dev/cc3eee7fbe17ea4b7238531cb97e1b7b8bd6afce/compiler/rustc_proc_macro/../../library/proc_macro/src/bridge/handle.rs:73:19:
use-after-free in `proc_macro` handle
stack backtrace:
   0:     0x7ffff4c5e473 - <<std[cbf56a46dac989f5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a3424aac13c77cf6]::fmt::Display>::fmt
   1:     0x7ffff5211d88 - core[a3424aac13c77cf6]::fmt::write
   2:     0x7ffff4c74de6 - <std[cbf56a46dac989f5]::sys::stdio::unix::Stderr as std[cbf56a46dac989f5]::io::Write>::write_fmt
   3:     0x7ffff4c34def - std[cbf56a46dac989f5]::panicking::default_hook::{closure#0}
   4:     0x7ffff4c545a0 - std[cbf56a46dac989f5]::panicking::default_hook
   5:     0x7ffff3cbf737 - std[cbf56a46dac989f5]::panicking::update_hook::<alloc[9fa3fef380221c31]::boxed::Box<rustc_driver_impl[9601b55f30d2923c]::install_ice_hook::{closure#1}>>::{closure#0}
   6:     0x7ffff4c54882 - std[cbf56a46dac989f5]::panicking::panic_with_hook
   7:     0x7ffff4c34f48 - std[cbf56a46dac989f5]::panicking::panic_handler::{closure#0}
   8:     0x7ffff4c2bfc9 - std[cbf56a46dac989f5]::sys::backtrace::__rust_end_short_backtrace::<std[cbf56a46dac989f5]::panicking::panic_handler::{closure#0}, !>
   9:     0x7ffff4c36a9d - __rustc[f3f8441e4970532f]::rust_begin_unwind
  10:     0x7ffff1f9526c - core[a3424aac13c77cf6]::panicking::panic_fmt
  11:     0x7ffff260c7c4 - core[a3424aac13c77cf6]::option::expect_failed
  12:     0x7ffff3d7e7ec - <rustc_proc_macro[396dcc20919f0e14]::bridge::TokenTree<rustc_proc_macro[396dcc20919f0e14]::bridge::Marked<rustc_ast[ef2e9f90390c76f5]::tokenstream::TokenStream, rustc_proc_macro[396dcc20919f0e14]::bridge::client::TokenStream>, rustc_proc_macro[396dcc20919f0e14]::bridge::Marked<rustc_span[577032adbb3e2bdb]::span_encoding::Span, rustc_proc_macro[396dcc20919f0e14]::bridge::client::Span>, rustc_proc_macro[396dcc20919f0e14]::bridge::Marked<rustc_span[577032adbb3e2bdb]::symbol::Symbol, rustc_proc_macro[396dcc20919f0e14]::bridge::symbol::Symbol>> as rustc_proc_macro[396dcc20919f0e14]::bridge::rpc::Decode<rustc_proc_macro[396dcc20919f0e14]::bridge::server::HandleStore<rustc_proc_macro[396dcc20919f0e14]::bridge::server::MarkedTypes<rustc_expand[b07ac48910fdba03]::proc_macro_server::Rustc>>>>::decode
  13:     0x7ffff610ad90 - <rustc_proc_macro[396dcc20919f0e14]::bridge::server::Dispatcher<rustc_proc_macro[396dcc20919f0e14]::bridge::server::MarkedTypes<rustc_expand[b07ac48910fdba03]::proc_macro_server::Rustc>> as rustc_proc_macro[396dcc20919f0e14]::bridge::server::DispatcherTrait>::dispatch
  14:     0x7ffff6107fb0 - <rustc_proc_macro[396dcc20919f0e14]::bridge::closure::Closure<_, _> as core[a3424aac13c77cf6]::convert::From<&mut _>>::from::call::<rustc_proc_macro[396dcc20919f0e14]::bridge::buffer::Buffer, rustc_proc_macro[396dcc20919f0e14]::bridge::buffer::Buffer, <rustc_proc_macro[396dcc20919f0e14]::bridge::server::SameThread as rustc_proc_macro[396dcc20919f0e14]::bridge::server::ExecutionStrategy>::run_bridge_and_client<rustc_proc_macro[396dcc20919f0e14]::bridge::server::Dispatcher<rustc_proc_macro[396dcc20919f0e14]::bridge::server::MarkedTypes<rustc_expand[b07ac48910fdba03]::proc_macro_server::Rustc>>>::{closure#0}>
  15:     0x7fffe531dd67 - <proc_macro[f63ca3dfe5772356]::bridge::closure::Closure<proc_macro[f63ca3dfe5772356]::bridge::buffer::Buffer, proc_macro[f63ca3dfe5772356]::bridge::buffer::Buffer>>::call
                               at /rustc/cc3eee7fbe17ea4b7238531cb97e1b7b8bd6afce/library/proc_macro/src/bridge/closure.rs:28:18
  16:     0x7fffe531dd67 - <proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream>::from_token_tree::{closure#0}
                               at /rustc/cc3eee7fbe17ea4b7238531cb97e1b7b8bd6afce/library/proc_macro/src/bridge/client.rs:144:43
  17:     0x7fffe531dd67 - <proc_macro[f63ca3dfe5772356]::bridge::client::Bridge>::with::<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream, <proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream>::from_token_tree::{closure#0}>::{closure#0}
                               at /rustc/cc3eee7fbe17ea4b7238531cb97e1b7b8bd6afce/library/proc_macro/src/bridge/client.rs:222:13
  18:     0x7fffe531dd67 - proc_macro[f63ca3dfe5772356]::bridge::client::state::with::<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream, <proc_macro[f63ca3dfe5772356]::bridge::client::Bridge>::with<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream, <proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream>::from_token_tree::{closure#0}>::{closure#0}>
                               at /rustc/cc3eee7fbe17ea4b7238531cb97e1b7b8bd6afce/library/proc_macro/src/bridge/client.rs:211:9
  19:     0x7fffe531dd67 - <proc_macro[f63ca3dfe5772356]::bridge::client::Bridge>::with::<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream, <proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream>::from_token_tree::{closure#0}>
                               at /rustc/cc3eee7fbe17ea4b7238531cb97e1b7b8bd6afce/library/proc_macro/src/bridge/client.rs:217:9
  20:     0x7fffe531dd67 - <proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream>::from_token_tree
                               at /rustc/cc3eee7fbe17ea4b7238531cb97e1b7b8bd6afce/library/proc_macro/src/bridge/client.rs:137:17
  21:     0x7fffe531dd67 - <proc_macro[f63ca3dfe5772356]::TokenStream as core[a3424aac13c77cf6]::convert::From<proc_macro[f63ca3dfe5772356]::TokenTree>>::from
                               at /rustc/cc3eee7fbe17ea4b7238531cb97e1b7b8bd6afce/library/proc_macro/src/lib.rs:257:26
  22:     0x7fffe5310690 - <proc_macro2[f2e3d13f49dc920e]::imp::TokenStream as core[a3424aac13c77cf6]::convert::From<proc_macro2[f2e3d13f49dc920e]::TokenTree>>::from
  23:     0x7fffe5314021 - <proc_macro2[f2e3d13f49dc920e]::TokenStream as core[a3424aac13c77cf6]::convert::From<proc_macro2[f2e3d13f49dc920e]::TokenTree>>::from
  24:     0x7fffe530aa2b - <syn[83b5691fa31d6ac]::error::ErrorMessage>::to_compile_error
  25:     0x7fffe530a60a - <syn[83b5691fa31d6ac]::error::Error>::to_compile_error
  26:     0x7fffe5307cf2 - minimal_ice_macro[4567a4db178e6784]::trigger_ice
  27:     0x7fffe53091ee - <minimal_ice_macro[4567a4db178e6784]::trigger_ice as core[a3424aac13c77cf6]::ops::function::Fn<(proc_macro[f63ca3dfe5772356]::TokenStream,)>>::call
  28:     0x7fffe53089f6 - <proc_macro[f63ca3dfe5772356]::bridge::client::Client<proc_macro[f63ca3dfe5772356]::TokenStream, proc_macro[f63ca3dfe5772356]::TokenStream>>::expand1::<minimal_ice_macro[4567a4db178e6784]::trigger_ice>::{closure#0}::{closure#0}
  29:     0x7fffe5308a06 - proc_macro[f63ca3dfe5772356]::bridge::client::run_client::<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream, core[a3424aac13c77cf6]::option::Option<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream>, <proc_macro[f63ca3dfe5772356]::bridge::client::Client<proc_macro[f63ca3dfe5772356]::TokenStream, proc_macro[f63ca3dfe5772356]::TokenStream>>::expand1<minimal_ice_macro[4567a4db178e6784]::trigger_ice>::{closure#0}::{closure#0}>::{closure#0}::{closure#0}
  30:     0x7fffe5308161 - proc_macro[f63ca3dfe5772356]::bridge::client::state::set::<core[a3424aac13c77cf6]::option::Option<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream>, proc_macro[f63ca3dfe5772356]::bridge::client::run_client<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream, core[a3424aac13c77cf6]::option::Option<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream>, <proc_macro[f63ca3dfe5772356]::bridge::client::Client<proc_macro[f63ca3dfe5772356]::TokenStream, proc_macro[f63ca3dfe5772356]::TokenStream>>::expand1<minimal_ice_macro[4567a4db178e6784]::trigger_ice>::{closure#0}::{closure#0}>::{closure#0}::{closure#0}>
  31:     0x7fffe530886e - proc_macro[f63ca3dfe5772356]::bridge::client::run_client::<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream, core[a3424aac13c77cf6]::option::Option<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream>, <proc_macro[f63ca3dfe5772356]::bridge::client::Client<proc_macro[f63ca3dfe5772356]::TokenStream, proc_macro[f63ca3dfe5772356]::TokenStream>>::expand1<minimal_ice_macro[4567a4db178e6784]::trigger_ice>::{closure#0}::{closure#0}>::{closure#0}
  32:     0x7fffe53094e0 - <core[a3424aac13c77cf6]::panic::unwind_safe::AssertUnwindSafe<proc_macro[f63ca3dfe5772356]::bridge::client::run_client<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream, core[a3424aac13c77cf6]::option::Option<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream>, <proc_macro[f63ca3dfe5772356]::bridge::client::Client<proc_macro[f63ca3dfe5772356]::TokenStream, proc_macro[f63ca3dfe5772356]::TokenStream>>::expand1<minimal_ice_macro[4567a4db178e6784]::trigger_ice>::{closure#0}::{closure#0}>::{closure#0}> as core[a3424aac13c77cf6]::ops::function::FnOnce<()>>::call_once
  33:     0x7fffe530830c - std[cbf56a46dac989f5]::panicking::catch_unwind::do_call::<core[a3424aac13c77cf6]::panic::unwind_safe::AssertUnwindSafe<proc_macro[f63ca3dfe5772356]::bridge::client::run_client<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream, core[a3424aac13c77cf6]::option::Option<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream>, <proc_macro[f63ca3dfe5772356]::bridge::client::Client<proc_macro[f63ca3dfe5772356]::TokenStream, proc_macro[f63ca3dfe5772356]::TokenStream>>::expand1<minimal_ice_macro[4567a4db178e6784]::trigger_ice>::{closure#0}::{closure#0}>::{closure#0}>, ()>
  34:     0x7fffe5308a7b - __rust_try
  35:     0x7fffe5308453 - proc_macro[f63ca3dfe5772356]::bridge::client::run_client::<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream, core[a3424aac13c77cf6]::option::Option<proc_macro[f63ca3dfe5772356]::bridge::client::TokenStream>, <proc_macro[f63ca3dfe5772356]::bridge::client::Client<proc_macro[f63ca3dfe5772356]::TokenStream, proc_macro[f63ca3dfe5772356]::TokenStream>>::expand1<minimal_ice_macro[4567a4db178e6784]::trigger_ice>::{closure#0}::{closure#0}>
  36:     0x7fffe530860e - <proc_macro[f63ca3dfe5772356]::bridge::client::Client<proc_macro[f63ca3dfe5772356]::TokenStream, proc_macro[f63ca3dfe5772356]::TokenStream>>::expand1::<minimal_ice_macro[4567a4db178e6784]::trigger_ice>::{closure#0}
  37:     0x7fffe5309802 - proc_macro[f63ca3dfe5772356]::bridge::selfless_reify::reify_to_extern_c_fn_hrt_bridge::wrapper::<proc_macro[f63ca3dfe5772356]::bridge::buffer::Buffer, <proc_macro[f63ca3dfe5772356]::bridge::client::Client<proc_macro[f63ca3dfe5772356]::TokenStream, proc_macro[f63ca3dfe5772356]::TokenStream>>::expand1<minimal_ice_macro[4567a4db178e6784]::trigger_ice>::{closure#0}>
  38:     0x7ffff5edb501 - <rustc_proc_macro[396dcc20919f0e14]::bridge::server::MaybeCrossThread<rustc_expand[b07ac48910fdba03]::proc_macro::MessagePipe<rustc_proc_macro[396dcc20919f0e14]::bridge::buffer::Buffer>> as rustc_proc_macro[396dcc20919f0e14]::bridge::server::ExecutionStrategy>::run_bridge_and_client::<rustc_proc_macro[396dcc20919f0e14]::bridge::server::Dispatcher<rustc_proc_macro[396dcc20919f0e14]::bridge::server::MarkedTypes<rustc_expand[b07ac48910fdba03]::proc_macro_server::Rustc>>>
  39:     0x7ffff5edb224 - <rustc_proc_macro[396dcc20919f0e14]::bridge::client::Client<rustc_proc_macro[396dcc20919f0e14]::TokenStream, rustc_proc_macro[396dcc20919f0e14]::TokenStream>>::run::<rustc_expand[b07ac48910fdba03]::proc_macro_server::Rustc, rustc_proc_macro[396dcc20919f0e14]::bridge::server::MaybeCrossThread<rustc_expand[b07ac48910fdba03]::proc_macro::MessagePipe<rustc_proc_macro[396dcc20919f0e14]::bridge::buffer::Buffer>>>
  40:     0x7ffff5ed9077 - <rustc_expand[b07ac48910fdba03]::proc_macro::BangProcMacro as rustc_expand[b07ac48910fdba03]::base::BangProcMacro>::expand
  41:     0x7ffff66633e1 - <rustc_expand[b07ac48910fdba03]::expand::MacroExpander>::fully_expand_fragment
  42:     0x7ffff662b20e - <rustc_expand[b07ac48910fdba03]::expand::MacroExpander>::expand_crate
  43:     0x7ffff5c8303c - rustc_interface[4796e4db9508b896]::passes::configure_and_expand
  44:     0x7ffff6357f15 - rustc_interface[4796e4db9508b896]::passes::resolver_for_lowering_raw
  45:     0x7ffff6357c8d - rustc_query_impl[48c5202159a19ef7]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[48c5202159a19ef7]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e9d0f7e844f3166b]::query::erase::Erased<[u8; 16usize]>>
  46:     0x7ffff6357c67 - <rustc_query_impl[48c5202159a19ef7]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2} as core[a3424aac13c77cf6]::ops::function::FnOnce<(rustc_middle[e9d0f7e844f3166b]::ty::context::TyCtxt, ())>>::call_once
  47:     0x7ffff66d3bd1 - rustc_query_system[3f0601432c754995]::query::plumbing::try_execute_query::<rustc_query_impl[48c5202159a19ef7]::DynamicConfig<rustc_query_system[3f0601432c754995]::query::caches::SingleCache<rustc_middle[e9d0f7e844f3166b]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[48c5202159a19ef7]::plumbing::QueryCtxt, true>
  48:     0x7ffff66d35c1 - rustc_query_impl[48c5202159a19ef7]::query_impl::resolver_for_lowering_raw::get_query_incr::__rust_end_short_backtrace
  49:     0x7ffff64bcdfa - <rustc_interface[4796e4db9508b896]::passes::create_and_enter_global_ctxt<core[a3424aac13c77cf6]::option::Option<rustc_interface[4796e4db9508b896]::queries::Linker>, rustc_driver_impl[9601b55f30d2923c]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[a3424aac13c77cf6]::ops::function::FnOnce<(&rustc_session[8beb91a8b00f9da9]::session::Session, rustc_middle[e9d0f7e844f3166b]::ty::context::CurrentGcx, alloc[9fa3fef380221c31]::sync::Arc<rustc_data_structures[22be9c18f5b496a9]::jobserver::Proxy>, &std[cbf56a46dac989f5]::sync::once_lock::OnceLock<rustc_middle[e9d0f7e844f3166b]::ty::context::GlobalCtxt>, &rustc_data_structures[22be9c18f5b496a9]::sync::worker_local::WorkerLocal<rustc_middle[e9d0f7e844f3166b]::arena::Arena>, &rustc_data_structures[22be9c18f5b496a9]::sync::worker_local::WorkerLocal<rustc_hir[bb83e21edf5dc5d8]::Arena>, rustc_driver_impl[9601b55f30d2923c]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  50:     0x7ffff6304e45 - rustc_interface[4796e4db9508b896]::interface::run_compiler::<(), rustc_driver_impl[9601b55f30d2923c]::run_compiler::{closure#0}>::{closure#1}
  51:     0x7ffff62da44a - std[cbf56a46dac989f5]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[4796e4db9508b896]::util::run_in_thread_with_globals<rustc_interface[4796e4db9508b896]::util::run_in_thread_pool_with_globals<rustc_interface[4796e4db9508b896]::interface::run_compiler<(), rustc_driver_impl[9601b55f30d2923c]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  52:     0x7ffff62da154 - <<std[cbf56a46dac989f5]::thread::Builder>::spawn_unchecked_<rustc_interface[4796e4db9508b896]::util::run_in_thread_with_globals<rustc_interface[4796e4db9508b896]::util::run_in_thread_pool_with_globals<rustc_interface[4796e4db9508b896]::interface::run_compiler<(), rustc_driver_impl[9601b55f30d2923c]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[a3424aac13c77cf6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  53:     0x7ffff62d7bef - <std[cbf56a46dac989f5]::sys::thread::unix::Thread>::new::thread_start
  54:     0x7fffefe9a97a - start_thread
  55:     0x7fffeff22d2c - __GI___clone3
  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 make sure that you have updated to the latest nightly

note: please attach the file at `/home/muki/Git/mookums/minimal_ice/rustc-ice-2025-11-29T22_14_05-142188.txt` to your bug report

note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [resolver_for_lowering_raw] getting the resolver for lowering
end of query stack
error: proc macro panicked
 --> minimal_ice/src/main.rs:8:5
  |
8 |     trigger_ice!();
  |     ^^^^^^^^^^^^^^
  |
  = help: message: use-after-free in `proc_macro` handle

error: could not compile `minimal_ice` (bin "minimal_ice") due to 2 previous errors

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-proc-macrosArea: Procedural macrosC-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️S-has-mcveStatus: A Minimal Complete and Verifiable Example has been found for this issueT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions