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

runtime: backport CLs 33339 and 35353 #18700

Closed
aclements opened this issue Jan 18, 2017 · 4 comments
Closed

runtime: backport CLs 33339 and 35353 #18700

aclements opened this issue Jan 18, 2017 · 4 comments

Comments

@aclements
Copy link
Member

If we do a 1.7.5 release, backport CLs 33339 and 35353, which add diagnostics for and may mitigate #16083.

@aclements aclements added this to the Go1.7.5 milestone Jan 18, 2017
@bradfitz
Copy link
Contributor

Austin, I'll let you send these two. These aren't trivial like the others.

@gopherbot
Copy link

CL https://golang.org/cl/35678 mentions this issue.

@gopherbot
Copy link

CL https://golang.org/cl/35677 mentions this issue.

gopherbot pushed a commit that referenced this issue Jan 25, 2017
…a g"

Updates #18700 (backport)

Currently there are no diagnostics for mark root check during marking.
Fix this by printing out the same diagnostics we print during mark
termination.

Also, drop the allglock before throwing. Holding that across a throw
causes a self-deadlock with tracebackothers.

For #16083.

Change-Id: Ib605f3ae0c17e70704b31d8378274cfaa2307dc2
Reviewed-on: https://go-review.googlesource.com/35677
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
gopherbot pushed a commit that referenced this issue Jan 25, 2017
…k roots

Fixes #18700 (backport)

Currently we check that all roots are marked as soon as gcMarkDone
decides to transition from mark 1 to mark 2. However, issue #16083
indicates that there may be a race where we try to complete mark 1
while a worker is still scanning a stack, causing the root mark check
to fail.

We don't yet understand this race, but as a simple mitigation, move
the root check to after gcMarkDone performs a ragged barrier, which
will force any remaining workers to finish their current job.

Updates #16083. This may "fix" it, but it would be better to
understand and fix the underlying race.

Change-Id: I1af9ce67bd87ade7bc2a067295d79c28cd11abd2
Reviewed-on: https://go-review.googlesource.com/35678
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
@bradfitz
Copy link
Contributor

Submitted to 1.7 branch.

@golang golang locked and limited conversation to collaborators Jan 26, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants