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: Go 1.5.1 panic: workbuf is not empty #14502

Closed
starwander opened this issue Feb 25, 2016 · 7 comments
Closed

runtime: Go 1.5.1 panic: workbuf is not empty #14502

starwander opened this issue Feb 25, 2016 · 7 comments
Milestone

Comments

@starwander
Copy link

runtime: empty check fails b.log[0]= 0 b.log[1]= 0 b.log[2]= 0 b.log[3]= 0
runtime: empty check fails b.log[0]= 0 b.log[1]= 0 b.log[2]= 0 b.log[3]= 0
fatal error: workbuf is not empty
panic: fatal error: workbuf is not empty
runtime: empty check fails b.log[0]= 0 b.log[1]= 0 b.log[2]= 0 b.log[3]= 0
fatal error: workbuf is not empty
runtime error: index out of range
fatal error: panic holding locks

goroutine 154 [running]:
runtime.throw(0xa49370, 0x14)
/usr/local/go1.5/src/runtime/panic.go:527 +0x90 fp=0xc8205f9d18 sp=0xc8205f9d00
runtime.(_workbuf).checkempty(0x7f05f8559b00)
/usr/local/go1.5/src/runtime/mgcwork.go:275 +0x153 fp=0xc8205f9d50 sp=0xc8205f9d18
runtime.getempty(0x4cf628a, 0x0)
/usr/local/go1.5/src/runtime/mgcwork.go:288 +0x55 fp=0xc8205f9d80 sp=0xc8205f9d50
runtime.getpartialorempty(0x2a, 0xc81f7b51f3)
/usr/local/go1.5/src/runtime/mgcwork.go:332 +0x6e fp=0xc8205f9da0 sp=0xc8205f9d80
runtime.(_gcWork).put(0xc820022720, 0xc83095c180)
/usr/local/go1.5/src/runtime/mgcwork.go:83 +0x3c fp=0xc8205f9dc0 sp=0xc8205f9da0
runtime.greyobject(0xc83095c180, 0xc843520000, 0x13340, 0xc81f7b51f3, 0x7f0500000000, 0x7f05e04242c0, 0xc820022720)
/usr/local/go1.5/src/runtime/mgcmark.go:966 +0x2f1 fp=0xc8205f9e48 sp=0xc8205f9dc0
runtime.scanobject(0xc843520000, 0xc820022720)
/usr/local/go1.5/src/runtime/mgcmark.go:889 +0x2a1 fp=0xc8205f9f18 sp=0xc8205f9e48
runtime.gcDrainUntilPreempt(0xc820022720, 0x7d0)
/usr/local/go1.5/src/runtime/mgcmark.go:751 +0x152 fp=0xc8205f9f50 sp=0xc8205f9f18
runtime.gcBgMarkWorker(0xc820021500)
/usr/local/go1.5/src/runtime/mgc.go:1329 +0x474 fp=0xc8205f9fb8 sp=0xc8205f9f50
runtime.goexit()
/usr/local/go1.5/src/runtime/asm_amd64.s:1696 +0x1 fp=0xc8205f9fc0 sp=0xc8205f9fb8
created by runtime.gcBgMarkStartWorkers
/usr/local/go1.5/src/runtime/mgc.go:1239 +0x93

@minux
Copy link
Member

minux commented Feb 25, 2016 via email

@starwander
Copy link
Author

It is a program of measuring network delay(about 20,000 ip addresses) using icmp ping and serves delay query from client.
I'm not sure if I can reproduce this. It's very rare, only occurs one time after 26396 minutes running in my production environment.
I can try Go 1.6 later. But I think it's not easy to reproduce.

@bradfitz
Copy link
Contributor

@EthanZhuang, Go 1.5.x is no longer maintained, except for serious security problems.

Please try with Go 1.6, and verify your program has no data races. See https://blog.golang.org/race-detector If you have any races, Go makes no promises that it won't crash.

@ianlancetaylor ianlancetaylor changed the title runtime panic in golang 1.5.1 runtime: Go 1.5.1 panic: workbuf is not empty Feb 25, 2016
@ianlancetaylor ianlancetaylor added this to the Go1.7 milestone Feb 25, 2016
@ianlancetaylor
Copy link
Contributor

CC @aclements in case he recognizes this.

@aclements
Copy link
Member

I do not recognize this. However, a lot of the code in this general vicinity has changed in 1.6.

@starwander
Copy link
Author

OK. Let me try go 1.6 and race-detector next week. Keep in touch then.

@aclements
Copy link
Member

@EthanZhuang, I'm going to go ahead and close this, but please reopen if you were able to reproduce it with 1.6.

@golang golang locked and limited conversation to collaborators Apr 14, 2017
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

6 participants