[Bug 28290] New: shell32/shelllink.ok test flaky
http://bugs.winehq.org/show_bug.cgi?id=28290 Summary: shell32/shelllink.ok test flaky Product: Wine Version: 1.3.27 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: shell32 AssignedTo: wine-bugs(a)winehq.org ReportedBy: dank(a)kegel.com When running with WINEDEBUG=warn+heap (on my 32 bit i7 natty box running in low power mode, fwiw), twice I've hit the error ../../../tools/runtest -q -P wine -M shell32.dll -T ../../.. -p shell32_test.exe.so shelllink.c && touch shelllink.ok shelllink.c:728: Test failed: save failed (0x80070020) shelllink.c:728: Test failed: got 0x00000001 shelllink.c:728: Test failed: Didn't expect NULL shelllink.c:474: Test failed: GetCurFile fails on shell32 < 5.0 shelllink.c:732: Test failed: GetDescription returned 'command on path' instead of 'command on path without .exe' This test keeps overwriting the same file with new data, iirc. The previous thing it wrote was "command on path", so it looks like the immediately previous testcase sometimes leaves a reference dangling? I think 0x80070020 is "sharing violation". -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=28290 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, testcase CC| |austinenglish(a)gmail.com --- Comment #1 from Austin English <austinenglish(a)gmail.com> --- wine-1.7.36-145-ga1459aa I ran this 25 times, no problem. Kicked it up to 1000, failed on try 56: shelllink.c:769: Test failed: save failed (0x80070020) shelllink.c:769: Test failed: got 0x00000001 shelllink.c:769: Test failed: Didn't expect NULL shelllink.c:464: Test failed: GetCurFile fails on shell32 < 5.0 shelllink.c:771: Test failed: GetIconLocation returned 'C:\users\austin\Temp\test.txt' instead of 'C:\users\austin\Temp\\test.txt' adding +shell, and it failed on try 2. I'll attach the log. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=28290 --- Comment #2 from Austin English <austinenglish(a)gmail.com> --- Created attachment 50782 --> https://bugs.winehq.org/attachment.cgi?id=50782 warn+heap,+shell trace -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=28290 François Gouget <fgouget(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|download |source CC| |fgouget(a)codeweavers.com Summary|shell32/shelllink.ok test |shell32:shelllink test |flaky |flaky -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=28290 Bernhard Übelacker <bernhardu(a)mailbox.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bernhardu(a)mailbox.org --- Comment #3 from Bernhard Übelacker <bernhardu(a)mailbox.org> --- I tried to take a deeper look and it looks like the IPersistFile_fnSave is failing before the crash, because of SHCreateStreamOnFileW - SHCreateStreamOnFileEx - CreateFileW is returning STATUS_SHARING_VIOLATION/ERROR_SHARING_VIOLATION. This looks like a result of several processes "winemenubuilder.exe -w" get started which take way longer than the individual tests and one of them happens to have the test.lnk file exclusively opened while the test also wants to open test.lnk again. A sledge hammer might be to "WaitForSingleObject( pi.hProcess..." after the "CreateProcessW" in run_winemenubuilder in shelllink.c:327. At least with this the crash did not happen in a tight loop of 100 test runs, which produced in the range of 4 failures without the syncronisation. Or maybe should SHCreateStreamOnFileEx make more attempts to open the file in the hope winemenubuilder finished later? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=28290 François Gouget <fgouget(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|shell32:shelllink test |shell32:shelllink - |flaky |test_load_save() crashes | |randomly in Wine -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=28290 --- Comment #4 from François Gouget <fgouget(a)codeweavers.com> --- These crashes are still happening and the create_lnk() call that leads to the crash is not not always the same. That's consistent with the analysis in comment 3. Here are the current traces: shelllink.c:775: Test failed: save(path, TRUE) failed (0x80070020) shelllink.c:775: Test failed: dirty(path, TRUE) (0x00000000) shelllink.c:775: Test failed: GetCurFile(path, TRUE) got 0x00000001 shelllink.c:775: Test failed: GetCurFile(path, TRUE) Didn't expect NULL Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x6a2e938d). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=28290 François Gouget <fgouget(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |f49a30167a945062e197dcbd884 | |8c9f46ef3da26 --- Comment #5 from François Gouget <fgouget(a)codeweavers.com> --- shell32:shelllink stil crashes but in a different place. The last known instance of this failure happened on 2022-08-16 on fgtb-debian11-wow32 and was fixed by the commit below: commit f49a30167a945062e197dcbd8848c9f46ef3da26 Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Sep 1 15:59:41 2022 +0200 shell32: Fix sharing modes when loading/saving link files. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=28290 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #6 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 8.0-rc1. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (2)
-
wine-bugs@winehq.org -
WineHQ Bugzilla