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: fatal error: stoplockedm: inconsistent locking #18178

Closed
bradfitz opened this issue Dec 3, 2016 · 5 comments

Comments

Projects
None yet
5 participants
@bradfitz
Copy link
Member

commented Dec 3, 2016

freebsd-386-gce101 at 6270c5a

https://build.golang.org/log/ce4de82bc9e073e9f2f95b49b2f20ce6954d1876

##### ../misc/cgo/errors
test union2 failed unexpectedly with expensive checks: exit status 2
=== test union2 output ===
fatal error: stoplockedm: inconsistent locking

runtime stack:
runtime.throw(0x80a1f7b, 0x21)
	/tmp/workdir/go/src/runtime/panic.go:596 +0x76
runtime.stoplockedm()
	/tmp/workdir/go/src/runtime/proc.go:1758 +0x4b
runtime.schedule()
	/tmp/workdir/go/src/runtime/proc.go:2150 +0x287
runtime.goschedImpl(0x38e000f0)
	/tmp/workdir/go/src/runtime/proc.go:2270 +0xcc
runtime.gopreempt_m(0x38e000f0)
	/tmp/workdir/go/src/runtime/proc.go:2285 +0x26
runtime.newstack(0x0)
	/tmp/workdir/go/src/runtime/stack.go:1056 +0x25c
runtime.morestack()
	/tmp/workdir/go/src/runtime/asm_386.s:409 +0x6e

goroutine 1 [runnable]:
main._Cfunc_f(0x38e74000)
	dir29/_obj/_cgo_gotypes.go:47 +0x2d
main.main()
	/tmp/cgoerrors981982312/src/dir29/t29.go:11 +0x56

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
	/tmp/workdir/go/src/runtime/asm_386.s:1629 +0x1
=== end of test union2 output ===
exit status 1
2016/12/02 21:39:29 Failed: exit status 1
2016/12/02 21:39:29 FAILED

Austin, is this new?

@bradfitz bradfitz added this to the Go1.8Maybe milestone Dec 3, 2016

@aclements

This comment has been minimized.

Copy link
Member

commented Dec 6, 2016

This is the only instance of "stoplockedm: inconsistent locking" ever.

I wonder if this is related to #15658 and is just random memory corruption. There's a lot of forking/execing going on around this test, though the crashing binary itself didn't fork/exec.

Obviously it's too late for this instance, but I wonder if it would be possible to get core dumps or something out of the builders for runtime crashes. Something to make post-mortem debugging easier than feeling around in the dark.

@aclements

This comment has been minimized.

Copy link
Member

commented Dec 13, 2016

Closing since this has only happened once. Reopen if we ever see this again.

@aclements aclements closed this Dec 13, 2016

@filipevarjao

This comment has been minimized.

Copy link

commented Sep 13, 2017

I have get the same issue, but it is random error, I made some changes inside the runtime but nothing that affect this part directly (I mean the stoplockedm), but as I'm compiling the whole language many times per day, so I'm getting this error each 5 of 10 times when I run ./all.bash.

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Sep 13, 2017

This issue was closed a long time ago. Whatever you are encountering, it is a different problem. Please open a new issue. But please only open the issue if you are encountering a problem with unmodified sources. If you only encounter the problem with your runtime modifications, then the problem is almost certainly due to your modifications.

@filipevarjao

This comment has been minimized.

Copy link

commented Sep 13, 2017

I do not believe that any change that I made has cause this error, as you see @bradfitz got the same, with the same version go1.8, I'll not open a new issue cause I made some modifications at runtime, but I'm still comparing with a stable release of 1.8, if I catch this error again with the stable version I will report.

@golang golang locked and limited conversation to collaborators Sep 13, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.