-
-
Notifications
You must be signed in to change notification settings - Fork 14.9k
rustc 1.87.0 ICE compiling rusqlite 0.31.0 in Docker release build #155369
Copy link
Copy link
Open
Labels
C-bugCategory: This is a bug.Category: This is a bug.E-needs-mcveCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable ExampleCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable ExampleI-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️I-prioritizeIssue: Indicates that prioritization has been requested for this issue.Issue: Indicates that prioritization has been requested for this issue.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant 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.This issue may need triage. Remove it if it has been sufficiently triaged.regression-untriagedUntriaged performance or correctness regression.Untriaged performance or correctness regression.
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.E-needs-mcveCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable ExampleCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable ExampleI-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️I-prioritizeIssue: Indicates that prioritization has been requested for this issue.Issue: Indicates that prioritization has been requested for this issue.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant 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.This issue may need triage. Remove it if it has been sufficiently triaged.regression-untriagedUntriaged performance or correctness regression.Untriaged performance or correctness regression.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
I hit an internal compiler error from
rustc 1.87.0while buildingrusqlite 0.31.0inside a Docker release build.The crash happened repeatedly while compiling
rusqlitewithfeature="bundled"and involved repeated panics in:compiler/rustc_trait_selection/src/traits/specialize/specialization_graph.rs:41:57compiler/rustc_trait_selection/src/traits/select/candidate_assembly.rs:563:83The panic message was:
This was reported by
rustcitself as:As of April 15, 2026, I can no longer reproduce this reliably from the same checkout with the same
rust:1.87-slimtag, so this may be an unstable or dependency-resolution-sensitive ICE. I am filing it anyway because the original failure log is very detailed and points at compiler internals.Reproducer
The failing build came from this Dockerfile:
The crate under build depended on:
The failure occurred during:
and the final error was:
One of the rustc invocations from the failing log was:
Relevant resolved crates from the failure log included:
rusqlite 0.31.0bitflags 2.11.1libsqlite3-sys 0.28.0hashlink 0.9.1smallvec 1.15.1What I expected
cargo build --releaseshould either compile successfully or produce a normal diagnostic from the crate graph. It should not ICE in trait selection.What happened instead
rustcrepeatedly panicked while compilingrusqlite, including query stacks like:and:
The repeated panic sites were:
and later:
I saw many repeated query stacks for traits like:
core::ops::drop::Dropcore::marker::Copycore::clone::Clonecore::fmt::Debugcore::marker::Sendcore::cmp::Eqcore::hash::Hashcore::cmp::PartialEqcore::cmp::PartialOrdcore::cmp::Ordcore::ops::bit::BitXorcore::ops::bit::BitXorAssigncore::ops::bit::BitAndcore::ops::bit::BitAndAssigncore::ops::arith::Subcore::ops::arith::SubAssigncore::ops::bit::Notcore::marker::Synccore::error::Errorcore::ops::deref::Derefcore::ops::deref::DerefMutcore::convert::TryFromVersion
From the failing output:
I also confirmed on April 15, 2026 that
rust:1.87-slimcurrently reports:Additional context
rust:1.87-slim.docker build -q -f products/signal-hive/backend/Dockerfile products/signal-hive/backendsucceeded for me from the same checkout, so I do not currently have a stable minimized reproducer.