http://bugs.winehq.org/show_bug.cgi?id=12854
Summary: ntdll change.ok test fails in PC-BSD but not Linux Product: Wine Version: 0.9.60 Platform: PC OS/Version: FreeBSD Status: NEW Keywords: testcase Severity: minor Priority: P2 Component: kernel32 AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com
Created an attachment (id=12551) --> (http://bugs.winehq.org/attachment.cgi?id=12551) +file in git, bzip2 -9'ed
Change.ok is full of failures in PC-BSD:
change.c:117: Test failed: event should be ready change.c:119: Test failed: information wrong change.c:120: Test failed: information wrong change.c:124: Test failed: action wrong change.c:125: Test failed: len wrong change.c:126: Test failed: name wrong
Total of 26.
Attached is a +file log.
http://bugs.winehq.org/show_bug.cgi?id=12854
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|kernel32 |ntdll
http://bugs.winehq.org/show_bug.cgi?id=12854
--- Comment #1 from Dmitry Timoshkov dmitry@codeweavers.com 2008-04-29 00:52:19 --- The reason for the test failures is that there is no BSD support for file change notifications in Wine.
http://bugs.winehq.org/show_bug.cgi?id=12854
--- Comment #2 from Austin English austinenglish@gmail.com 2008-04-29 01:05:15 --- (In reply to comment #1)
The reason for the test failures is that there is no BSD support for file change notifications in Wine.
How important are file change notifications to wine? Would a skip be more appropriate?
http://bugs.winehq.org/show_bug.cgi?id=12854
--- Comment #3 from James Hawkins truiken@gmail.com 2008-04-29 01:08:48 --- If it weren't important, it wouldn't be tested, so a skip is not appropriate.
http://bugs.winehq.org/show_bug.cgi?id=12854
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kris@pcbsd.org
--- Comment #4 from Austin English austinenglish@gmail.com 2008-04-29 01:17:17 --- (In reply to comment #3)
If it weren't important, it wouldn't be tested, so a skip is not appropriate.
Touche, but there are some things tested that if not implemented, are not deadly to all/most apps (gecko/wininet/etc.). If file changes are not implemented, what all will fail?
CC'ing Kris.
http://bugs.winehq.org/show_bug.cgi?id=12854
--- Comment #5 from Dmitry Timoshkov dmitry@codeweavers.com 2008-04-29 01:21:36 --- A lot of applications use file change notifications to track the file system changes, one of them is Picasa.
http://bugs.winehq.org/show_bug.cgi?id=12854
--- Comment #6 from Austin English austinenglish@gmail.com 2008-05-14 15:37:20 --- Also affects OpenSolaris (build 85).
http://bugs.winehq.org/show_bug.cgi?id=12854
--- Comment #7 from Austin English austinenglish@gmail.com 2008-08-11 15:59:19 --- Still present in git.
http://bugs.winehq.org/show_bug.cgi?id=12854
--- Comment #8 from Austin English austinenglish@gmail.com 2009-02-20 11:08:58 --- Still present in git.
http://bugs.winehq.org/show_bug.cgi?id=12854
--- Comment #9 from Austin English austinenglish@gmail.com 2009-07-16 11:19:51 --- Also affects OS X: http://test.winehq.org/data/675e6e93b1d2b4555d05e311764510abf763d21d/wine_jc...
http://bugs.winehq.org/show_bug.cgi?id=12854
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|ntdll change.ok test fails |ntdll change.ok test fails |in PC-BSD but not Linux |in PC-BSD/OS X but not | |Linux
http://bugs.winehq.org/show_bug.cgi?id=12854
Xavier Vachon xvachon@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xvachon@gmail.com
--- Comment #10 from Xavier Vachon xvachon@gmail.com 2010-10-27 14:35:13 CDT --- Is this still an issue in current git (1.3.5)?
http://bugs.winehq.org/show_bug.cgi?id=12854
--- Comment #11 from Austin English austinenglish@gmail.com 2010-10-28 13:03:05 CDT --- In yesterday's git, yes.
http://bugs.winehq.org/show_bug.cgi?id=12854
--- Comment #12 from Austin English austinenglish@gmail.com 2011-10-11 17:39:23 CDT --- Still in 1.3.30.
http://bugs.winehq.org/show_bug.cgi?id=12854
--- Comment #13 from Austin English austinenglish@gmail.com 2013-07-01 20:12:42 CDT --- Still in 1.6-rc4: http://test.winehq.org/data/2d0653e2b2851131540a56d24950746dcca36a48/bsd_ae-...
https://bugs.winehq.org/show_bug.cgi?id=12854
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|ntdll change.ok test fails |ntdll:change fails in |in PC-BSD/OS X but not |PC-BSD/OS X but not Linux |Linux | Keywords| |source CC| |fgouget@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=12854
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |damjan.jov@gmail.com
--- Comment #14 from Damjan Jovanovic damjan.jov@gmail.com --- I did send several patches for this bug, which implement change notifications through libinotify-kqueue. The hard part was translating fds to paths when a change is detected:
https://source.winehq.org/patches/data/218445 Racy, path can change outside Wine.
https://www.winehq.org/pipermail/wine-devel/2021-December/202494.html No feedback.
Even with those patches, some change.ok tests still fail, because the way libinotify-kqueue is implemented, it takes some time for a notification to come through, whereas on Linux inotify notifications are synchronous, appearing before return from the system call affecting the file. I don't know how much this is a problem in practice. I reported it upstream: https://github.com/libinotify-kqueue/libinotify-kqueue/issues/15
https://bugs.winehq.org/show_bug.cgi?id=12854
--- Comment #15 from François Gouget fgouget@codeweavers.com --- Created attachment 75110 --> https://bugs.winehq.org/attachment.cgi?id=75110 server: support inotify file change notifications on FreeBSD
Patch from: https://www.winehq.org/mailman3/hyperkitty/list/wine-devel@winehq.org/messag...
See also Damjan Jovanovic's email stating that the fd->path translation must be done differently on macOS, NetBSD and OpenBSD: https://www.winehq.org/mailman3/hyperkitty/list/wine-devel@winehq.org/messag...
So the patch probably still needs to be modified so Wine is built without file change notification in case there it no fd->path support for the platform instead of causing a build error.
For macOS proc_pidinfo() may be the way to go: http://blog.palominolabs.com/2012/06/19/getting-the-files-being-used-by-a-pr...