Skip to content

Rust 1.88 - error: internal compiler error: encountered incremental compilation error with shallow_lint_levels_on #144271

Open

Description

@tews-code

Hi, I'm not sure if you are still looking for examples of this panic. I've included detail as per the template below, but it is worth noting that I am cross-compiling to run on QEMU riscv32, following the guide at https://operating-system-in-1000-lines.vercel.app/en/, so this may not be suitable for replication.

Prior to this error I used
$ cargo doc --open
which was successful.

Code

main.rs

//! Following the guide OS in 1,000 Lines
//!
//! [OS in 1,000 Lines]{operating-system-in-1000-lines.vercel.app/en/)

#![no_std] // 32-bit RISC-V does not yet have a standard library
#![no_main] // We are providing our own entry point to the code

use core::arch::asm;

use os1k::{main, memset};

unsafe extern "C" {
    static __bss: u8;
    static __bss_end: u8;
    static __stack_top: u8;
}

#[unsafe(no_mangle)]
fn kernel_main() -> ! {
    let bss = &raw const __bss;
    let bss_end = &raw const __bss_end;

    //SAFETY: bss is aligned from linker. Memory between bss and bss_end is contiguous and valid for writing.
    unsafe{ memset(bss.cast_mut(), 0, bss_end as usize - bss as usize ); }

    main();
}

#[unsafe(no_mangle)]
#[unsafe(link_section = ".text.boot")]
fn boot() -> ! {
    let stack_top = &raw const __stack_top;
    unsafe{asm!(
        "mv sp, {stack_top}",
        "j {kernel_main}",
        stack_top = in(reg) stack_top,
        kernel_main = sym kernel_main,
        options(readonly, noreturn)
    )}
}

lib.rs

//! OS in 1,000 Lines in Rust
//!
//! Using the guide [OS in 1,000 Lines](operating-system-in-1000-lines.vercel.app/en/) by [Seiya Nuta](https://github.com/nuta).
//!
//! This is a custom operating system written in just 1,000 lines of code. The Rust version
//! closely follows the C version, but does make use of Rust `core` crate functions.
//! Since the target system is 32-bit RISC-V, we do not have a standard library and need to
//! create our own equivalents.
//!
//! This targets the QEMU `virt` system.

#![no_std]

use core::arch::asm;
use core::fmt::Write;
use core::panic::PanicInfo;

mod print;
pub mod sbi;

/// Rust panic handler.
#[panic_handler]
pub fn panic_handler(_info: &PanicInfo) -> ! { loop{} }

/// Fills a buffer with the same byte.
///
/// Takes a raw pointer `buf` to a buffer of size `n` bytes, and fills with `c`.
///
/// # Safety
/// - `buf` must be properly aligned even if the buffer is zero sized.
/// - `buf` must be valid for `n` contiguous writes.
pub unsafe fn memset(buf: *mut u8, c: u8, n: usize) -> *mut u8 {
    unsafe{ buf.write_bytes(c, n) };
    buf
}

/// Main thread.
pub fn main() -> ! {
    let s = "\n\nHello World!\n";
    print!("{}",s);
    println!("🦀");

    loop {
        unsafe{asm!("wfi")}
    }
}

sbi.rs

//! Supervisor Binary Interface calls.

use core::arch::asm;
use core::ffi::{c_int, c_long}; // On our system this will be i32

// Struct holding SBI extension call ids.
//
// * `eid` is the extension id
// * `fid` is the function id
//
// Note that for legacy SBI calls `fid` is ignored.
// SBI extension IDs (EIDs) and SBI function IDs (FIDs) are encoded as signed 32-bit integers
#[expect(dead_code)] // For now we are using legacy calls so expect dead code for fid
struct Extension {
    eid: c_long,
    fid: c_long,
}

// Extension: Console Putchar - Write data to debug console.
const CONSOLE_PUT_CHAR: Extension = Extension{ eid:1, fid:0 };

// This function is not expected to be called directly
fn sbi_call_legacy(arg0: c_long, extension: Extension) -> Result<(), c_long> {
    let value;
    unsafe{asm!(
        "ecall",
        inout("a0") arg0 => value,
                in("a7") extension.eid,
    )}

    if value == 0 {
        Ok(())
    } else {
        Err(value)
    }
}


// Writes to the debug console.
//
// Calls SBI function `sbi_console_putchar` which writes `c_int` to the debug console.
// Although `c_int` is 4 bytes on 32-bit RISC-V, we work in bytes (`u8`) to support UTF-8 multi-byte chars.
// Note - The underlying SBI call will block if there remain any pending bytes to be transmitted
// or if the receiving terminal is not yet ready to receive the byte.
//
// # Panics
//
// Panics on error as unable to print any messages.
pub fn put_char(b: &u8) {
    sbi_call_legacy(*b as c_int, CONSOLE_PUT_CHAR).unwrap();
}

print.rs

//! Print macros.

use core::{fmt, fmt::Write};

use crate::sbi::put_char;

pub struct StdErr;

impl Write for crate::print::StdErr {
    // Takes a UTF-8 string `s` and converts to bytes for debug console via legacy SBI ecall.
    fn write_str(&mut self, s: &str) -> fmt::Result {
        for b in s.as_bytes() {
            put_char(&b);
        }
        Ok(()) // Assume success - we can't print an error message if this fails anyway.
    }
}

/// Formatted print to console.
///
/// This macro accepts a format string and a list of arguments. Arguments will be formatted according to the specified format string
/// and the result will be printed on the console.
#[macro_export]
macro_rules! print {
    ( $($arg:tt)* ) => {
        write!(crate::print::StdErr, $($arg)*).ok();
    };
}

/// Formatted print to console with newline.
///
/// This macro accepts a format string and a list of arguments. Arguments will be formatted according to the specified format string
/// with an added newline, and the result will be printed on the console.
#[macro_export]
macro_rules! println {
    ( $($arg:tt)* ) => {
        writeln!(crate::print::StdErr, $($arg)*).ok();
    };
}

Cargo.toml

[package]
name = "os1k"
version = "0.1.0"
edition = "2024"

[dependencies]

.cargo/config.toml

[build]
target = "riscv32i-unknown-none-elf"
rustflags = [
"-g",
"-O",
"-C", "link-args=--Map=kernel.map --script=kernel.ld",
]

[target.riscv32i-unknown-none-elf]
runner = "./run.sh

In case this is useful, the linker script `kernel.ld'

ENTRY(boot)

SECTIONS {
    . = 0x80200000;

    .text :{
        KEEP(*(.text.boot));
        *(.text .text.*);
    }

    .rodata : ALIGN(4) {
        *(.rodata .rodata.*);
    }

    .data : ALIGN(4) {
        *(.data .data.*);
    }

    .bss : ALIGN(4) {
        __bss = .;
        *(.bss .bss.* .sbss .sbss.*);
        __bss_end = .;
    }

    . = ALIGN(4);
    . += 128 * 1024; /* 128KB */
    __stack_top = .;

    /DISCARD/ : { *(.eh_frame*) }
}

Meta

rustc --version --verbose:

rustc 1.88.0 (6b00bc388 2025-06-23)
binary: rustc
commit-hash: 6b00bc3880198600130e1cf62b8f8a93494488cc
commit-date: 2025-06-23
host: aarch64-unknown-linux-gnu
release: 1.88.0
LLVM version: 20.1.5

Error output

$ cargo build
   Compiling os1k v0.1.0 (/home/thomas/src/os1k)
error: internal compiler error: encountered incremental compilation error with shallow_lint_levels_on(os1k[7a0c]::sbi::Extension)
  |
  = help: This is a known issue with the compiler. Run `cargo clean -p os1k` or `cargo clean` to allow your project to compile
  = note: Please follow the instructions below to create a bug report with the provided information
  = note: See <https://github.com/rust-lang/rust/issues/84970> for more information


thread 'rustc' panicked at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/compiler/rustc_query_system/src/query/plumbing.rs:739:9:
Found unstable fingerprints for shallow_lint_levels_on(os1k[7a0c]::sbi::Extension): ShallowLintLevelMap { expectations: [(Stable { hir_id: HirId(DefId(0:22 ~ os1k[7a0c]::sbi::Extension).0), attr_index: 0, lint_index: Some(0) }, LintExpectation { reason: None, emission_span: src/sbi.rs:13:10: 13:19 (#0), is_unfulfilled_lint_expectations: false, lint_tool: None })], specs: {0: {LintId { lint: Lint { name: "DEAD_CODE", default_level: Warn, desc: "detect unused, unexported items", edition_lint_opts: None, report_in_external_macro: false, future_incompatible: None, is_externally_loaded: false, feature_gate: None, crate_level_only: false, eval_always: false } }: LevelAndSource { level: Expect, lint_id: Some(Stable { hir_id: HirId(DefId(0:22 ~ os1k[7a0c]::sbi::Extension).0), attr_index: 0, lint_index: Some(0) }), src: Node { name: "dead_code", span: src/sbi.rs:13:10: 13:19 (#0), reason: None } }}} }
stack backtrace:
   0:     0xfffecae93a48 - std::backtrace_rs::backtrace::libunwind::trace::h9431951fd116cc44
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
   1:     0xfffecae93a48 - std::backtrace_rs::backtrace::trace_unsynchronized::h66500b5a90e76ee8
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
   2:     0xfffecae93a48 - std::sys::backtrace::_print_fmt::h563afe87969bcd97
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/backtrace.rs:66:9
   3:     0xfffecae93a48 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6393d514ac6e9cd2
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/backtrace.rs:39:26
   4:     0xfffec803462c - core::fmt::rt::Argument::fmt::h0b3711449485f0f6
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/fmt/rt.rs:181:76
   5:     0xfffec803462c - core::fmt::write::h3d5451b97dda5b0e
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/fmt/mod.rs:1446:25
   6:     0xfffecae89948 - std::io::default_write_fmt::hb3470b74804a88d1
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/io/mod.rs:639:11
   7:     0xfffecae89948 - std::io::Write::write_fmt::hdd3503b3866de1d7
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/io/mod.rs:1914:13
   8:     0xfffecae93908 - std::sys::backtrace::BacktraceLock::print::h9d5d0fd803c544d7
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/backtrace.rs:42:9
   9:     0xfffecae972e8 - std::panicking::default_hook::{{closure}}::h9d6dd5a1dde1b6c9
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:300:22
  10:     0xfffecae96fd4 - std::panicking::default_hook::h1e41c9e87247723c
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:327:9
  11:     0xfffeca0af780 - std[9aa260371de5c072]::panicking::update_hook::<alloc[6614c4bc27d633a5]::boxed::Box<rustc_driver_impl[b9fda2760f87d2ee]::install_ice_hook::{closure#1}>>::{closure#0}
  12:     0xfffecae97ba0 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h56711fc79aca3c37
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/alloc/src/boxed.rs:1980:9
  13:     0xfffecae97ba0 - std::panicking::rust_panic_with_hook::h6e7e6d3e8b95d45e
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:841:13
  14:     0xfffecae9789c - std::panicking::begin_panic_handler::{{closure}}::hac60eebb8a81f899
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:706:13
  15:     0xfffecae93f30 - std::sys::backtrace::__rust_end_short_backtrace::h62db1ed7db49b861
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/backtrace.rs:168:18
  16:     0xfffecae97594 - __rustc[4794b31dd7191200]::rust_begin_unwind
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:697:5
  17:     0xfffec8022600 - core::panicking::panic_fmt::h53676893f0005007
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:75:14
  18:     0xfffeca604e4c - rustc_query_system[86cd55f56848bc76]::query::plumbing::incremental_verify_ich_failed::<rustc_middle[ae51ec946f7918a2]::ty::context::TyCtxt>
  19:     0xfffec8493c00 - rustc_query_system[86cd55f56848bc76]::query::plumbing::try_execute_query::<rustc_query_impl[8c0185b84419c985]::DynamicConfig<rustc_data_structures[f8e9235482a13ecb]::vec_cache::VecCache<rustc_hir[d57107e7368e0b23]::hir_id::OwnerId, rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[86cd55f56848bc76]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[8c0185b84419c985]::plumbing::QueryCtxt, true>
  20:     0xfffec8491ca0 - rustc_query_impl[8c0185b84419c985]::query_impl::shallow_lint_levels_on::get_query_incr::__rust_end_short_backtrace
  21:     0xfffec8590de4 - rustc_passes[96a159fbe4885691]::dead::live_symbols_and_ignored_derived_traits
  22:     0xfffec94b0370 - rustc_query_impl[8c0185b84419c985]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8c0185b84419c985]::query_impl::live_symbols_and_ignored_derived_traits::dynamic_query::{closure#2}::{closure#0}, rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 8usize]>>
  23:     0xfffec97298e4 - rustc_query_system[86cd55f56848bc76]::query::plumbing::try_execute_query::<rustc_query_impl[8c0185b84419c985]::DynamicConfig<rustc_query_system[86cd55f56848bc76]::query::caches::SingleCache<rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[8c0185b84419c985]::plumbing::QueryCtxt, true>
  24:     0xfffec9728e20 - rustc_query_impl[8c0185b84419c985]::plumbing::force_from_dep_node::<rustc_query_impl[8c0185b84419c985]::DynamicConfig<rustc_query_system[86cd55f56848bc76]::query::caches::SingleCache<rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 8usize]>>, false, false, false>>
  25:     0xfffec972a02c - <rustc_query_impl[8c0185b84419c985]::plumbing::query_callback<rustc_query_impl[8c0185b84419c985]::query_impl::live_symbols_and_ignored_derived_traits::QueryType>::{closure#0} as core[16bde87991666963]::ops::function::FnOnce<(rustc_middle[ae51ec946f7918a2]::ty::context::TyCtxt, rustc_query_system[86cd55f56848bc76]::dep_graph::dep_node::DepNode, rustc_query_system[86cd55f56848bc76]::dep_graph::serialized::SerializedDepNodeIndex)>>::call_once
  26:     0xfffec8498c74 - <rustc_query_system[86cd55f56848bc76]::dep_graph::graph::DepGraphData<rustc_middle[ae51ec946f7918a2]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8c0185b84419c985]::plumbing::QueryCtxt>
  27:     0xfffec84989f4 - <rustc_query_system[86cd55f56848bc76]::dep_graph::graph::DepGraphData<rustc_middle[ae51ec946f7918a2]::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl[8c0185b84419c985]::plumbing::QueryCtxt>
  28:     0xfffec8498564 - rustc_query_system[86cd55f56848bc76]::query::plumbing::ensure_must_run::<rustc_query_impl[8c0185b84419c985]::DynamicConfig<rustc_query_system[86cd55f56848bc76]::query::caches::DefaultCache<rustc_span[45812a152ae16db8]::def_id::LocalModDefId, rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[8c0185b84419c985]::plumbing::QueryCtxt>
  29:     0xfffec978b55c - rustc_query_impl[8c0185b84419c985]::query_impl::check_mod_deathness::get_query_incr::__rust_end_short_backtrace
  30:     0xfffec9674fc4 - rustc_interface[e39fef92bd5ffa79]::passes::analysis
  31:     0xfffec9727a0c - rustc_query_impl[8c0185b84419c985]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8c0185b84419c985]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 0usize]>>
  32:     0xfffec972ae4c - rustc_query_system[86cd55f56848bc76]::query::plumbing::try_execute_query::<rustc_query_impl[8c0185b84419c985]::DynamicConfig<rustc_query_system[86cd55f56848bc76]::query::caches::SingleCache<rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[8c0185b84419c985]::plumbing::QueryCtxt, true>
  33:     0xfffec972a960 - rustc_query_impl[8c0185b84419c985]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  34:     0xfffec966018c - rustc_interface[e39fef92bd5ffa79]::passes::create_and_enter_global_ctxt::<core[16bde87991666963]::option::Option<rustc_interface[e39fef92bd5ffa79]::queries::Linker>, rustc_driver_impl[b9fda2760f87d2ee]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  35:     0xfffec95d5dbc - rustc_interface[e39fef92bd5ffa79]::interface::run_compiler::<(), rustc_driver_impl[b9fda2760f87d2ee]::run_compiler::{closure#0}>::{closure#1}
  36:     0xfffec957ca84 - std[9aa260371de5c072]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[e39fef92bd5ffa79]::util::run_in_thread_with_globals<rustc_interface[e39fef92bd5ffa79]::util::run_in_thread_pool_with_globals<rustc_interface[e39fef92bd5ffa79]::interface::run_compiler<(), rustc_driver_impl[b9fda2760f87d2ee]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  37:     0xfffec957bb2c - <<std[9aa260371de5c072]::thread::Builder>::spawn_unchecked_<rustc_interface[e39fef92bd5ffa79]::util::run_in_thread_with_globals<rustc_interface[e39fef92bd5ffa79]::util::run_in_thread_pool_with_globals<rustc_interface[e39fef92bd5ffa79]::interface::run_compiler<(), rustc_driver_impl[b9fda2760f87d2ee]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[16bde87991666963]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  38:     0xfffecae9b0ec - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h175e2bed7734a07a
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/alloc/src/boxed.rs:1966:9
  39:     0xfffecae9b0ec - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hcfaf068421bbef73
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/alloc/src/boxed.rs:1966:9
  40:     0xfffecae9b0ec - std::sys::pal::unix::thread::Thread::new::thread_start::h9909ea7a9d24fe08
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/pal/unix/thread.rs:97:17
  41:     0xfffec6d4d284 - start_thread
  42:     0xfffec6db804c - thread_start
  43:                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.88.0 (6b00bc388 2025-06-23) running on aarch64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED] -C link-args=--Map=kernel.map --script=kernel.ld

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

query stack during panic:
#0 [shallow_lint_levels_on] looking up lint levels for `sbi::Extension`
#1 [live_symbols_and_ignored_derived_traits] finding live symbols in crate
... and 1 other queries... use `env RUST_BACKTRACE=1` to see the full query stack
there was a panic while trying to force a dep node
try_mark_green dep node stack:
#0 check_mod_deathness(os1k[7a0c])
end of try_mark_green dep node stack
error: could not compile `os1k` (lib) due to 1 previous error

Backtrace

$ RUST_BACKTRACE=full cargo build
   Compiling os1k v0.1.0 (/home/thomas/src/os1k)
error: internal compiler error: encountered incremental compilation error with shallow_lint_levels_on(os1k[7a0c]::sbi::Extension)
  |
  = help: This is a known issue with the compiler. Run `cargo clean -p os1k` or `cargo clean` to allow your project to compile
  = note: Please follow the instructions below to create a bug report with the provided information
  = note: See <https://github.com/rust-lang/rust/issues/84970> for more information


thread 'rustc' panicked at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/compiler/rustc_query_system/src/query/plumbing.rs:739:9:
Found unstable fingerprints for shallow_lint_levels_on(os1k[7a0c]::sbi::Extension): ShallowLintLevelMap { expectations: [(Stable { hir_id: HirId(DefId(0:22 ~ os1k[7a0c]::sbi::Extension).0), attr_index: 0, lint_index: Some(0) }, LintExpectation { reason: None, emission_span: src/sbi.rs:13:10: 13:19 (#0), is_unfulfilled_lint_expectations: false, lint_tool: None })], specs: {0: {LintId { lint: Lint { name: "DEAD_CODE", default_level: Warn, desc: "detect unused, unexported items", edition_lint_opts: None, report_in_external_macro: false, future_incompatible: None, is_externally_loaded: false, feature_gate: None, crate_level_only: false, eval_always: false } }: LevelAndSource { level: Expect, lint_id: Some(Stable { hir_id: HirId(DefId(0:22 ~ os1k[7a0c]::sbi::Extension).0), attr_index: 0, lint_index: Some(0) }), src: Node { name: "dead_code", span: src/sbi.rs:13:10: 13:19 (#0), reason: None } }}} }
stack backtrace:
   0:     0xffffad983a48 - std::backtrace_rs::backtrace::libunwind::trace::h9431951fd116cc44
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
   1:     0xffffad983a48 - std::backtrace_rs::backtrace::trace_unsynchronized::h66500b5a90e76ee8
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
   2:     0xffffad983a48 - std::sys::backtrace::_print_fmt::h563afe87969bcd97
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/backtrace.rs:66:9
   3:     0xffffad983a48 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h6393d514ac6e9cd2
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/backtrace.rs:39:26
   4:     0xffffaab2462c - core::fmt::rt::Argument::fmt::h0b3711449485f0f6
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/fmt/rt.rs:181:76
   5:     0xffffaab2462c - core::fmt::write::h3d5451b97dda5b0e
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/fmt/mod.rs:1446:25
   6:     0xffffad979948 - std::io::default_write_fmt::hb3470b74804a88d1
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/io/mod.rs:639:11
   7:     0xffffad979948 - std::io::Write::write_fmt::hdd3503b3866de1d7
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/io/mod.rs:1914:13
   8:     0xffffad983908 - std::sys::backtrace::BacktraceLock::print::h9d5d0fd803c544d7
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/backtrace.rs:42:9
   9:     0xffffad9872e8 - std::panicking::default_hook::{{closure}}::h9d6dd5a1dde1b6c9
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:300:22
  10:     0xffffad986fd4 - std::panicking::default_hook::h1e41c9e87247723c
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:327:9
  11:     0xffffacb9f780 - std[9aa260371de5c072]::panicking::update_hook::<alloc[6614c4bc27d633a5]::boxed::Box<rustc_driver_impl[b9fda2760f87d2ee]::install_ice_hook::{closure#1}>>::{closure#0}
  12:     0xffffad987ba0 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h56711fc79aca3c37
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/alloc/src/boxed.rs:1980:9
  13:     0xffffad987ba0 - std::panicking::rust_panic_with_hook::h6e7e6d3e8b95d45e
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:841:13
  14:     0xffffad98789c - std::panicking::begin_panic_handler::{{closure}}::hac60eebb8a81f899
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:706:13
  15:     0xffffad983f30 - std::sys::backtrace::__rust_end_short_backtrace::h62db1ed7db49b861
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/backtrace.rs:168:18
  16:     0xffffad987594 - __rustc[4794b31dd7191200]::rust_begin_unwind
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:697:5
  17:     0xffffaab12600 - core::panicking::panic_fmt::h53676893f0005007
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:75:14
  18:     0xffffad0f4e4c - rustc_query_system[86cd55f56848bc76]::query::plumbing::incremental_verify_ich_failed::<rustc_middle[ae51ec946f7918a2]::ty::context::TyCtxt>
  19:     0xffffaaf83c00 - rustc_query_system[86cd55f56848bc76]::query::plumbing::try_execute_query::<rustc_query_impl[8c0185b84419c985]::DynamicConfig<rustc_data_structures[f8e9235482a13ecb]::vec_cache::VecCache<rustc_hir[d57107e7368e0b23]::hir_id::OwnerId, rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[86cd55f56848bc76]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[8c0185b84419c985]::plumbing::QueryCtxt, true>
  20:     0xffffaaf81ca0 - rustc_query_impl[8c0185b84419c985]::query_impl::shallow_lint_levels_on::get_query_incr::__rust_end_short_backtrace
  21:     0xffffab080de4 - rustc_passes[96a159fbe4885691]::dead::live_symbols_and_ignored_derived_traits
  22:     0xffffabfa0370 - rustc_query_impl[8c0185b84419c985]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8c0185b84419c985]::query_impl::live_symbols_and_ignored_derived_traits::dynamic_query::{closure#2}::{closure#0}, rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 8usize]>>
  23:     0xffffac2198e4 - rustc_query_system[86cd55f56848bc76]::query::plumbing::try_execute_query::<rustc_query_impl[8c0185b84419c985]::DynamicConfig<rustc_query_system[86cd55f56848bc76]::query::caches::SingleCache<rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[8c0185b84419c985]::plumbing::QueryCtxt, true>
  24:     0xffffac218e20 - rustc_query_impl[8c0185b84419c985]::plumbing::force_from_dep_node::<rustc_query_impl[8c0185b84419c985]::DynamicConfig<rustc_query_system[86cd55f56848bc76]::query::caches::SingleCache<rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 8usize]>>, false, false, false>>
  25:     0xffffac21a02c - <rustc_query_impl[8c0185b84419c985]::plumbing::query_callback<rustc_query_impl[8c0185b84419c985]::query_impl::live_symbols_and_ignored_derived_traits::QueryType>::{closure#0} as core[16bde87991666963]::ops::function::FnOnce<(rustc_middle[ae51ec946f7918a2]::ty::context::TyCtxt, rustc_query_system[86cd55f56848bc76]::dep_graph::dep_node::DepNode, rustc_query_system[86cd55f56848bc76]::dep_graph::serialized::SerializedDepNodeIndex)>>::call_once
  26:     0xffffaaf88c74 - <rustc_query_system[86cd55f56848bc76]::dep_graph::graph::DepGraphData<rustc_middle[ae51ec946f7918a2]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[8c0185b84419c985]::plumbing::QueryCtxt>
  27:     0xffffaaf889f4 - <rustc_query_system[86cd55f56848bc76]::dep_graph::graph::DepGraphData<rustc_middle[ae51ec946f7918a2]::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl[8c0185b84419c985]::plumbing::QueryCtxt>
  28:     0xffffaaf88564 - rustc_query_system[86cd55f56848bc76]::query::plumbing::ensure_must_run::<rustc_query_impl[8c0185b84419c985]::DynamicConfig<rustc_query_system[86cd55f56848bc76]::query::caches::DefaultCache<rustc_span[45812a152ae16db8]::def_id::LocalModDefId, rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[8c0185b84419c985]::plumbing::QueryCtxt>
  29:     0xffffac27b55c - rustc_query_impl[8c0185b84419c985]::query_impl::check_mod_deathness::get_query_incr::__rust_end_short_backtrace
  30:     0xffffac164fc4 - rustc_interface[e39fef92bd5ffa79]::passes::analysis
  31:     0xffffac217a0c - rustc_query_impl[8c0185b84419c985]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8c0185b84419c985]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 0usize]>>
  32:     0xffffac21ae4c - rustc_query_system[86cd55f56848bc76]::query::plumbing::try_execute_query::<rustc_query_impl[8c0185b84419c985]::DynamicConfig<rustc_query_system[86cd55f56848bc76]::query::caches::SingleCache<rustc_middle[ae51ec946f7918a2]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[8c0185b84419c985]::plumbing::QueryCtxt, true>
  33:     0xffffac21a960 - rustc_query_impl[8c0185b84419c985]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
  34:     0xffffac15018c - rustc_interface[e39fef92bd5ffa79]::passes::create_and_enter_global_ctxt::<core[16bde87991666963]::option::Option<rustc_interface[e39fef92bd5ffa79]::queries::Linker>, rustc_driver_impl[b9fda2760f87d2ee]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  35:     0xffffac0c5dbc - rustc_interface[e39fef92bd5ffa79]::interface::run_compiler::<(), rustc_driver_impl[b9fda2760f87d2ee]::run_compiler::{closure#0}>::{closure#1}
  36:     0xffffac06ca84 - std[9aa260371de5c072]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[e39fef92bd5ffa79]::util::run_in_thread_with_globals<rustc_interface[e39fef92bd5ffa79]::util::run_in_thread_pool_with_globals<rustc_interface[e39fef92bd5ffa79]::interface::run_compiler<(), rustc_driver_impl[b9fda2760f87d2ee]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  37:     0xffffac06bb2c - <<std[9aa260371de5c072]::thread::Builder>::spawn_unchecked_<rustc_interface[e39fef92bd5ffa79]::util::run_in_thread_with_globals<rustc_interface[e39fef92bd5ffa79]::util::run_in_thread_pool_with_globals<rustc_interface[e39fef92bd5ffa79]::interface::run_compiler<(), rustc_driver_impl[b9fda2760f87d2ee]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[16bde87991666963]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  38:     0xffffad98b0ec - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h175e2bed7734a07a
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/alloc/src/boxed.rs:1966:9
  39:     0xffffad98b0ec - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hcfaf068421bbef73
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/alloc/src/boxed.rs:1966:9
  40:     0xffffad98b0ec - std::sys::pal::unix::thread::Thread::new::thread_start::h9909ea7a9d24fe08
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/pal/unix/thread.rs:97:17
  41:     0xffffa983d284 - start_thread
  42:     0xffffa98a804c - thread_start
  43:                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.88.0 (6b00bc388 2025-06-23) running on aarch64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED] -C link-args=--Map=kernel.map --script=kernel.ld

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

query stack during panic:
#0 [shallow_lint_levels_on] looking up lint levels for `sbi::Extension`
#1 [live_symbols_and_ignored_derived_traits] finding live symbols in crate
#2 [analysis] running analysis passes on this crate
end of query stack
there was a panic while trying to force a dep node
try_mark_green dep node stack:
#0 check_mod_deathness(os1k[7a0c])
end of try_mark_green dep node stack

Activity

  1. added
    I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    C-bugCategory: This is a bug.
    on Jul 21, 2025
  2. added
    needs-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
    on Jul 21, 2025
  3. jieyouxu commented on Jul 22, 2025

    @jieyouxu
    Member

    Like the error message suggests, does this repro with a cargo clean? (Hunting for reproducible instances)

  4. added
    A-incr-compArea: Incremental compilation
    and removed
    needs-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
    on Jul 22, 2025
  5. tews-code commented on Jul 22, 2025

    @tews-code
    Author

    Hi, using cargo clean followed by cargo build now successfully compiles, so I now can't reproduce the error.

  6. jieyouxu commented on Jul 22, 2025

    @jieyouxu
    Member

    Right. Thanks for checking!

  7. added
    S-needs-reproStatus: This issue has no reproduction and needs a reproduction to make progress.
    on Jul 23, 2025
  8. RalfJung commented on Sep 13, 2025

    @RalfJung
    Member

    shallow_lint_levels_on also showed up in this Zulip thread and various other issues.

  9. kpreid commented on Apr 10, 2026

    @kpreid
    Contributor

    I have constructed a mostly-minimized repro for this ICE under rustc 1.94.1 (e408947bf 2026-03-25). However, it does not reproduce on nightly — my original conditions produced #154878 instead, and minimizing for one ICE causes the other to vanish. So, it is possible that this bug has been fixed or perturbed out of existence. (I have not yet tested on a nightly after #155056 which is a revert that purports to fix #154878.)

    Repro lib.rs, edition 2024, state 1:

    #![allow(unused)]
    use core::iter;
    /// prefix
    #[cfg_attr(not(test), expect(dead_code))]
    pub(crate) fn example(
    ) -> impl Iterator<Item = ()> {
        let last_step = ();
    
        iter::once(last_step)
    }

    State 2:

    #![allow(unused)]
    /// prefix
    /// foo
    #[cfg_attr(not(test), expect(dead_code))]
    pub(crate) fn example(
    ) -> impl Iterator<Item = ()> {
        let last_step = ();
    
        core::iter::once(last_step)
    }

    cargo checking these in either order will result in an ICE:

    Details
    error: internal compiler error: encountered incremental compilation error with shallow_lint_levels_on(icelint[c3f8]::example)
      |
      = note: please follow the instructions below to create a bug report with the provided information
      = note: for incremental compilation bugs, having a reproduction is vital
      = note: an ideal reproduction consists of the code before and some patch that then triggers the bug when applied and compiled again
      = note: as a workaround, you can run `cargo clean -p icelint` or `cargo clean` to allow your project to compile
    
    
    thread 'rustc' (89466560) panicked at /rustc-dev/e408947bfd200af42db322daf0fadfe7e26d3bd1/compiler/rustc_query_system/src/query/plumbing.rs:743:9:
    Found unstable fingerprints for shallow_lint_levels_on(icelint[c3f8]::example): ShallowLintLevelMap { expectations: [(Stable { hir_id: HirId(DefId(0:4 ~ icelint[c3f8]::example).0), attr_index: 1, lint_index: Some(0) }, LintExpectation { reason: None, emission_span: src/lib.rs:4:30: 4:39 (#0), is_unfulfilled_lint_expectations: false, lint_tool: None })], specs: {0: {LintId { lint: Lint { name: "DEAD_CODE", default_level: Warn, desc: "detect unused, unexported items", edition_lint_opts: None, report_in_external_macro: false, future_incompatible: None, is_externally_loaded: false, feature_gate: None, crate_level_only: false, eval_always: false } }: LevelAndSource { level: Expect, lint_id: Some(Stable { hir_id: HirId(DefId(0:4 ~ icelint[c3f8]::example).0), attr_index: 1, lint_index: Some(0) }), src: Node { name: "dead_code", span: src/lib.rs:4:30: 4:39 (#0), reason: None } }}} }
    stack backtrace:
       0:        0x10ed83814 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hbeea7a819b623c65
       1:        0x10bfd3f48 - core::fmt::write::hedd53bdb9e87b4cf
       2:        0x10ed3d540 - std::io::Write::write_fmt::hdd87f23e14dc5d26
       3:        0x10ed56084 - std::panicking::default_hook::{{closure}}::hb13fd44d9edf00c4
       4:        0x10ed55f8c - std::panicking::default_hook::h3b3b0d3cdb46d087
       5:        0x10cc1f54c - std[aa3e602c3b1d377d]::panicking::update_hook::<alloc[d66a2b52346aa9d5]::boxed::Box<rustc_driver_impl[70cebe2f5d5ea1e4]::install_ice_hook::{closure#1}>>::{closure#0}
       6:        0x10ed564b0 - std::panicking::panic_with_hook::h657ee82e431041f8
       7:        0x10ed5612c - std::panicking::panic_handler::{{closure}}::hd0ef6f87b4fd1427
       8:        0x10ed4fbc4 - std::sys::backtrace::__rust_end_short_backtrace::hbd8bf96e4ee54567
       9:        0x10ed3382c - __rustc[16f1505adc47261a]::rust_begin_unwind
      10:        0x111abb2fc - core::panicking::panic_fmt::ha09fb24313daf262
      11:        0x111b942e0 - rustc_query_system[b82956973dd8fb28]::query::plumbing::incremental_verify_ich_failed::<rustc_middle[d6d5dd01baab1399]::ty::context::TyCtxt>
      12:        0x10e2555b4 - rustc_query_system[b82956973dd8fb28]::query::plumbing::incremental_verify_ich::<rustc_middle[d6d5dd01baab1399]::ty::context::TyCtxt, rustc_middle[d6d5dd01baab1399]::query::erase::Erased<[u8; 8usize]>>
      13:        0x10e2423d4 - rustc_query_system[b82956973dd8fb28]::query::plumbing::try_execute_query::<rustc_query_impl[6d6554ce05dd8dda]::DynamicConfig<rustc_data_structures[2b35051a35cc3cca]::vec_cache::VecCache<rustc_hir_id[2fa790ebfe645ffb]::OwnerId, rustc_middle[d6d5dd01baab1399]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[b82956973dd8fb28]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[6d6554ce05dd8dda]::plumbing::QueryCtxt, true>
      14:        0x10e332b38 - rustc_query_impl[6d6554ce05dd8dda]::query_impl::shallow_lint_levels_on::get_query_incr::__rust_end_short_backtrace
      15:        0x10d913f94 - <rustc_middle[d6d5dd01baab1399]::ty::context::TyCtxt>::lint_level_at_node
      16:        0x10dfc6594 - rustc_passes[6b27a1ad3fa1312b]::dead::has_allow_dead_code_or_lang_attr
      17:        0x10dfc6ce8 - rustc_passes[6b27a1ad3fa1312b]::dead::live_symbols_and_ignored_derived_traits
      18:        0x10e19491c - rustc_query_impl[6d6554ce05dd8dda]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6d6554ce05dd8dda]::query_impl::live_symbols_and_ignored_derived_traits::dynamic_query::{closure#2}::{closure#0}, rustc_middle[d6d5dd01baab1399]::query::erase::Erased<[u8; 8usize]>>
      19:        0x10e1e0380 - rustc_query_system[b82956973dd8fb28]::query::plumbing::try_execute_query::<rustc_query_impl[6d6554ce05dd8dda]::DynamicConfig<rustc_query_system[b82956973dd8fb28]::query::caches::SingleCache<rustc_middle[d6d5dd01baab1399]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6d6554ce05dd8dda]::plumbing::QueryCtxt, true>
      20:        0x10e188bac - rustc_query_impl[6d6554ce05dd8dda]::plumbing::force_from_dep_node::<rustc_query_impl[6d6554ce05dd8dda]::DynamicConfig<rustc_query_system[b82956973dd8fb28]::query::caches::SingleCache<rustc_middle[d6d5dd01baab1399]::query::erase::Erased<[u8; 8usize]>>, false, false, false>>
      21:        0x10e472f84 - <rustc_query_impl[6d6554ce05dd8dda]::plumbing::query_callback<rustc_query_impl[6d6554ce05dd8dda]::query_impl::live_symbols_and_ignored_derived_traits::QueryType>::{closure#0} as core[8abbb8f79ad13dba]::ops::function::FnOnce<(rustc_middle[d6d5dd01baab1399]::ty::context::TyCtxt, rustc_query_system[b82956973dd8fb28]::dep_graph::dep_node::DepNode, rustc_query_system[b82956973dd8fb28]::dep_graph::serialized::SerializedDepNodeIndex)>>::call_once
      22:        0x10e177bec - <rustc_query_system[b82956973dd8fb28]::dep_graph::graph::DepGraphData<rustc_middle[d6d5dd01baab1399]::dep_graph::DepsType>>::try_mark_previous_green::<rustc_query_impl[6d6554ce05dd8dda]::plumbing::QueryCtxt>
      23:        0x10e177a44 - <rustc_query_system[b82956973dd8fb28]::dep_graph::graph::DepGraphData<rustc_middle[d6d5dd01baab1399]::dep_graph::DepsType>>::try_mark_green::<rustc_query_impl[6d6554ce05dd8dda]::plumbing::QueryCtxt>
      24:        0x10e1c1804 - rustc_query_system[b82956973dd8fb28]::query::plumbing::ensure_must_run::<rustc_query_impl[6d6554ce05dd8dda]::DynamicConfig<rustc_query_system[b82956973dd8fb28]::query::caches::DefaultCache<rustc_span[df6cc6d3cdc5691c]::def_id::LocalModDefId, rustc_middle[d6d5dd01baab1399]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[6d6554ce05dd8dda]::plumbing::QueryCtxt>
      25:        0x10e32896c - rustc_query_impl[6d6554ce05dd8dda]::query_impl::check_mod_deathness::get_query_incr::__rust_end_short_backtrace
      26:        0x10d560b90 - rustc_interface[7951a6580470bfac]::passes::analysis::{closure#0}
      27:        0x10d59088c - rustc_interface[7951a6580470bfac]::passes::analysis
      28:        0x10e194f38 - rustc_query_impl[6d6554ce05dd8dda]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[6d6554ce05dd8dda]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[d6d5dd01baab1399]::query::erase::Erased<[u8; 0usize]>>
      29:        0x10e1d7758 - rustc_query_system[b82956973dd8fb28]::query::plumbing::try_execute_query::<rustc_query_impl[6d6554ce05dd8dda]::DynamicConfig<rustc_query_system[b82956973dd8fb28]::query::caches::SingleCache<rustc_middle[d6d5dd01baab1399]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[6d6554ce05dd8dda]::plumbing::QueryCtxt, true>
      30:        0x10e346484 - rustc_query_impl[6d6554ce05dd8dda]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
      31:        0x10cbd2d14 - rustc_interface[7951a6580470bfac]::passes::create_and_enter_global_ctxt::<core[8abbb8f79ad13dba]::option::Option<rustc_interface[7951a6580470bfac]::queries::Linker>, rustc_driver_impl[70cebe2f5d5ea1e4]::run_compiler::{closure#0}::{closure#2}>
      32:        0x10cc1dc70 - rustc_interface[7951a6580470bfac]::interface::run_compiler::<(), rustc_driver_impl[70cebe2f5d5ea1e4]::run_compiler::{closure#0}>::{closure#1}
      33:        0x10cc1160c - std[aa3e602c3b1d377d]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[7951a6580470bfac]::util::run_in_thread_with_globals<rustc_interface[7951a6580470bfac]::util::run_in_thread_pool_with_globals<rustc_interface[7951a6580470bfac]::interface::run_compiler<(), rustc_driver_impl[70cebe2f5d5ea1e4]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
      34:        0x10cc251b0 - <std[aa3e602c3b1d377d]::thread::lifecycle::spawn_unchecked<rustc_interface[7951a6580470bfac]::util::run_in_thread_with_globals<rustc_interface[7951a6580470bfac]::util::run_in_thread_pool_with_globals<rustc_interface[7951a6580470bfac]::interface::run_compiler<(), rustc_driver_impl[70cebe2f5d5ea1e4]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[8abbb8f79ad13dba]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
      35:        0x10ed4c710 - std::sys::thread::unix::Thread::new::thread_start::h7cf39b7a7f135f48
      36:        0x18bb63bc8 - __pthread_cond_wait
    
    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.94.1 (e408947bf 2026-03-25) running on aarch64-apple-darwin
    
    note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C split-debuginfo=unpacked -C incremental=[REDACTED]
    
    note: some of the compiler flags provided by cargo are hidden
    
    query stack during panic:
    #0 [shallow_lint_levels_on] looking up lint levels for `example`
    #1 [live_symbols_and_ignored_derived_traits] finding live symbols in crate
    ... and 1 other queries... use `env RUST_BACKTRACE=1` to see the full query stack
    there was a panic while trying to force a dep node
    try_mark_green dep node stack:
    #0 check_mod_deathness(icelint[c3f8])
    end of try_mark_green dep node stack
    

    @rustbot label -S-needs-repro +S-has-mcve

  10. added
    S-has-mcveStatus: A Minimal Complete and Verifiable Example has been found for this issue
    and removed
    S-needs-reproStatus: This issue has no reproduction and needs a reproduction to make progress.
    on Apr 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-incr-compArea: Incremental compilationC-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.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions