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: TestMemmoveOverlapLarge0x120000 failures #59448

Open
gopherbot opened this issue Apr 5, 2023 · 4 comments
Open

runtime: TestMemmoveOverlapLarge0x120000 failures #59448

gopherbot opened this issue Apr 5, 2023 · 4 comments
Assignees
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.
Milestone

Comments

@gopherbot
Copy link

#!watchflakes
post <- pkg == "runtime" && test == "TestMemmoveOverlapLarge0x120000"

Issue created automatically to collect these failures.

Example (log):

--- FAIL: TestMemmoveOverlapLarge0x120000 (5.25s)
    memmove_test.go:166: Copy failed, copying from src[8:4615] to dst[1:4608].
        Offset 360448 is different, 180 != 180

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 Apr 5, 2023
@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "runtime" && test == "TestMemmoveOverlapLarge0x120000"
2023-04-04 21:20 darwin-amd64-12_0 go@2f2b874b runtime.TestMemmoveOverlapLarge0x120000 (log)
--- FAIL: TestMemmoveOverlapLarge0x120000 (5.25s)
    memmove_test.go:166: Copy failed, copying from src[8:4615] to dst[1:4608].
        Offset 360448 is different, 180 != 180

watchflakes

@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Apr 5, 2023
@mknyszek mknyszek added this to the Backlog milestone Apr 5, 2023
@cherrymui
Copy link
Member

The test code doesn't look racy. This is copying test[8:4615] to test[1:4608], and the memory at offset 360448 isn't even being touched. So it doesn't look like a bug in memmove implementation. Also doesn't look like a compiler bug, otherwise I'd expect it fails more deterministically.

Maybe a memory error? 360448 is 0x58000. Maybe there is some glitch at page boundary?

@bcmills
Copy link
Contributor

bcmills commented Apr 6, 2023

The 180 != 180 part of that log message is also suspicious, since it seems to indicate that the value went back to being equal after the comparison.

Could be register corruption during the call to matchLen? (Maybe the call got interrupted by a signal?)

@bcmills
Copy link
Contributor

bcmills commented Apr 6, 2023

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.
Projects
Status: No status
Development

No branches or pull requests

4 participants