https://bugs.winehq.org/show_bug.cgi?id=43728
--- Comment #12 from Anton Romanov theli.ua@gmail.com --- (In reply to Panard from comment #11)
So here is what is happening:
- Call to CoWaitForMultipleHandles (ole32/compobj.c)
- Enters while(TRUE) section with message_loop = TRUE
- Call MsgWaitForMultipleObjectsEx (line 4513 of vanilla git)
- Returns WAIT_OBJECT_0 + cHandles, enters the if section (line 4517)
- COM_CurrentApt()->filter is false
- Call to COM_PeekMessage
- Call to PeekMessageW twice, both returns 0
- Therefore the continue instruction restarts the loop, and we go back to 3.
Using WINEDEBUG=ole, we can see some CoWaitForMultipleHandles call terminate, but I suspect there could be parallel ones to an infinite one.. but what we can also see is an infinite flood of trace:ole:CoWaitForMultipleHandles waiting for rpc completion or window message
We would need an expert of the ole32 dll to help here..
Where is CoWaitForMultipleHandles even called from? Its not in your log extract