http://bugs.winehq.org/show_bug.cgi?id=28257
Summary: kernel32/pipe.ok fails / times out when run with WINEDEBUG=warn+heap Product: Wine Version: 1.3.27 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: kernel32 AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com
Here's a log:
$ WINEDEBUG=warn+heap make pipe.ok ../../../tools/runtest -q -P wine -M kernel32.dll -T ../../.. -p kernel32_test.exe.so pipe.c && touch pipe.ok pipe.c:713: Test failed: ConnectNamedPipe GetQueuedCompletionStatus failed, errno=258 pipe.c:398: Test failed: alarm make: *** [pipe.ok] Error 1
Blithely doubling timeouts didn't seem to help at first glance.
http://bugs.winehq.org/show_bug.cgi?id=28257
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|kernel32/pipe.ok fails / |kernel32/pipe.ok flaky |times out when run with | |WINEDEBUG=warn+heap |
--- Comment #1 from Dan Kegel dank@kegel.com 2011-09-07 09:16:51 CDT --- I just saw it on a normal run, so it doesn't seem to require WINEDEBUG=warn+heap.
../../../tools/runtest -q -P wine -M kernel32.dll -T ../../.. -p kernel32_test.exe.so pipe.c && touch pipe.ok pipe.c:713: Test failed: ConnectNamedPipe GetQueuedCompletionStatus failed, errno=258 pipe.c:398: Test failed: alarm http://buildbot.kegel.com/builders/runtests-default/builds/64
os: Ubuntu 11.04, 2.6.38-11-generic-pae, pulseaudio 0.9.22-24-g67d18, Advanced Linux Sound Architecture Driver Version 1.0.23. ram: 4020 MB cpu: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz gpu: GeForce GT 220/PCI/SSE2 3.3.0 NVIDIA 270.41.06
http://bugs.winehq.org/show_bug.cgi?id=28257
--- Comment #2 from Dan Kegel dank@kegel.com 2011-10-02 23:20:56 CDT --- Annoyingly, running it again if it fails the first time doesn't seem to help; here's a log:
../../../tools/runtest -q -P wine -M kernel32.dll -T ../../.. -p kernel32_test.exe.so pipe.c && touch pipe.ok pipe.c:731: Test failed: ConnectNamedPipe GetQueuedCompletionStatus failed, errno=258 pipe.c:415: Test failed: alarm make: *** [pipe.ok] Error 1 + echo dlls/kernel32/tests/pipe.ok did not pass on first try, but it's marked flaky, so trying again, see bug 28257 . + make pipe.ok ../../../tools/runtest -q -P wine -M kernel32.dll -T ../../.. -p kernel32_test.exe.so pipe.c && touch pipe.ok pipe.c:731: Test failed: ConnectNamedPipe GetQueuedCompletionStatus failed, errno=258 pipe.c:415: Test failed: alarm make: *** [pipe.ok] Error 1 + echo dlls/kernel32/tests/pipe.ok FAILED on second try; see bug 28257 .
http://bugs.winehq.org/show_bug.cgi?id=28257
--- Comment #3 from Dan Kegel dank@kegel.com 2011-10-02 23:27:37 CDT --- Both runs where I saw two failures in a row were on my i7, with WINEDEBUG=warn+heap.
http://bugs.winehq.org/show_bug.cgi?id=28257
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source, testcase Severity|normal |major
--- Comment #4 from Dan Kegel dank@kegel.com 2011-10-03 05:38:18 CDT --- I've seen the two-failures-in-a-row about a dozen times now (out of 100 or so runs), so it's pretty repeatable.
And now on my a8-3850, without WINEDEBUG set, I got another failure mode: pipe.c:598: Test failed: overlapped ConnectNamedPipe pipe.c:615: Test failed: GetOverlappedResult ConnectNamedPipe pipe.c:626: Test failed: overlapped ReadFile pipe.c:644: Test failed: overlapped ReadFile pipe.c:650: Test failed: overlapped WriteFile pipe.c:668: Test failed: overlapped WriteFile pipe.c:673: Test failed: DisconnectNamedPipe pipe.c:817: Test failed: client opening named pipe pipe.c:822: Test failed: WriteFile to client end of pipe pipe.c:823: Test failed: write file len pipe.c:825: Test failed: ReadFile from client end of pipe pipe.c:826: Test failed: read file len pipe.c:830: Test failed: CloseHandle ... make: *** [pipe.ok] Error 13
Promoting this test from FLAKY to WICKED (what else do you call a flaky bug that confounds your efforts to work around flaky bugs by rerunning them?)
Raising importance one step, since a house with leaky pipes is not a happy house.
http://bugs.winehq.org/show_bug.cgi?id=28257
--- Comment #5 from Dan Kegel dank@kegel.com 2011-10-03 11:31:51 CDT --- Created attachment 36693 --> http://bugs.winehq.org/attachment.cgi?id=36693 env WINETEST_PLATFORM=wine WINEDEBUG=warn+heap,+sync wine kernel32_test.exe.so pipe.c
Seems to fail reliably on first try on the two machines I've tried (i7 and e 8300). Hmm.
http://bugs.winehq.org/show_bug.cgi?id=28257
jhgf bernhardloos@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch CC| |bernhardloos@googlemail.com Component|kernel32 |wineserver
http://bugs.winehq.org/show_bug.cgi?id=28257
--- Comment #6 from jhgf bernhardloos@googlemail.com 2011-10-04 09:32:35 CDT --- Created attachment 36704 --> http://bugs.winehq.org/attachment.cgi?id=36704 reproduce the bug every time
On windows, the DisconnectNamedPipe call disconnects the named pipe completly. In wine, the pipe will go into a wait_disconnect state and the actual disconnect only happens once all handles to the client end of the pipe are closed. Until then ConnectNamedPipe calls will fail with ERROR_PIPE_BUSY.
http://bugs.winehq.org/show_bug.cgi?id=28257
--- Comment #7 from jhgf bernhardloos@googlemail.com 2011-10-04 09:38:05 CDT --- Created attachment 36705 --> http://bugs.winehq.org/attachment.cgi?id=36705 a fix (not ready for primetime yet)
This patch fixes the bug itself and the tests I tried still work, but the named pipe code in wineserver is tricky and I will have to spend some more time thinking about it. So expect some problems.
https://bugs.winehq.org/show_bug.cgi?id=28257
--- Comment #8 from Austin English austinenglish@gmail.com --- I had to hack out a couple tests that consistently fail, but then running in a loop eventually failed with:
../../../tools/runtest -q -P wine -T ../../.. -M kernel32.dll -p kernel32_test.exe.so pipe && touch pipe.ok pipe.c:745: Test failed: ConnectNamedPipe GetQueuedCompletionStatus failed, errno=258 pipe.c:427: Test failed: alarm
wine-1.7.14-165-g77bd74f
https://bugs.winehq.org/show_bug.cgi?id=28257
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #9 from joaopa jeremielapuree@yahoo.fr --- Created attachment 66601 --> https://bugs.winehq.org/attachment.cgi?id=66601 console output for make pipe.ok
Looks like it is fixed in wine-5.3
Can an administrator close this bug as FIXED?
https://bugs.winehq.org/show_bug.cgi?id=28257
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED CC| |fgouget@codeweavers.com
--- Comment #10 from François Gouget fgouget@codeweavers.com --- It does seem to be fixed: https://test.winehq.org/data/patterns.html#kernel32:pipe
https://bugs.winehq.org/show_bug.cgi?id=28257
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.15.