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

x/exp/winfsnotify: TestNotifyEvents failures missing events on nested file #49734

Open
bcmills opened this issue Nov 22, 2021 · 7 comments
Open

x/exp/winfsnotify: TestNotifyEvents failures missing events on nested file #49734

bcmills opened this issue Nov 22, 2021 · 7 comments
Assignees
Labels
NeedsFix OS-Windows release-blocker
Milestone

Comments

@bcmills
Copy link
Member

@bcmills bcmills commented Nov 22, 2021

--- FAIL: TestNotifyEvents (0.00s)
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x100
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x100 == FS_CREATE
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x2
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x2 == FS_MODIFY
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x2
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x2 == FS_MODIFY
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x40
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x40 == FS_MOVED_FROM
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile.new": 0x80
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile.new": 0x80 == FS_MOVED_TO
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x800
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile": 0x800 == FS_MOVE_SELF
    winfsnotify_test.go:18: expected: "TestNotifyEvents.testdirectory/TestNotifyEvents.testfile.new": 0x400
    winfsnotify_test.go:24: received: "TestNotifyEvents.testdirectory": 0x400 == FS_DELETE_SELF
    winfsnotify_test.go:26: did not receive expected event
FAIL
FAIL	golang.org/x/exp/winfsnotify	0.119s

greplogs --dashboard -md -l -e 'FAIL: TestNotifyEvents'

2021-11-08T14:49:56-14c7236-ab31dbc/windows-amd64-2016
2021-09-02T17:30:32-a062eea-7609b50/windows-386-2008
2021-05-05T20:34:22-b3083d5-15557af/windows-386-2008

As far as I can tell this package is more-or-less unchanged from CL 4188047, over 10 years ago(!).

My best guess is that perhaps the test is overspecified: perhaps the OS sometimes delivers the events out of order between the parent directory and the child within it.

CC @bufflig @alexbrainman @mattn @hectorchu

@gopherbot gopherbot added this to the Unreleased milestone Nov 22, 2021
@bcmills bcmills added NeedsInvestigation OS-Windows labels Nov 22, 2021
@bufflig
Copy link
Contributor

@bufflig bufflig commented Nov 23, 2021

It's possible. The events arrive in batches, so you could imagine that it sometimes manages to collect several events in one batch and sometimes not, and that that could alter the order. Not the best interface if that is true though...

Flushing the events if things go wrong could help us see if that is the case. I put it on my todo list...

@bufflig bufflig self-assigned this Nov 23, 2021
@bcmills
Copy link
Member Author

@bcmills bcmills commented Jan 18, 2022

greplogs --dashboard -md -l -e 'FAIL: TestNotifyEvents' --since=2021-11-22

2022-01-04T21:10:15-025e73f-1c8f9d2/windows-amd64-longtest
2021-11-22T20:34:40-ba1b3c3-f13fcd9/windows-386-2012

@bcmills
Copy link
Member Author

@bcmills bcmills commented Mar 3, 2022

greplogs --dashboard -md -l -e 'FAIL: TestNotifyEvents' --since=2022-01-18

2022-03-01T19:33:00-6cf2b20-258fc75/windows-amd64-2016
2022-02-11T20:01:24-160e291-bcee121/windows-amd64-2016

@gopherbot
Copy link

@gopherbot gopherbot commented Mar 3, 2022

Change https://go.dev/cl/389614 mentions this issue: winfsnotify: skip TestNotifyEvents

@gopherbot
Copy link

@gopherbot gopherbot commented Apr 12, 2022

Change https://go.dev/cl/389615 mentions this issue: winfsnotify: delete package

@bcmills bcmills removed this from the Unreleased milestone Apr 12, 2022
@bcmills bcmills added this to the Go1.19 milestone Apr 12, 2022
@bcmills
Copy link
Member Author

@bcmills bcmills commented Apr 12, 2022

Marking as release-blocker via #11811 because windows/amd64 and windows/386 are first-class ports. This will be fixed by deleting the package outright (accepted in proposal #51447).

greplogs --dashboard -md -l -e 'FAIL: TestNotifyEvents' --since=2022-03-02

2022-04-11T22:03:44-7b9b53b-0605bf6/windows-amd64-2016

@bcmills bcmills self-assigned this Apr 12, 2022
@bcmills bcmills added the NeedsFix label Apr 12, 2022
@gopherbot gopherbot removed the NeedsInvestigation label Apr 12, 2022
@bcmills
Copy link
Member Author

@bcmills bcmills commented May 13, 2022

This is waiting on a review of the CLs to implement the (approved) proposal to delete the package and its test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsFix OS-Windows release-blocker
Projects
None yet
Development

No branches or pull requests

3 participants