Skip to content

world::World doctests sometimes hangs with Miri #5164

Closed
smol-rs/concurrent-queue
#16
@RalfJung

Description

@RalfJung

When running the world::World (line 56) doctest in Miri with many different seeds, it eventually runs into an endless loop. This can be avoided by using -Zmiri-disable-weak-memory-emulation. This probably indicates a bug in bevy or its dependencies, but could also be a bug in Miri.

Weak memory emulation makes it so that an atomic load can return "outdated" values, as is permitted by the concurrent memory model of Rust (and C/C++). So likely, some code somewhere reads an old value, thinks it is current, and goes into some kind of spin loop -- and stays there forever.

See here for further analysis by @cbeuw.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-Build-SystemRelated to build systems or continuous integrationA-ECSEntities, components, systems, and eventsC-BugAn unexpected or incorrect behavior

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions