-
Notifications
You must be signed in to change notification settings - Fork 18k
runtime: fatal error: MSpanList_Remove #14831
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
Comments
I have also seen the program simply hang with this trace:
|
I should note that I'm doing some IOCTL calls during the lifetime of the program. I think I narrowed it down to one IOCTL call that seems to be causing it, but not all the time. I tried forcing a runtime.GC() call right after the IOCTL call and it reproduces faster. I will have to review that code some more and make sure the kernel is not writing past the buffer I'm passing to it (buffer is allocated in Go, just a []byte) and corrupting something in the process. |
@bits01 please provide a runnable sample program that demonstrates the issue so we can try to reproduce it. |
Looks like the memory span had an empty free list but was on the nonempty span list. The traceback shows the call to
The print before the panic shows that the span's list field, expected to point to I don't understand this code. It's clear that |
@davecheney Unfortunately it's not easy to provide sample code because it involves proprietary code and hardware that requires IOCTLs to talk to. But any suggestions on how to troubleshoot as much as I can on my side are appreciated. |
Certainly memory corruption would explain this problem.... |
I will continue looking on my side, hopefully the problem is over here and not with the Go runtime. |
Sorry for the false alarm. Turns out it was a 4 byte kernel driver buffer overrun that caused the occasional memory corruption. |
I meet this issue too. And I'm sure I didn't change any preference of kernel. Our program is a long TCP connection server, which receiving data from a TCP and forwarding it to other. When it upgrade to 1.6, it run a long time then panic with same error.
|
@googolee, this issue is closed and we don't re-use issues. Please open a new one. You can reference this one. |
ok |
Please answer these questions before submitting your issue. Thanks!
go version
)?go version go1.6 linux/amd64
go env
)?linux/amd64, CentOS Linux release 7.1.1503 (Core)
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
Long running process crashes with:
Not a crash
A crash
The text was updated successfully, but these errors were encountered: