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: TestRemoveAllRace failures with "directory not empty" on dragonfly-amd64 #52301

Open
bcmills opened this issue Apr 12, 2022 · 6 comments
Open
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-Dragonfly
Milestone

Comments

@bcmills
Copy link
Member

bcmills commented Apr 12, 2022

#!watchflakes
post <- goos == "dragonfly" && pkg == "os" && test == "TestRemoveAllRace" && `directory not empty`

greplogs --dashboard -md -l -e 'FAIL: TestRemoveAllRace .*(?:\n .*)*directory not empty' --since=2022-01-01

2022-04-12T03:07:42-d4dbad5/dragonfly-amd64
2022-03-21T18:58:34-d8ce7ae/dragonfly-amd64

This failure mode seems to occur instead of the invalid argument failure mode observed in #50716 (attn @tuxillo).

@bcmills bcmills added OS-Dragonfly NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Apr 12, 2022
@bcmills bcmills added this to the Go1.19 milestone Apr 12, 2022
@bcmills
Copy link
Member Author

bcmills commented Apr 12, 2022

See previously #33403 (especially relevant because it was also reported on DragonFly).

@bcmills
Copy link
Member Author

bcmills commented Apr 25, 2022

greplogs --dashboard -md -l -e 'FAIL: TestRemoveAllRace .*(?:\n .*)*directory not empty' --since=2022-04-13

2022-04-22T15:46:52-65d7345/dragonfly-amd64

@gopherbot
Copy link

Change https://go.dev/cl/402155 mentions this issue: os: skip TestRemoveAllRace on dragonfly

@tuxillo
Copy link
Contributor

tuxillo commented Apr 25, 2022

@bcmills seems like we should have a look at our unlinkat(2) implementation, right?

@bcmills
Copy link
Member Author

bcmills commented Apr 25, 2022

Yep, looks like unlinkat(2) is the thing to check:
https://cs.opensource.google/go/go/+/master:src/os/removeall_at.go

gopherbot pushed a commit that referenced this issue Apr 25, 2022
This test occasionally fails on the dragonfly-amd64 builder with
"directory not empty". Since that is the only platform on which we
observe these failures, and since the test had a different (and also
invalid-looking) failure mode prior to this one (in #50716), we
suspect that it is due to either a bug in the platform or a
platform-specific Go bug.

For #52301.

Change-Id: Id36c499651b9c48e6b8b0107d01f73d2a7b6bab8
Reviewed-on: https://go-review.googlesource.com/c/go/+/402155
Run-TryBot: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
@ianlancetaylor
Copy link
Contributor

Moving to Backlog. Please comment if you disagree. Thanks.

@ianlancetaylor ianlancetaylor modified the milestones: Go1.19, Backlog Jun 24, 2022
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

4 participants