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

os: apparent deadlock in TestFifoEOF on dragonfly #62727

Open
gopherbot opened this issue Sep 19, 2023 · 6 comments
Open

os: apparent deadlock in TestFifoEOF on dragonfly #62727

gopherbot opened this issue Sep 19, 2023 · 6 comments
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-Dragonfly
Milestone

Comments

@gopherbot
Copy link

gopherbot commented Sep 19, 2023

#!watchflakes
post <- goos == "dragonfly" && pkg == "os" && test == "TestFifoEOF" && `panic: test timed out`

Issue created automatically to collect these failures.

Example (log):

panic: test timed out after 3m0s
running tests:
	TestFifoEOF (3m0s)

syscall.Syscall(0x5, 0xc0000ba210, 0x20001, 0x0)
	/tmp/workdir/go/src/syscall/asm_unix_amd64.s:19 +0x9 fp=0xc0000afde0 sp=0xc0000afdd0 pc=0x47b169
syscall.Open({0xc0000ba1b0?, 0x28?}, 0x59e080?, 0x0)
	/tmp/workdir/go/src/syscall/zsyscall_dragonfly_amd64.go:848 +0x87 fp=0xc0000afe50 sp=0xc0000afde0 pc=0x479b07
os.open(...)
	/tmp/workdir/go/src/os/file_open_unix.go:15
os.openFileNolog({0xc0000ba1b0, 0x2f}, 0x1, 0x0)
	/tmp/workdir/go/src/os/file_unix.go:272 +0xe5 fp=0xc0000afea0 sp=0xc0000afe50 pc=0x49dec5
os.OpenFile({0xc0000ba1b0, 0x2f}, 0x1, 0x621dc4?)
	/tmp/workdir/go/src/os/file.go:334 +0x3e fp=0xc0000afed8 sp=0xc0000afea0 pc=0x49b8de
os_test.TestFifoEOF(0xc000146b60)
	/tmp/workdir/go/src/os/fifo_test.go:50 +0x168 fp=0xc0000aff70 sp=0xc0000afed8 pc=0x53b788
testing.tRunner(0xc000146b60, 0x5c59f0)

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 Sep 19, 2023
@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
default <- pkg == "os" && test == "TestFifoEOF"
2023-09-18 20:29 dragonfly-amd64-622 go@5b123aea os.TestFifoEOF (log)
panic: test timed out after 3m0s
running tests:
	TestFifoEOF (3m0s)

syscall.Syscall(0x5, 0xc0000ba210, 0x20001, 0x0)
	/tmp/workdir/go/src/syscall/asm_unix_amd64.s:19 +0x9 fp=0xc0000afde0 sp=0xc0000afdd0 pc=0x47b169
syscall.Open({0xc0000ba1b0?, 0x28?}, 0x59e080?, 0x0)
	/tmp/workdir/go/src/syscall/zsyscall_dragonfly_amd64.go:848 +0x87 fp=0xc0000afe50 sp=0xc0000afde0 pc=0x479b07
os.open(...)
	/tmp/workdir/go/src/os/file_open_unix.go:15
os.openFileNolog({0xc0000ba1b0, 0x2f}, 0x1, 0x0)
	/tmp/workdir/go/src/os/file_unix.go:272 +0xe5 fp=0xc0000afea0 sp=0xc0000afe50 pc=0x49dec5
os.OpenFile({0xc0000ba1b0, 0x2f}, 0x1, 0x621dc4?)
	/tmp/workdir/go/src/os/file.go:334 +0x3e fp=0xc0000afed8 sp=0xc0000afea0 pc=0x49b8de
os_test.TestFifoEOF(0xc000146b60)
	/tmp/workdir/go/src/os/fifo_test.go:50 +0x168 fp=0xc0000aff70 sp=0xc0000afed8 pc=0x53b788
testing.tRunner(0xc000146b60, 0x5c59f0)

watchflakes

@bcmills bcmills changed the title os: TestFifoEOF failures os: apparent deadlock in TestFifoEOF on dragonfly Sep 19, 2023
@bcmills bcmills added this to the Backlog milestone Sep 19, 2023
@bcmills
Copy link
Contributor

bcmills commented Sep 19, 2023

(attn @golang/dragonfly)

@bcmills
Copy link
Contributor

bcmills commented Sep 19, 2023

See previously #25877, #36107, #55207.

@bcmills
Copy link
Contributor

bcmills commented Sep 19, 2023

Note that in the goroutine dump, the os.Open goroutine is not present, suggesting that that call to syscall.Open succeeded (or perhaps failed spuriously?) and unblocked.

(https://cs.opensource.google/go/go/+/master:src/os/fifo_test.go;l=31-53;drc=f777726ff073f8066c017649b572bd8c40940a42)

@tuxillo
Copy link
Contributor

tuxillo commented Sep 19, 2023

I'm thinking the first step is probably updating that build environment from 6.2 to 6.4 .

I've tried the OpenBSD example code in #25877 but it finishes ok, at least in a current DragonFly version:

❯ ./t_fifo
reader: os.OpenFile
writer: os.OpenFile
reader: os.OpenFile done
❯ go version
go version go1.20.3 dragonfly/amd64
                       

@bcmills
Copy link
Contributor

bcmills commented Sep 19, 2023

Note that the rate of these failures on the dragonfly builder is quite low. (I suspect it's a race condition somewhere, which would make it difficult to reproduce.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-Dragonfly
Projects
Status: No status
Development

No branches or pull requests

3 participants