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: crash in TestScript/cover_atomic_pkgall due to missing //go:nosplit annotation #55117

Closed
mknyszek opened this issue Sep 17, 2022 · 1 comment
Assignees
Labels
NeedsFix The path to resolution is known, but the work has not been done. release-blocker Soon This needs to be done soon. (regressions, serious bugs, outages)
Milestone

Comments

@mknyszek
Copy link
Contributor

mknyszek commented Sep 17, 2022

https://go.dev/427615 broke the linux-386-longtest builder as TestScript/cover_atomic_pkgall started to fail. My hypothesis is that we're just getting unlucky. The failing function, runtime/internal/sys.Len64, can't be intrinsified on 386, and is not nosplit so we might get a stack growth. However, I think this was really always the case, and we were just getting lucky that morestack just wasn't ever actually called. Something about this change adjusted stack use and now it is.

In either case, it's clear that the fix is to make Len64 nosplit since its use is in a nosplit function ((*timeHistogram).record) which was modified by the aforementioned CL.

@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Sep 17, 2022
@mknyszek mknyszek added NeedsFix The path to resolution is known, but the work has not been done. and removed compiler/runtime Issues related to the Go compiler and/or runtime. labels Sep 17, 2022
@mknyszek mknyszek self-assigned this Sep 17, 2022
@mknyszek mknyszek added this to the Go1.20 milestone Sep 17, 2022
@mknyszek mknyszek added release-blocker Soon This needs to be done soon. (regressions, serious bugs, outages) labels Sep 17, 2022
@gopherbot
Copy link

gopherbot commented Sep 17, 2022

Change https://go.dev/cl/431058 mentions this issue: runtime/internal/sys: make Len64 nosplit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsFix The path to resolution is known, but the work has not been done. release-blocker Soon This needs to be done soon. (regressions, serious bugs, outages)
Projects
None yet
Development

No branches or pull requests

2 participants