https://bugs.winehq.org/show_bug.cgi?id=53342
Bug ID: 53342 Summary: quartz:mpegaudio - The 64-bit test_streaming_events() times out on fg-deb64 Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: quartz Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
quartz:mpegaudio - The 64-bit test_streaming_events() times out on fg-deb64:
... mpegaudio.c:1451: Test succeeded
https://test.winehq.org/data/patterns.html#quartz:mpegaudio
The timeout happens on this line:
hr = IMemAllocator_GetBuffer(allocator, &sample, NULL, NULL, 0);
A bisect shows that the timeouts started with the commit below:
commit 6c110bd398de28613b34555ff2738e74191bb6cd Author: Rémi Bernon rbernon@codeweavers.com Date: Mon Jun 13 11:43:51 2022 +0200
winegstreamer: Support zero-copy wg_transform_push_data in quartz_transform.c.
Signed-off-by: Rémi Bernon rbernon@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=53342
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression, source, | |testcase CC| |rbernon@codeweavers.com Regression SHA1| |6c110bd398de28613b34555ff27 | |38e74191bb6cd
https://bugs.winehq.org/show_bug.cgi?id=53342
--- Comment #1 from Rémi Bernon rbernon@codeweavers.com --- Created attachment 73171 --> https://bugs.winehq.org/attachment.cgi?id=73171 Possible fix
I'm not sure how I can test something on that VM. Does a change like this maybe fix the issue?
https://bugs.winehq.org/show_bug.cgi?id=53342
--- Comment #2 from François Gouget fgouget@codeweavers.com --- Created attachment 73178 --> https://bugs.winehq.org/attachment.cgi?id=73178 trace: deadlock on the BaseMemAllocator_GetBuffer() semaphore
(In reply to Rémi Bernon from comment #1)
I'm not sure how I can test something on that VM.
That's because it's my desktop (Debian 11, KDE, i7-4790K), not a VM.
Does a change like this maybe fix the issue?
It didn't :-( The test still gets stuck in the same place.
I have dug a bit further: * The test gets stuck on this line in BaseMemAllocator_GetBuffer() with dwFlags=0:
if (WaitForSingleObject(This->hSemWaiting, (dwFlags & AM_GBF_NOWAIT) ? 0 : INFINITE) != WAIT_OBJECT_0)
* Tracing all uses that I could see of that semaphore it's created and waited on on the same BaseMemAllocator_GetBuffer() line shortly after the test on line 1355 in test_sample_processing(). hr = IMemAllocator_GetBuffer(allocator, &sample, NULL, NULL, 0);
* I have confirmed that it is test_sample_processing() that fouls things up for test_streaming_events(). Either of them is fine on its own but together the second one gets stuck because the semaphore is never released.
https://bugs.winehq.org/show_bug.cgi?id=53342
--- Comment #3 from François Gouget fgouget@codeweavers.com --- Created attachment 73179 --> https://bugs.winehq.org/attachment.cgi?id=73179 Trace the BaseMemAllocator semaphore
https://bugs.winehq.org/show_bug.cgi?id=53342
Anton Baskanov baskanov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |baskanov@gmail.com
--- Comment #4 from Anton Baskanov baskanov@gmail.com --- This should be fixed by https://gitlab.winehq.org/wine/wine/-/commit/dfb161624f8b159e8b37b68682db589....
https://bugs.winehq.org/show_bug.cgi?id=53342
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Fixed by SHA1| |dfb161624f8b159e8b37b68682d | |b58910675b876 Status|NEW |RESOLVED
--- Comment #5 from François Gouget fgouget@codeweavers.com --- Yep. It is fixed. Thanks!
https://bugs.winehq.org/show_bug.cgi?id=53342
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.0-rc1.