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.