-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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: SEGV in mapaccess2 (go1.23.2 darwin/amd64) #71123
Comments
This is dying trying to hash a non-empty interface. So this looks like general corruption (nothing specifically to do with maps). One possibility is incorrect freeing of the object containing the interface. I presume we don't have the segv address? If we had that, it might clarify somewhat. |
Sadly not; all we have to go on is the line numbers in that telemetry link. |
Why do you say the line numbers are suspicious? All the ones I looked at seem reasonable to me. |
Because a load from a non-nil pointer "cannot fail", so I assumed the real problem was on an adjacent line (remembering our recent telemetry problems), but Keith's comment explains it: general corruption of memory. This is something that happens so rarely in Go that I was reluctant to jump to that conclusion. Also, I've been burned too many times by blaming compiler folks for my own bugs. ;-) |
Usually bad cgo or unsafe code would be a top candidate for memory corruption, but since this is specifically the gopls binary, there should be very little of either. |
Issue created by stacks.
The line numbers are again suspicious, possibly an instance of #70885.
This stack
zjaBOQ
was reported by telemetry:crash/crash
runtime.throw:+9
runtime.sigpanic:+33
runtime.interhash:+6
runtime.mapaccess2:+22
golang.org/x/tools/internal/gcimporter.(*iexporter).typOff:+1
golang.org/x/tools/internal/gcimporter.(*exportWriter).typ:+1
golang.org/x/tools/internal/gcimporter.(*exportWriter).doTyp:+44
golang.org/x/tools/internal/gcimporter.(*iexporter).typOff:+4
golang.org/x/tools/internal/gcimporter.(*exportWriter).typ:+1
golang.org/x/tools/internal/gcimporter.(*exportWriter).param:+3
golang.org/x/tools/internal/gcimporter.(*exportWriter).paramList:+4
golang.org/x/tools/internal/gcimporter.(*exportWriter).signature:+1
golang.org/x/tools/internal/gcimporter.(*iexporter).doDecl:+141
golang.org/x/tools/internal/gcimporter.iexportCommon:+55
golang.org/x/tools/internal/gcimporter.IExportShallow:+8
golang.org/x/tools/gopls/internal/cache.storePackageResults:+9
@prattmic
The text was updated successfully, but these errors were encountered: