Skip to content

Long delay printing errors with metadata #150907

@erickt

Description

@erickt

@tmandry suggested filing a new bug for #136516 (comment) since this is now reproducing on nightly.

On Fuchsia we've noticed a pretty significant complication time regression in Fuchsia with our starnix binary when reporting an errors, where sometimes it can take 10+ hours for Rust to exit. Unfortunately the starnix binary itself is 113K lines of code, and it depends on a whole swath of other dependencies, so it's taken about 3 months of time to decouple the code from Fuchsia and reduce it to this gist. With that, it takes about 5 minutes 30 seconds for Rust to exit with nightly-2026-01-08 on my linux workstation.

This seems to be related to .rmeta somehow, since removing --emit metadata causes Rust to exit after only a second or so.

@tmandry suggested using -Z time-passes -Z self-profile. I had to modify measureme to up the MAX_USER_VIRTUAL_STRING_ID to 100 billion, which got me a profile. Here's the summarize output. I've also attached the flamegraph, but unfortunately it seems invalid. Perhaps it didn't work correctly with my patch to measureme? I also tried crox, but it produced the same odd graph as flamegraph. I'll keep working on it though.

Meta

rustc --version --verbose:

rustc 1.94.0-nightly (31cd367b9 2026-01-08)
Backtrace

See this gist.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-compiletimeIssue: Problems and improvements with respect to compile times.T-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