-
Notifications
You must be signed in to change notification settings - Fork 18k
runtime: "fatal error: runtime: g is running but p is not" #6644
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
Labels
Milestone
Comments
This is almost certainly the fix: diff -r 9169cb38c3e8 src/pkg/runtime/stack.c --- a/src/pkg/runtime/stack.c Tue Oct 22 18:33:37 2013 -0400 +++ b/src/pkg/runtime/stack.c Wed Oct 23 09:49:42 2013 -0400 @@ -255,7 +255,7 @@ if(gp->stackguard0 == (uintptr)StackPreempt) { if(gp == m->g0) runtime·throw("runtime: preempt g0"); - if(oldstatus == Grunning && m->p == nil) + if(oldstatus == Grunning && m->p == nil && m->locks == 0) runtime·throw("runtime: g is running but p is not"); if(oldstatus == Gsyscall && m->locks == 0) runtime·throw("runtime: stack split during syscall"); If you can find a small case that reproduces the problem that we can add as a test case, great. But actually I'd be more interested just to know whether the change fixes your reproduction case. Thanks. |
This issue was closed by revision 00a757f. Status changed to Fixed. |
adg
added a commit
that referenced
this issue
May 11, 2015
…ck split ««« CL 18740044 / 1a8903f0a577 runtime: relax preemption assertion during stack split The case can happen when starttheworld is calling acquirep to get things moving again and acquirep gets preempted. The stack trace is in golang.org/issue/6644. It is difficult to build a short test case for this, but the person who reported issue 6644 confirms that this solves the problem. Fixes #6644. R=golang-dev, r CC=golang-dev https://golang.org/cl/18740044 »»» R=golang-dev CC=golang-dev https://golang.org/cl/20460044
This issue was closed.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
The text was updated successfully, but these errors were encountered: