Foobar2000 and Windows Audio hanging when using DirectSound output
2019-03-21 02:46:50
I don't know when this started happening, unfortunately, but it seems like it may have been caused by some Windows update because Foobar2000 was installed and working normally before and suddenly one day in the last few months I couldn't open it without having issues. I finally got around to looking into it today.At first: When trying to launch foobar2000, it wouldn't appear. Some system tasks would also hang, like populating network drives in Explorer. After a short time, foobar would finally appear but simultaneously the Windows Audio service would crash. It would seem that foobar2000 is getting tangled up with the audio service and the audio service is getting terminated for hanging (according to Event Viewer).Now: I've saved Null as the audio output so foobar launches normally, but when I try to switch to a DirectSound source and apply, foobar2000 hangs indefinitely. It does not cause the Windows Audio service to crash until a short period after manually terminating foobar2000. I've run foobar2000 in safe mode, which makes no difference. OS Name: Microsoft Windows 10 Pro Version: 10.0.17763 Build 17763 Windows Version 1809 foobar2000 version: 1.4.3 Process Explorer thread stacks (combined some identical thread stacks):TID 22636: combase.dll!CoGetErrorInfo_0x2530 ================================================= 0x0000000000000000 wow64cpu.dll!TurboDispatchJumpAddressEnd+0x544 wow64cpu.dll!TurboDispatchJumpAddressEnd+0x9e wow64cpu.dll!BTCpuSimulate+0x9 wow64.dll!Wow64LdrpInitialize+0x25a wow64.dll!Wow64LdrpInitialize+0x120 ntdll.dll!LdrInitializeThunk+0x17b ntdll.dll!LdrInitializeThunk+0x63 ntdll.dll!LdrInitializeThunk+0xe ntdll.dll!ZwWaitForMultipleObjects+0xc combase.dll!WindowsGetStringRawBuffer+0x700 combase.dll!WindowsGetStringRawBuffer+0x408 combase.dll!CoGetErrorInfo+0x254f KERNEL32.DLL!BaseThreadInitThunk+0x19 ntdll.dll!RtlGetAppContainerNamedObjectPath+0xed ntdll.dll!RtlGetAppContainerNamedObjectPath+0xbd TID 23472: foobar2000.exe+0x1576ba ================================================= 0x0000000000000000 ntdll.dll!ZwAlpcSendWaitReceivePort+0x14 wow64.dll!Wow64ShallowThunkSIZE_T32TO64+0xc7f wow64.dll!Wow64SystemServiceEx+0x153 wow64cpu.dll!TurboDispatchJumpAddressEnd+0xb wow64cpu.dll!BTCpuSimulate+0x9 wow64.dll!Wow64LdrpInitialize+0x25a wow64.dll!Wow64LdrpInitialize+0x120 ntdll.dll!LdrInitShimEngineDynamic+0x31dd ntdll.dll!memset+0x1d339 ntdll.dll!LdrInitializeThunk+0x63 ntdll.dll!LdrInitializeThunk+0xe ntdll.dll!ZwAlpcSendWaitReceivePort+0xc RPCRT4.dll!NdrClientCall2+0xd87 RPCRT4.dll!NdrClientCall4+0x14 AUDIOSES.DLL+0x4278a AUDIOSES.DLL+0x42824 AUDIOSES.DLL+0x365d1 MMDevApi.dll!Ordinal29+0x196 foobar2000.exe+0x353b2 foobar2000.exe+0x3569e foobar2000.exe+0x35033 foobar2000.exe+0x35794 foobar2000.exe+0x1039d9 foobar2000.exe+0xb04b4 foobar2000.exe+0xae10c foobar2000.exe+0xdccd6 foobar2000.exe+0xd1e78 foobar2000.exe+0xd1aea foobar2000.exe+0xd30f0 TID 2216: gdiplus!GdiplusStartup+0x1970 ================================================= 0x0000000000000000 wow64win.dll+0x17cc4 wow64win.dll+0x332a wow64.dll!Wow64SystemServiceEx+0x153 wow64cpu.dll!TurboDispatchJumpAddressEnd+0xb wow64cpu.dll!BTCpuSimulate+0x9 wow64.dll!Wow64LdrpInitialize+0x25a wow64.dll!Wow64LdrpInitialize+0x120 ntdll.dll!LdrInitializeThunk+0x17b ntdll.dll!LdrInitializeThunk+0x63 ntdll.dll!LdrInitializeThunk+0xe win32u.dll!NtUserMsgWaitForMultipleObjectsEx+0xc USER32.dll!MsgWaitForMultipleObjects+0x4d gdiplus.dll!GdiplusStartup+0x19f6 gdiplus.dll!GdiplusStartup+0x198a KERNEL32.DLL!BaseThreadInitThunk+0x19 ntdll.dll!RtlGetAppContainerNamedObjectPath+0xed ntdll.dll!RtlGetAppContainerNamedObjectPath+0xbd TID 23192/23008: ntdll!RtlAcquirePebLock+0x5f0 ================================================= 0x0000000000000000 ntdll.dll!ZwWaitForWorkViaWorkerFactory+0x14 wow64.dll!Wow64ShallowThunkSIZE_T32TO64+0x1734 wow64.dll!Wow64SystemServiceEx+0x153 wow64cpu.dll!TurboDispatchJumpAddressEnd+0xb wow64cpu.dll!BTCpuSimulate+0x9 wow64.dll!Wow64LdrpInitialize+0x25a wow64.dll!Wow64LdrpInitialize+0x120 ntdll.dll!LdrInitializeThunk+0x17b ntdll.dll!LdrInitializeThunk+0x63 ntdll.dll!LdrInitializeThunk+0xe ntdll.dll!NtWaitForWorkViaWorkerFactory+0xc KERNEL32.DLL!BaseThreadInitThunk+0x19 ntdll.dll!RtlGetAppContainerNamedObjectPath+0xed ntdll.dll!RtlGetAppContainerNamedObjectPath+0xbd TID 10072/10904/14276/21608: ucrtbase.dll!_o_iswdigit+0x70 ================================================= 0x0000000000000000 wow64cpu.dll!TurboDispatchJumpAddressEnd+0x544 wow64cpu.dll!TurboDispatchJumpAddressEnd+0x9e wow64cpu.dll!BTCpuSimulate+0x9 wow64.dll!Wow64LdrpInitialize+0x25a wow64.dll!Wow64LdrpInitialize+0x120 ntdll.dll!LdrInitializeThunk+0x17b ntdll.dll!LdrInitializeThunk+0x63 ntdll.dll!LdrInitializeThunk+0xe ntdll.dll!ZwWaitForMultipleObjects+0xc KERNELBASE.dll!WaitForMultipleObjects+0x18 foobar2000.exe+0x3d366 foobar2000.exe+0x13ad5a foobar2000.exe+0x13adf9 KERNEL32.DLL!BaseThreadInitThunk+0x19 ntdll.dll!RtlGetAppContainerNamedObjectPath+0xed ntdll.dll!RtlGetAppContainerNamedObjectPath+0xbd