https://bugs.winehq.org/show_bug.cgi?id=46275
Bug ID: 46275 Summary: Some autocomplete tests fail on Win2k3 VM Product: Wine Version: 4.0-rc1 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: shell32 Assignee: wine-bugs@winehq.org Reporter: bunglehead@gmail.com Distribution: ---
Running on Win 2k3 testbot VM shows some test failures:
autocomplete.c:600: Test failed: Expected (null), got L"aa" autocomplete.c:608: Test failed: Expected (null), got L"http://abc.aa.com" autocomplete.c:623: Test failed: Expected (null), got L"http://www.add" autocomplete.c:636: Test failed: Expected (null), got L"https://hta" autocomplete.c:653: Test failed: Expected (null), got L"http://abc.aa.com" autocomplete.c:660: Test failed: AutoComplete DropDown not visible autocomplete.c:660: Test failed: AutoComplete DropDown not visible autocomplete.c:660: Test failed: Expected L"http://a0", got (null) autocomplete.c:660: Test failed: AutoComplete DropDown not visible autocomplete.c:660: Test failed: Expected L"http://abc.aa.com", got (null) autocomplete.c:660: Test failed: AutoComplete DropDown not visible autocomplete.c:666: Test failed: Expected (null), got L"ftp://abc" 0d08:autocomplete: 132 tests executed (0 marked as todo, 12 failures), 0 skipped.
This was introduced recently with this:
commit 8a8bab3ac8d9692624f0b71d99bef770acf5b09a Author: Gabriel Ivăncescu gabrielopcode@gmail.com Date: Wed Nov 28 18:27:48 2018 +0200
shell32/tests: Add tests for ACO_FILTERPREFIXES.
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=46275
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gabrielopcode@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=46275
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- OS|Linux |Windows
https://bugs.winehq.org/show_bug.cgi?id=46275
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |8a8bab3ac8d9692624f0b71d99b | |ef770acf5b09a Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=46275
--- Comment #1 from Gabriel Ivăncescu gabrielopcode@gmail.com --- Those errors seem weird. Why does Windows 2000 duplicate some items at the end of the dropdown? Or perhaps it doesn't wrap around properly?
What basically happens in most of them (except the "not visible" part which is odd) is that we simulate a down key press to go through the dropdown, and then at the end we expect it to wrap around into the special "none" that returns NULL from GetDropDownStatus, which works on anything else.
In either case, should I add a broken check for W2K in this situation?
By the way, I added a dummy test just to confirm it's not a one-off thing, and it timed out: https://testbot.winehq.org/JobDetails.pl?Key=45627
https://bugs.winehq.org/show_bug.cgi?id=46275
--- Comment #2 from Nikolay Sivov bunglehead@gmail.com --- You submitted to Windows 2000 VM, failures I mentioned are from Windows 2003.
https://bugs.winehq.org/show_bug.cgi?id=46275
--- Comment #3 from Gabriel Ivăncescu gabrielopcode@gmail.com --- Sorry about that, I misread, but I got no errors on Win 2k3: https://testbot.winehq.org/JobDetails.pl?Key=45629
There are some known issues with dispatch_message since it uses an arbitrary Sleep. Windows handles the autocompletion enumeration etc in a separate thread. Fixing it requires quite a hack workaround, Huw decided it wasn't worth it since it complicates the tests too much. (it involves subclassing the editbox after AutoComplete, listening to specific WM_APP message (or registered message) and signaling that the autocompletion was done; however, additional complications arise for ResetEnumerator because then it doesn't even signal to the main thread so we have to use a custom signal from within IEnumString::Reset, which is too hacky).
However, I don't actually see *why* it would specifically have to do with dispatch_message here, in this particular case. Perhaps there was a bug with the keydown/keyup when the VM was overloaded or something, I don't know.
But I guess it was a false alarm.
https://bugs.winehq.org/show_bug.cgi?id=46275
--- Comment #4 from Nikolay Sivov bunglehead@gmail.com --- I'm looking at this page http://test.winehq.org/data/tests/shell32:autocomplete.html. As you can see it consistently fails in last 8 runs.
https://bugs.winehq.org/show_bug.cgi?id=46275
--- Comment #5 from Gabriel Ivăncescu gabrielopcode@gmail.com --- Created attachment 62983 --> https://bugs.winehq.org/attachment.cgi?id=62983 Patch that removes the arbitrary Sleeps
This is the (rebased) patch that drops all arbitrary Sleeps and uses message signals.
I don't know if it will fix this. testbot results are clean, though (https://testbot.winehq.org/JobDetails.pl?Key=45630). But no idea about that page you linked to. To test that page's results, it would have to be committed... Maybe it's worth the hack now?
Oh, one more thing: it easily fails if you press up/down while the test is running. Perhaps other keys as well. No idea what the VM does since it shouldn't, just some food for thought.
https://bugs.winehq.org/show_bug.cgi?id=46275
Gabriel Ivăncescu gabrielopcode@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |huw@codeweavers.com
--- Comment #6 from Gabriel Ivăncescu gabrielopcode@gmail.com --- CCing Huw since he saw the hack before, so his opinion is needed :-)
But again I don't know if it will fix this, don't even know how to test it since the failures seem random. That's the only thing I can think of, though. (other than random key presses, which shouldn't happen)
https://bugs.winehq.org/show_bug.cgi?id=46275
--- Comment #7 from Gabriel Ivăncescu gabrielopcode@gmail.com --- Created attachment 63001 --> https://bugs.winehq.org/attachment.cgi?id=63001 Testing patch for someone with access to the W2k3 machine so I can see what's going on
The failures seem a bit too consistent for it to be just timing errors (the other random failures are due to timing for sure, though).
Without knowing more of the state of the W2k3 VM, it's very hard to understand the problem. Does it mess with keys?
Can someone who has access to the W2k3 machine please apply the patch above, and run the test. When it stops in the message loop, please post a screenshot of the dropdown and editbox.
https://bugs.winehq.org/show_bug.cgi?id=46275
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |9d42c40aa315eaff1ee63c53b22 | |17d86e7e82577 Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #8 from Gijs Vermeulen gijsvrm@gmail.com --- Looking at http://test.winehq.org/data/tests/shell32:autocomplete.html, seems like this is fixed now.
https://bugs.winehq.org/show_bug.cgi?id=46275
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.0-rc6.