https://bugs.winehq.org/show_bug.cgi?id=53435
Bug ID: 53435 Summary: user32:msg - test_SendMessage_other_thread() sometimes fails on Windows 7 Product: Wine Version: unspecified Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: user32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
user32:msg - test_SendMessage_other_thread() sometimes fails on Windows 7:
msg.c:18505: Test failed: wrong status 00400040
https://test.winehq.org/data/patterns.html#user32:msg
Where 0x00400040 that there are still QS_SENDMESSAGE messages in the queue and that one was added since the last call.
This is similar to the Windows 10-only bug 53434 but the status is different and this failure only happens on Windows 7.
https://bugs.winehq.org/show_bug.cgi?id=53435
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase
https://bugs.winehq.org/show_bug.cgi?id=53435
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|user32:msg - |user32:msg - |test_SendMessage_other_thre |test_SendMessage_other_thre |ad() sometimes fails on |ad() sometimes fails on |Windows 7 |Windows
--- Comment #1 from François Gouget fgouget@codeweavers.com --- This can actually also happen on Windows 8 and Windows 10 up to 21H2.
https://bugs.winehq.org/show_bug.cgi?id=53435
--- Comment #2 from François Gouget fgouget@codeweavers.com --- The status at the end of test_SendMessage_other_thread() can also end up being all QS_POSTMESSAGE, for instance on w1064v1607 / 2022-11-29 and w11pro64_amd / 2022-11-22:
msg.c:19087: Test failed: wrong status 00080008 msg.c:19090: Test failed: PeekMessage should fail
https://bugs.winehq.org/show_bug.cgi?id=53435
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|user32:msg - |user32:msg - |test_SendMessage_other_thre |test_SendMessage_other_thre |ad() sometimes fails on |ad() sometimes gets a wrong |Windows |status on Windows
https://bugs.winehq.org/show_bug.cgi?id=53435
--- Comment #3 from Esme Povirk madewokherd@gmail.com --- I'm having trouble reproducing this bug to see what the messages in question actually are, but this doesn't make much sense to me. We have a MsgWaitForMultipleObjects call waiting 0.1 seconds for qs_all_input. But we haven't sent our window any messages. So this is just.. waiting 100 ms and expecting nothing to come in.
But, there are plenty of messages we ignore for logging purposes. So either this is one of our ignored messages (in which case it should be expected that they would affect the queue status too), or the queue status changes for no reason (much less likely).
This could be here for the todo_wine_if. In the thread_2 case we have the internal SetParent things messing things up so that we end up with a sent message at the end, on Wine. Without the wait, Wine would succeed or fail depending on the timing of the background thread's SendMessage. But, that failure case is already accounted for by the message sequence tests, particularly before this point. We also have plenty of tests for GetQueueStatus functionality.
I think maybe we should delete this one GetQueueStatus check. We can't know the correct value until after we clear out the queue with a PeekMessage (or really a PeekMessage loop, as we want to specifically ignore any messages that MsgCheckProc ignores).
https://bugs.winehq.org/show_bug.cgi?id=53435
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |2830f98518842cc142a217b4136 | |9f695faf59729
--- Comment #4 from Esme Povirk madewokherd@gmail.com --- Should be fixed by https://gitlab.winehq.org/wine/wine/-/merge_requests/3822
https://bugs.winehq.org/show_bug.cgi?id=53435
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.16.