mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: fix races in stack scan
This fixes a hang during runtime.TestTraceStress. It also fixes double-scan of stacks, which leads to stack barrier installation failures. Both of these have shown up as flaky failures on the dashboard. Fixes #10941. Change-Id: Ia2a5991ce2c9f43ba06ae1c7032f7c898dc990e0 Reviewed-on: https://go-review.googlesource.com/11089 Reviewed-by: Austin Clements <austin@google.com>
This commit is contained in:
parent
a2aaede366
commit
3c60e6e8cf
5 changed files with 61 additions and 116 deletions
|
|
@ -237,7 +237,7 @@ type g struct {
|
|||
preempt bool // preemption signal, duplicates stackguard0 = stackpreempt
|
||||
paniconfault bool // panic (instead of crash) on unexpected fault address
|
||||
preemptscan bool // preempted g does scan for gc
|
||||
gcworkdone bool // debug: cleared at beginning of gc work phase cycle, set by gcphasework, tested at end of cycle
|
||||
gcscandone bool // g has scanned stack; protected by _Gscan bit in status
|
||||
gcscanvalid bool // false at start of gc cycle, true if G has not run since last scan
|
||||
throwsplit bool // must not split stack
|
||||
raceignore int8 // ignore race detection events
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue