https://bugs.winehq.org/show_bug.cgi?id=43728
--- Comment #11 from Panard panard@inzenet.org --- So here is what is happening:
1. Call to CoWaitForMultipleHandles (ole32/compobj.c) 2. Enters while(TRUE) section with message_loop = TRUE 3. Call MsgWaitForMultipleObjectsEx (line 4513 of vanilla git) 4. Returns WAIT_OBJECT_0 + cHandles, enters the if section (line 4517) 5. COM_CurrentApt()->filter is false 6. Call to COM_PeekMessage 7. Call to PeekMessageW twice, both returns 0 8. 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..