Skip to content
  • Ben Gamari's avatar
    rts: Claim AP_STACK before adjusting Sp · bade356f
    Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
    In the fix to #13615 we introduced some logic to atomically blackhole
    AP_STACKs closures upon entry. However, this logic was placed *after* a
    stack pointer adjustment. This meant that if someone else beat us to
    blackholing the AP_STACK we would suspend the thread with uninitialized
    content on the stack.  This would then later blow up when threadPaused
    attempted to walk the stack, hence #13970.
    
    Silly bug but still cost lots of head-scratching to find.
    
    Thanks to albertov for the great repro.
    
    Fixes #13970. Bug originally introduced by the fix to #13615.
    
    Reviewers: austin, erikd, simonmar
    
    Reviewed By: erikd, simonmar
    
    Subscribers: rwbarton, thomie
    
    GHC Trac Issues: #13970, #13615
    
    Differential Revision: https://phabricator.haskell.org/D3760
    bade356f