/ go Public
runtime: post-mortem analysis of Go 1.13 runtime/mgcsweep.go fatal error ("error: non in-use span in unswept list") #58681
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
What version of Go are you using (
Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (
What did you do?
We have a machine running Docker containers in production, and Docker Engine reported an error that the main process had exited without any operation being performed. The error message is as follows:
From the error message, it seems that it may be related to the memory cleanup operation of the runtime. We looked at the relevant code as follows:
After the error occurred, the entire dockerd service crashed and dumped the core. We made some guesses based on the error log, but we have not yet come to a conclusion.
To summarize the reproduction conditions:
We have some guesses about this:
However, all of these guesses were ruled out later when we reviewed the code, and because we are unable to reproduce this bug, we have made no progress so far. We would be very grateful if anyone could help us with the analysis. If more information is needed, we can provide it at any time.
What did you expect to see?
No GC panic error in dockerd.
What did you see instead?
A GC panic error in dockerd, as described above. If possible, please help us analyze this issue. The Go version used is quite old. If this issue has been resolved in a higher version, we would like to know how it was resolved and whether any relevant code or patches can be provided.
The text was updated successfully, but these errors were encountered: