https://bugs.winehq.org/show_bug.cgi?id=38185
--- Comment #1 from Bruno Jesus 00cpxxx@gmail.com --- After spending some time at this (actually playing more than debugging) I used winedbg to get the backtrace:
=>0 0xf7721d60 __kernel_vsyscall+0x10() in [vdso].so (0x0033fa28) 1 0xf7500cbf pthread_sigmask+0x3e() in libpthread.so.0 (0x0033fa28) 2 0x7bc85218 wine_server_call+0x7a() in ntdll (0x0033fa28) 3 0x7bc9652e NtSuspendThread+0x79() in ntdll (0x0033fad8) 4 0x7b881e3b SuspendThread+0x23() in kernel32 (0x0033fb08) 5 0x20008e7f in wail32 (+0x8e7e) (0x0033fb28) 6 0x7e9f9cc2 DriverCallback+0x179() in winmm (0x0033fba8) 7 0x7ea0bb0e WINMM_NotifyClient+0x61() in winmm (0x0033fc08) 8 0x7ea13523 waveOutOpen+0x1cf() in winmm (0x0033fca8) 9 0x20009044 in wail32 (+0x9043) (0x0033fcfc) 10 0x20002ecd in wail32 (+0x2ecc) (0x0033fd2c) 11 0x01570000 (0x0033fda8) 12 0x0044e4b0 in deadlock (+0x4e4af) (0x0033fdcc) 13 0x00443050 in deadlock (+0x4304f) (0x0033fde8) 14 0x004652c9 in deadlock (+0x652c8) (0x0033fe18) ...
The game calls SuspendThread from inside the callback killing itself. When you disable mmdevapi the game will fail on waveOutOpen and will not reach that code.
So this is a duplicate of bug 3930.