• Austin Clements's avatar
    runtime: take stack barrier lock during copystack · ecf388f3
    Austin Clements authored
    Commit bbd1a1c7 prevented SIGPROF from scanning stacks that were being
    copied, but it didn't prevent a stack copy (specifically a stack
    shrink) from happening while SIGPROF is scanning the stack. As a
    result, a stack copy may adjust stack barriers while SIGPROF is in the
    middle of scanning a stack, causing SIGPROF to panic when it detects
    an inconsistent stack barrier.
    
    Fix this by taking the stack barrier lock while adjusting the stack.
    In addition to preventing SIGPROF from scanning this stack, this will
    block until any in-progress SIGPROF is done scanning the stack.
    
    For 1.5.2.
    
    Fixes #13362.
    Updates #12932.
    
    Change-Id: I422219c363054410dfa56381f7b917e04690e5dd
    Reviewed-on: https://go-review.googlesource.com/17191
    Run-TryBot: Austin Clements <austin@google.com>
    Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
    Run-TryBot: Russ Cox <rsc@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    ecf388f3
Name
Last commit
Last update
api Loading commit data...
doc Loading commit data...
lib/time Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...