Skip to content

nondeterministic ordering in rmeta section #113584

Closed
@fangism

Description

@fangism

We are running determinism checks on rustc outputs in our build infrastructure, basically running a rustc action twice in a row (backing up outputs from the first run) and comparing outputs. We have found that in one of our build environments (not directly accessible), this determinism check fails rather reliably on the same targets, while the exact same compilation appears deterministic in another local environment, and is thus difficult to manually reproduce.

We have been able to save and retrieve difference-pairs of rlibs when the determinism check fails, and need help determining the nature of the differences. So far we have determined that the differences lie in the rmeta section of the rlibs, but we do not understand the meaning or origin of these differences. This is where we need help. Identifying these content difference may help us create more reliably reproducible test cases to follow up with.

I will attach one pair of such rlibs shortly, with some more details.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-metadataArea: Crate metadataA-reproducibilityArea: Reproducible / deterministic buildsC-bugCategory: This is a bug.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