Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wipe ptls->system_id when a thread exits. #50747

Closed
wants to merge 3 commits into from
Closed

Commits on Aug 10, 2023

  1. Wipe ptls->system_id when a thread exits.

    On macOS, we use the system thread ID to match against the list of known
    thread local states during signal handling. To prevent picking up the
    wrong entry, i.e. from when a thread was previously executing a
    different task, make sure to wipe the system ID when a thread exits.
    
    This manifested as the signal handler actually reporting a bus error
    when a thread touched safepoint memory during GC, because the matched
    thread local state had no current task attached to it.
    
    Fixes JuliaGPU/Metal.jl#225
    maleadt committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    5e861fb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    288eeaf View commit details
    Browse the repository at this point in the history
  3. Fix data race.

    maleadt committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    37ca3f9 View commit details
    Browse the repository at this point in the history