Skip to content

[ICE]: Compiler panic while compiling ppc64le rust code in linux tree #152177

@mkchauras

Description

@mkchauras

Code

In linux tree 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f14faaf3a1fb3b9e4cf2e56269711fb85fba9458
rust/libsyn.rlib

Meta

rustc --version --verbose:

rustc 1.95.0-nightly (366a1b93e 2026-02-03)
binary: rustc
commit-hash: 366a1b93e7f466ebe559477add05f064873d0c71
commit-date: 2026-02-03
host: powerpc64le-unknown-linux-gnu
release: 1.95.0-nightly
LLVM version: 22.1.0

Error output

thread 'rustc' panicked at /rustc/366a1b93e7f466ebe559477add05f064873d0c71/library/core/src/slice/sort/shared/smallsort.rs:860:5:
user-provided comparison function does not correctly implement a total order
stack backtrace:
   0:     0x7fff954b5530 - std[f362c8c2334b58b7]::backtrace_rs::backtrace::libunwind::trace
                               at /rustc/366a1b93e7f466ebe559477add05f064873d0c71/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
   1:     0x7fff954b5530 - std[f362c8c2334b58b7]::backtrace_rs::backtrace::trace_unsynchronized::<<std[f362c8c2334b58b7]::backtrace::Backtrace>::create::{closure#0}>
                               at /rustc/366a1b93e7f466ebe559477add05f064873d0c71/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
   2:     0x7fff954b5530 - <std[f362c8c2334b58b7]::backtrace::Backtrace>::create
                               at /rustc/366a1b93e7f466ebe559477add05f064873d0c71/library/std/src/backtrace.rs:331:13
   3:     0x7fff8b50c528 - <alloc[e55554d59d73b4d3]::boxed::Box<rustc_driver_impl[b94342f104ae54ae]::install_ice_hook::{closure#1}> as core[84c9cebdd9842dea]::ops::function::Fn<(&dyn for<'a, 'b> core[84c9cebdd9842dea]::ops::function::Fn<(&'a std[f362c8c2334b58b7]::panic::PanicHookInfo<'b>,), Output = ()> + core[84c9cebdd9842dea]::marker::Sync + core[84c9cebdd9842dea]::marker::Send, &std[f362c8c2334b58b7]::panic::PanicHookInfo)>>::call
   4:     0x7fff8b595f6c - std[f362c8c2334b58b7]::panicking::update_hook::<alloc[e55554d59d73b4d3]::boxed::Box<rustc_driver_impl[b94342f104ae54ae]::install_ice_hook::{closure#1}>>::{closure#0}
   5:     0x7fff954ccc84 - <alloc[e55554d59d73b4d3]::boxed::Box<dyn for<'a, 'b> core[84c9cebdd9842dea]::ops::function::Fn<(&'a std[f362c8c2334b58b7]::panic::PanicHookInfo<'b>,), Output = ()> + core[84c9cebdd9842dea]::marker::Sync + core[84c9cebdd9842dea]::marker::Send> as core[84c9cebdd9842dea]::ops::function::Fn<(&std[f362c8c2334b58b7]::panic::PanicHookInfo,)>>::call
                               at /rustc/366a1b93e7f466ebe559477add05f064873d0c71/library/alloc/src/boxed.rs:2220:9
   6:     0x7fff954ccc84 - std[f362c8c2334b58b7]::panicking::panic_with_hook
                               at /rustc/366a1b93e7f466ebe559477add05f064873d0c71/library/std/src/panicking.rs:833:13
   7:     0x7fff954a4a80 - std[f362c8c2334b58b7]::panicking::panic_handler::{closure#0}
                               at /rustc/366a1b93e7f466ebe559477add05f064873d0c71/library/std/src/panicking.rs:691:13
   8:     0x7fff95498770 - std[f362c8c2334b58b7]::sys::backtrace::__rust_end_short_backtrace::<std[f362c8c2334b58b7]::panicking::panic_handler::{closure#0}, !>
                               at /rustc/366a1b93e7f466ebe559477add05f064873d0c71/library/std/src/sys/backtrace.rs:182:18
   9:     0x7fff954a6c94 - __rustc[3568660198a8219f]::rust_begin_unwind
                               at /rustc/366a1b93e7f466ebe559477add05f064873d0c71/library/std/src/panicking.rs:689:5
  10:     0x7fff8b32db70 - core[84c9cebdd9842dea]::panicking::panic_fmt
                               at /rustc/366a1b93e7f466ebe559477add05f064873d0c71/library/core/src/panicking.rs:80:14
  11:     0x7fff8b32e764 - core[84c9cebdd9842dea]::slice::sort::shared::smallsort::panic_on_ord_violation
                               at /rustc/366a1b93e7f466ebe559477add05f064873d0c71/library/core/src/slice/sort/shared/smallsort.rs:860:5
  12:     0x7fff91a88550 - core[84c9cebdd9842dea]::slice::sort::shared::smallsort::bidirectional_merge::<rustc_mir_transform[39ea93d2e5b3ce81]::jump_threading::EdgeEffect, <rustc_mir_transform[39ea93d2e5b3ce81]::jump_threading::EdgeEffect as core[84c9cebdd9842dea]::cmp::PartialOrd>::lt>
  13:     0x7fff91a8afdc - core[84c9cebdd9842dea]::slice::sort::shared::smallsort::small_sort_general_with_scratch::<rustc_mir_transform[39ea93d2e5b3ce81]::jump_threading::EdgeEffect, <rustc_mir_transform[39ea93d2e5b3ce81]::jump_threading::EdgeEffect as core[84c9cebdd9842dea]::cmp::PartialOrd>::lt>
  14:     0x7fff91b16318 - core[84c9cebdd9842dea]::slice::sort::stable::quicksort::quicksort::<rustc_mir_transform[39ea93d2e5b3ce81]::jump_threading::EdgeEffect, <rustc_mir_transform[39ea93d2e5b3ce81]::jump_threading::EdgeEffect as core[84c9cebdd9842dea]::cmp::PartialOrd>::lt>
  15:     0x7fff91c53ec4 - core[84c9cebdd9842dea]::slice::sort::stable::drift::sort::<rustc_mir_transform[39ea93d2e5b3ce81]::jump_threading::EdgeEffect, <rustc_mir_transform[39ea93d2e5b3ce81]::jump_threading::EdgeEffect as core[84c9cebdd9842dea]::cmp::PartialOrd>::lt>
  16:     0x7fff91cd34e0 - core[84c9cebdd9842dea]::slice::sort::stable::driftsort_main::<rustc_mir_transform[39ea93d2e5b3ce81]::jump_threading::EdgeEffect, <rustc_mir_transform[39ea93d2e5b3ce81]::jump_threading::EdgeEffect as core[84c9cebdd9842dea]::cmp::PartialOrd>::lt, alloc[e55554d59d73b4d3]::vec::Vec<rustc_mir_transform[39ea93d2e5b3ce81]::jump_threading::EdgeEffect>>
  17:     0x7fff91c665e0 - <rustc_mir_transform[39ea93d2e5b3ce81]::jump_threading::JumpThreading as rustc_mir_transform[39ea93d2e5b3ce81]::pass_manager::MirPass>::run_pass
  18:     0x7fff91b27ec8 - rustc_mir_transform[39ea93d2e5b3ce81]::pass_manager::run_passes_inner
  19:     0x7fff91b9b6c4 - rustc_mir_transform[39ea93d2e5b3ce81]::run_optimization_passes
  20:     0x7fff91b9a908 - rustc_mir_transform[39ea93d2e5b3ce81]::optimized_mir
  21:     0x7fff9350be08 - rustc_query_impl[f38b1b3f3d9beeab]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f38b1b3f3d9beeab]::query_impl::optimized_mir::make_query_vtable::{closure#1}::{closure#0}, rustc_middle[ff0425187b00e6a6]::query::erase::ErasedData<[u8; 8usize]>>
  22:     0x7fff935e8ecc - <rustc_query_impl[f38b1b3f3d9beeab]::query_impl::optimized_mir::make_query_vtable::{closure#1} as core[84c9cebdd9842dea]::ops::function::FnOnce<(rustc_middle[ff0425187b00e6a6]::ty::context::TyCtxt, rustc_span[ecc879425eb8f03f]::def_id::DefId)>>::call_once
  23:     0x7fff9344f650 - rustc_query_system[51b245c762761b87]::query::plumbing::try_execute_query::<rustc_query_impl[f38b1b3f3d9beeab]::SemiDynamicQueryDispatcher<rustc_query_system[51b245c762761b87]::query::caches::DefIdCache<rustc_middle[ff0425187b00e6a6]::query::erase::ErasedData<[u8; 8usize]>>, {rustc_query_impl[f38b1b3f3d9beeab]::QueryFlags { is_anon: false, is_depth_limit: false, is_feedable: false }}>, false>
  24:     0x7fff938b63fc - rustc_query_impl[f38b1b3f3d9beeab]::query_impl::optimized_mir::get_query_non_incr::__rust_end_short_backtrace
  25:     0x7fff91d33b0c - rustc_mir_transform[39ea93d2e5b3ce81]::cross_crate_inline::cross_crate_inlinable
  26:     0x7fff935128bc - rustc_query_impl[f38b1b3f3d9beeab]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f38b1b3f3d9beeab]::query_impl::cross_crate_inlinable::make_query_vtable::{closure#1}::{closure#0}, rustc_middle[ff0425187b00e6a6]::query::erase::ErasedData<[u8; 1usize]>>
  27:     0x7fff9360708c - <rustc_query_impl[f38b1b3f3d9beeab]::query_impl::cross_crate_inlinable::make_query_vtable::{closure#1} as core[84c9cebdd9842dea]::ops::function::FnOnce<(rustc_middle[ff0425187b00e6a6]::ty::context::TyCtxt, rustc_span[ecc879425eb8f03f]::def_id::DefId)>>::call_once
  28:     0x7fff934456e8 - rustc_query_system[51b245c762761b87]::query::plumbing::try_execute_query::<rustc_query_impl[f38b1b3f3d9beeab]::SemiDynamicQueryDispatcher<rustc_query_system[51b245c762761b87]::query::caches::DefIdCache<rustc_middle[ff0425187b00e6a6]::query::erase::ErasedData<[u8; 1usize]>>, {rustc_query_impl[f38b1b3f3d9beeab]::QueryFlags { is_anon: false, is_depth_limit: false, is_feedable: false }}>, false>
  29:     0x7fff937845c8 - rustc_query_impl[f38b1b3f3d9beeab]::query_impl::cross_crate_inlinable::get_query_non_incr::__rust_end_short_backtrace
  30:     0x7fff92de9128 - rustc_passes[b1ba4469f299fadd]::reachable::recursively_reachable
  31:     0x7fff92de8270 - rustc_passes[b1ba4469f299fadd]::reachable::reachable_set
  32:     0x7fff9350bf38 - rustc_query_impl[f38b1b3f3d9beeab]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[f38b1b3f3d9beeab]::query_impl::reachable_set::make_query_vtable::{closure#1}::{closure#0}, rustc_middle[ff0425187b00e6a6]::query::erase::ErasedData<[u8; 8usize]>>
  33:     0x7fff935e98c4 - <rustc_query_impl[f38b1b3f3d9beeab]::query_impl::reachable_set::make_query_vtable::{closure#1} as core[84c9cebdd9842dea]::ops::function::FnOnce<(rustc_middle[ff0425187b00e6a6]::ty::context::TyCtxt, ())>>::call_once
  34:     0x7fff9345be98 - rustc_query_system[51b245c762761b87]::query::plumbing::try_execute_query::<rustc_query_impl[f38b1b3f3d9beeab]::SemiDynamicQueryDispatcher<rustc_query_system[51b245c762761b87]::query::caches::SingleCache<rustc_middle[ff0425187b00e6a6]::query::erase::ErasedData<[u8; 8usize]>>, {rustc_query_impl[f38b1b3f3d9beeab]::QueryFlags { is_anon: false, is_depth_limit: false, is_feedable: false }}>, false>
  35:     0x7fff9378229c - rustc_query_impl[f38b1b3f3d9beeab]::query_impl::reachable_set::get_query_non_incr::__rust_end_short_backtrace
  36:     0x7fff941bd8f8 - <rustc_metadata[2e6be486edbdbf60]::rmeta::encoder::EncodeContext>::encode_crate_root
  37:     0x7fff8b27c280 - rustc_metadata[2e6be486edbdbf60]::rmeta::encoder::encode_metadata::{closure#3}::{closure#0}
  38:     0x7fff941d5a34 - <rustc_metadata[2e6be486edbdbf60]::rmeta::encoder::encode_metadata::{closure#3} as core[84c9cebdd9842dea]::ops::function::FnOnce<(rustc_middle[ff0425187b00e6a6]::ty::context::TyCtxt, &std[f362c8c2334b58b7]::path::Path)>>::call_once
  39:     0x7fff941d0990 - rustc_metadata[2e6be486edbdbf60]::rmeta::encoder::encode_metadata
  40:     0x7fff9425ba9c - rustc_metadata[2e6be486edbdbf60]::fs::encode_and_write_metadata
  41:     0x7fff8b83f95c - <rustc_interface[711af11a2da26d71]::queries::Linker>::codegen_and_build_linker
  42:     0x7fff8b571a60 - <std[f362c8c2334b58b7]::thread::local::LocalKey<core[84c9cebdd9842dea]::cell::Cell<*const ()>>>::with::<rustc_middle[ff0425187b00e6a6]::ty::context::tls::enter_context<<rustc_middle[ff0425187b00e6a6]::ty::context::GlobalCtxt>::enter<rustc_interface[711af11a2da26d71]::passes::create_and_enter_global_ctxt<core[84c9cebdd9842dea]::option::Option<rustc_interface[711af11a2da26d71]::queries::Linker>, rustc_driver_impl[b94342f104ae54ae]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core[84c9cebdd9842dea]::option::Option<rustc_interface[711af11a2da26d71]::queries::Linker>>::{closure#1}, core[84c9cebdd9842dea]::option::Option<rustc_interface[711af11a2da26d71]::queries::Linker>>::{closure#0}, core[84c9cebdd9842dea]::option::Option<rustc_interface[711af11a2da26d71]::queries::Linker>>
  43:     0x7fff8b55bf90 - <rustc_middle[ff0425187b00e6a6]::ty::context::TyCtxt>::create_global_ctxt::<core[84c9cebdd9842dea]::option::Option<rustc_interface[711af11a2da26d71]::queries::Linker>, rustc_interface[711af11a2da26d71]::passes::create_and_enter_global_ctxt<core[84c9cebdd9842dea]::option::Option<rustc_interface[711af11a2da26d71]::queries::Linker>, rustc_driver_impl[b94342f104ae54ae]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
  44:     0x7fff8b5596ec - <rustc_interface[711af11a2da26d71]::passes::create_and_enter_global_ctxt<core[84c9cebdd9842dea]::option::Option<rustc_interface[711af11a2da26d71]::queries::Linker>, rustc_driver_impl[b94342f104ae54ae]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[84c9cebdd9842dea]::ops::function::FnOnce<(&rustc_session[9d51e383084b42b7]::session::Session, rustc_middle[ff0425187b00e6a6]::ty::context::CurrentGcx, alloc[e55554d59d73b4d3]::sync::Arc<rustc_data_structures[5a4b689da53b830e]::jobserver::Proxy>, &std[f362c8c2334b58b7]::sync::once_lock::OnceLock<rustc_middle[ff0425187b00e6a6]::ty::context::GlobalCtxt>, &rustc_data_structures[5a4b689da53b830e]::sync::worker_local::WorkerLocal<rustc_middle[ff0425187b00e6a6]::arena::Arena>, &rustc_data_structures[5a4b689da53b830e]::sync::worker_local::WorkerLocal<rustc_hir[e6f02f58d62460f4]::Arena>, rustc_driver_impl[b94342f104ae54ae]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  45:     0x7fff8b53f5c4 - rustc_interface[711af11a2da26d71]::passes::create_and_enter_global_ctxt::<core[84c9cebdd9842dea]::option::Option<rustc_interface[711af11a2da26d71]::queries::Linker>, rustc_driver_impl[b94342f104ae54ae]::run_compiler::{closure#0}::{closure#2}>
  46:     0x7fff8b52cdfc - <scoped_tls[280db914630da620]::ScopedKey<rustc_span[ecc879425eb8f03f]::SessionGlobals>>::set::<rustc_interface[711af11a2da26d71]::util::run_in_thread_with_globals<rustc_interface[711af11a2da26d71]::util::run_in_thread_pool_with_globals<rustc_interface[711af11a2da26d71]::interface::run_compiler<(), rustc_driver_impl[b94342f104ae54ae]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  47:     0x7fff8b57124c - rustc_span[ecc879425eb8f03f]::create_session_globals_then::<(), rustc_interface[711af11a2da26d71]::util::run_in_thread_with_globals<rustc_interface[711af11a2da26d71]::util::run_in_thread_pool_with_globals<rustc_interface[711af11a2da26d71]::interface::run_compiler<(), rustc_driver_impl[b94342f104ae54ae]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
  48:     0x7fff8b5924f4 - std[f362c8c2334b58b7]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[711af11a2da26d71]::util::run_in_thread_with_globals<rustc_interface[711af11a2da26d71]::util::run_in_thread_pool_with_globals<rustc_interface[711af11a2da26d71]::interface::run_compiler<(), rustc_driver_impl[b94342f104ae54ae]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  49:     0x7fff8b5963e0 - <std[f362c8c2334b58b7]::thread::lifecycle::spawn_unchecked<rustc_interface[711af11a2da26d71]::util::run_in_thread_with_globals<rustc_interface[711af11a2da26d71]::util::run_in_thread_pool_with_globals<rustc_interface[711af11a2da26d71]::interface::run_compiler<(), rustc_driver_impl[b94342f104ae54ae]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[84c9cebdd9842dea]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  50:     0x7fff954da78c - <alloc[e55554d59d73b4d3]::boxed::Box<dyn core[84c9cebdd9842dea]::ops::function::FnOnce<(), Output = ()> + core[84c9cebdd9842dea]::marker::Send> as core[84c9cebdd9842dea]::ops::function::FnOnce<()>>::call_once
                               at /rustc/366a1b93e7f466ebe559477add05f064873d0c71/library/alloc/src/boxed.rs:2206:9
  51:     0x7fff954da78c - <std[f362c8c2334b58b7]::sys::thread::unix::Thread>::new::thread_start
                               at /rustc/366a1b93e7f466ebe559477add05f064873d0c71/library/std/src/sys/thread/unix.rs:127:17
  52:     0x7fff8a2b6dc0 - start_thread
  53:     0x7fff8a364828 - __clone3


rustc version: 1.95.0-nightly (366a1b93e 2026-02-03)
platform: powerpc64le-unknown-linux-gnu

query stack during panic:
#0 [optimized_mir] optimizing MIR for `item::parsing::<impl at rust/syn/item.rs:2662:5: 2662:28>::parse`
#1 [cross_crate_inlinable] whether the item should be made inlinable across crates
#2 [reachable_set] reachability
end of query stack

Backtrace

Attached in Error log

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️O-PowerPCTarget: PowerPC processorsT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions