summaryrefslogtreecommitdiff
path: root/distrib
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2017-07-20 11:33:51 -0400
committerBen Gamari <ben@smart-cactus.org>2017-07-20 11:33:52 -0400
commitbade356f79d44c9f6e8918a89d9ffac7f5608dbf (patch)
treed6d6fbd7b0cbbeb1468042d4ad19955805931973 /distrib
parent5469ac86f9cc9e83b93ed34ca13f0a4f58f4a9a6 (diff)
downloadhaskell-bade356f79d44c9f6e8918a89d9ffac7f5608dbf.tar.gz
rts: Claim AP_STACK before adjusting Sp
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
Diffstat (limited to 'distrib')
0 files changed, 0 insertions, 0 deletions