https://bugs.winehq.org/show_bug.cgi?id=45086
Bug ID: 45086 Summary: winegstreamer deadlocks Product: Wine Version: 3.7 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winegstreamer Assignee: wine-bugs@winehq.org Reporter: theli.ua@gmail.com Distribution: ---
Created attachment 61244 --> https://bugs.winehq.org/attachment.cgi?id=61244 bt all
0130:err:ntdll:RtlpWaitForCriticalSection section 0xb55c050 "../../../../wine/dlls/quartz/dsoundrender.c: DSoundRenderImpl.csFilter" wait timed out in thread 0130, blocked by 01d7, retrying (60 sec)
https://bugs.winehq.org/show_bug.cgi?id=45086
Anton Romanov theli.ua@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|winegstreamer deadlocks |Magic: The Gathering Online | |deadlocks inside quartz Component|winegstreamer |quartz
https://bugs.winehq.org/show_bug.cgi?id=45086
--- Comment #1 from Anton Romanov theli.ua@gmail.com --- eh, nvm the bt all, that was taken too late when it somehow self recovered after about 15 minutes
https://bugs.winehq.org/show_bug.cgi?id=45086
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=45086
--- Comment #2 from Anton Romanov theli.ua@gmail.com --- interestingly enough this doesn't stop application from functioning ... it just stops having sound until this somehow magically self recovers
https://bugs.winehq.org/show_bug.cgi?id=45086
Anton Romanov theli.ua@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #61244|0 |1 is obsolete| |
--- Comment #3 from Anton Romanov theli.ua@gmail.com --- Created attachment 61628 --> https://bugs.winehq.org/attachment.cgi?id=61628 backtrace
006c:err:ntdll:RtlpWaitForCriticalSection section 0xc484a58 "../../../../wine/dlls/quartz/dsoundrender.c: DSoundRenderImpl.csFilter" wait timed out in thread 006c, blocked by 01b2, retrying (60 sec)
Backtrace bt all
https://bugs.winehq.org/show_bug.cgi?id=45086
--- Comment #4 from Anton Romanov theli.ua@gmail.com --- It looks like BaseRenderer_InputPin_EndOfStream enters critical section filter.csFilter, then calls BaseInputPinImpl_EndOfStream to handle end of stream
that in turn goes down to DSoundRender_HandleEndOfStream which has a tight loop to leaveCS , wait for This->blocked for 10ms and lock it again until positions match :-/
It feels like that IS some kind of deadlock prevention, however it seems it doesn't quite work right.
Though it may explain why eventually it sometimes unlocks itself
https://bugs.winehq.org/show_bug.cgi?id=45086
--- Comment #5 from Anton Romanov theli.ua@gmail.com --- So, does anyone has any idea on preffered way to mitigate this?
I guess the biggest problem is I don't have a way to reliably reproduce that. I also don't quite understand why does that deadlock even happens as it does seem to try and avoid deadlock
https://bugs.winehq.org/show_bug.cgi?id=45086
Panard panard@inzenet.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |panard@inzenet.org
--- Comment #6 from Panard panard@inzenet.org --- This issue has not occurred since quite a long time for me (and had no report from other users).