Navigation Menu

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

Closed
bcmills opened this issue Nov 22, 2021 · 8 comments
Closed
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. okay-after-beta1 Used by release team to mark a release-blocker issue as okay to resolve either before or after beta1 OS-Windows release-blocker
Milestone

Comments

@bcmills
Copy link
Contributor

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 Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. OS-Windows labels Nov 22, 2021
@bufflig
Copy link
Contributor

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
Contributor Author

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
Contributor Author

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

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

@gopherbot
Copy link

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

@bcmills bcmills modified the milestones: Unreleased, Go1.19 Apr 12, 2022
@bcmills
Copy link
Contributor Author

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 The path to resolution is known, but the work has not been done. label Apr 12, 2022
@gopherbot gopherbot removed the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Apr 12, 2022
@bcmills
Copy link
Contributor Author

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.

@dmitshur dmitshur added the okay-after-beta1 Used by release team to mark a release-blocker issue as okay to resolve either before or after beta1 label Jun 1, 2022
@bcmills
Copy link
Contributor Author

bcmills commented Jun 2, 2022

Fixed by deleting the affected package. 😁

@rsc rsc unassigned bcmills Jun 23, 2022
@golang golang locked and limited conversation to collaborators Jun 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done. okay-after-beta1 Used by release team to mark a release-blocker issue as okay to resolve either before or after beta1 OS-Windows release-blocker
Projects
None yet
Development

No branches or pull requests

4 participants