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: TestGcLastTime failures #73050

Open
gopherbot opened this issue Mar 26, 2025 · 4 comments
Open

runtime: TestGcLastTime failures #73050

gopherbot opened this issue Mar 26, 2025 · 4 comments
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Milestone

Comments

@gopherbot
Copy link
Contributor

gopherbot commented Mar 26, 2025

#!watchflakes
default <- test == "TestGcLastTime"

Issue created automatically to collect these failures.

Example (log):

=== RUN   TestGcLastTime
    gc_test.go:131: bad last GC time: got 1742950790082949000, want [1742950790141094000, 1742950790083385000]
--- FAIL: TestGcLastTime (0.00s)

watchflakes

@gopherbot gopherbot added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Mar 26, 2025
@gopherbot
Copy link
Contributor Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "runtime:cpu2" && test == "TestGcLastTime"
2025-03-25 18:36 gotip-darwin-amd64_14 go@936bb82d runtime:cpu2.TestGcLastTime (log)
=== RUN   TestGcLastTime
    gc_test.go:131: bad last GC time: got 1742950790082949000, want [1742950790141094000, 1742950790083385000]
--- FAIL: TestGcLastTime (0.00s)

watchflakes

@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Mar 26, 2025
@randall77
Copy link
Contributor

Something went wrong with UnixNano. The window listed has negative width. That corresponds to (in the test):

	t0 := time.Now().UnixNano()
	runtime.GC()
	t1 := time.Now().UnixNano()

Getting t1 < t0. Pretty clearly a bug in either UnixNano or the os itself. (Skewed clocks across processes?)

@mknyszek
Copy link
Contributor

mknyszek commented Apr 9, 2025

In triage, we might want to wait for more failures. I agree with @randall77.

@mknyszek mknyszek added this to the Backlog milestone Apr 9, 2025
@mknyszek mknyszek added the WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. label Apr 9, 2025
@mknyszek mknyszek changed the title runtime:cpu2: TestGcLastTime failures runtime: TestGcLastTime failures Apr 9, 2025
@mknyszek
Copy link
Contributor

mknyszek commented Apr 9, 2025

Maybe the test could be slightly more robust by calling LockOSThread? That seems like a hack though. This sort of thing should just work, but time is hard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Projects
Status: No status
Development

No branches or pull requests

3 participants