Skip to content

ARM64: the collector can miss a thread leaving a GC-free zone #142

Closed

Description

@dimensionscape

When the collector already holds the state lock, it sets gPauseForCollect with a CAS and then reads each thread's mGCFreeZone with a plain load and no full fence. On weakly ordered CPUs (ARM64) the load can complete before the CAS is visible, so a thread can keep running during marking, or the collector can wait on a thread that entered a zone without signalling. x86 is not affected.

Activity

  1. added this to the 6.0.0 milestone on Oct 15, 2026
  2. added a commit that references this issue on Oct 15, 2026
    a986b6b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions