-
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: panic in runtime.mapiterinit (loong64) #70818
Comments
Found new dashboard test flakes for:
2024-12-11 20:45 x_tools-go1.23-linux-loong64 tools@c1ff179f release-branch.go1.23@69c8cfe2 x/tools/gopls/internal/test/integration/misc.TestIssue38815/default [ABORT] (log)
|
I don't understand this at all. The panic is as noted below: func (s *PackageSet) Union(other *PackageSet) {
if other == nil {
return // e.g. unsafe
}
if other.parent != s.parent {
panic("other set is from a different PackageIndex instance")
}
for k, v := range other.sparse { // <-- panic here
if v0 := s.sparse[k]; v0 != v {
s.sparse[k] = v0 | v
}
}
} Other is a non-nil local variable. I'm also not seeing any obvious data race, though I will look more tomorrow. |
The only fallible operation on that line is the |
Building the exact executable, it looks like the location represents a
|
CC @golang/loong64 I still have yet to convince myself this is unrelated to a data race -- the locking around the operation is unfortunately tricky. If folks maintaining the loong64 port have any insight, it would be appreciated. |
This stack unfortunately provides nothing to go on about what happened (and where) in runtime.mapiterinit: everything above the "Union" line (panic, defer, SIGSEGV) is related to the handling of the panic and the secondary panic it caused, not the root cause. The Iter.Init function looks completely safe; but I can well imagine Iter.Next is sensitive to data races, its attempt to detect them notwithstanding. |
Sorry,I am carefully checking the code of loong64. and I've also stumbled upon race-related issues while testing on loong64 machine. |
@abner-chenc are your issues related specifically to gopls, or another program? |
Unless there is further evidence that this is related to a data race in gopls, I will operate under the assumption that this is a loong64 issue. Removing the gopls label to get this off our triage dashboard: please add the label back if there is additional information implicating gopls. |
Issue created automatically to collect these failures.
Example (log):
— watchflakes
The text was updated successfully, but these errors were encountered: