I have the same issue, also Windows 10 and Kodi 15. It seems to occur in conjunction with another problem: when turning on the TV, Kodi sometimes loses the HDMI audio output, and I have to restart Kodi to get it back. Kodi then hangs on exit, so I have to get a keyboard, kill it in taskmgr and it's very frustrating. These issues are new to Windows 10 and/or Kodi 14/15. Didn't happen with XBMC/WIndows 8.
Last lines of my debug log are:
22:21:09 T:3640 DEBUG: Thread LanguageInvoker 3640 terminating
22:21:09 T:2636 DEBUG: Thread LanguageInvoker 2636 terminating
22:21:09 T:4064 INFO: Python script interrupted by user
22:21:09 T:4064 DEBUG: Thread LanguageInvoker 4064 terminating
22:21:13 T:2336 ERROR: ActiveAE::ActiveAE::CActiveAE::InitSink - failed to init
22:21:13 T:2336 DEBUG: Thread ActiveAE 2336 terminating
Dump file shows main thread waiting for CActiveAESink to exit:
6540 0 Main Thread Main Thread Kodi.exe!XbmcThreads::ConditionVariable::wait Normal
ntdll.dll!_NtWaitForAlertByThreadId@8()
ntdll.dll!RtlSleepConditionVariableCS()
KERNELBASE.dll!_SleepConditionVariableCS@12()
Kodi.exe!XbmcThreads::ConditionVariable::wait(CCriticalSection & lock={...}, unsigned long milliseconds=4294967295) Line 64
Kodi.exe!XbmcThreads::TightConditionVariable<bool volatile &>::wait<CCriticalSection>(CCriticalSection & lock={...}, unsigned long milliseconds=4294967295) Line 65
Kodi.exe!CEvent::WaitMSec(unsigned int milliSeconds=4294967295) Line 86
Kodi.exe!CThread::WaitForThreadExit(unsigned int)
Kodi.exe!CThread::StopThread(bool)
Kodi.exe!ActiveAE::CActiveAESink:
ispose() Line 62
Kodi.exe!CApplication::Stop(int exitCode=0) Line 2702
Kodi.exe!CApplicationMessenger:
rocessMessage(ThreadMessage * pMsg=0x0194dadc) Line 268
Kodi.exe!CApplicationMessenger:
rocessMessages() Line 214
Kodi.exe!CApplication:
rocess() Line 4229
Kodi.exe!CXBApplicationEx::Run() Line 109
Kodi.exe!WinMain(HINSTANCE__ * hInst=0x00260000, HINSTANCE__ * __formal=0x00000000, char * commandLine=0x01942c47, int __formal=1) Line 243
Kodi.exe!__tmainCRTStartup() Line 251
kernel32.dll!@BaseThreadInitThunk@12()
ntdll.dll!__RtlUserThreadStart()
ntdll.dll!__RtlUserThreadStart@8()
CActiveAESink is blocked waiting on a critical section:
7540 0 Worker Thread Kodi.exe!_threadstartex dsound.dll!CDirectSoundSecondaryBuffer::GetCurrentPosition Above Normal
ntdll.dll!_NtWaitForAlertByThreadId@8()
ntdll.dll!@RtlpWaitOnAddressWithTimeout@16()
ntdll.dll!RtlpWaitOnAddress()
ntdll.dll!RtlpWaitOnCriticalSection()
ntdll.dll!RtlpEnterCriticalSectionContended()
ntdll.dll!_RtlEnterCriticalSection@4()
dsound.dll!CDirectSoundSecondaryBuffer::GetCurrentPosition(unsigned long *,unsigned long *)
dsound.dll!CImpDirectSoundBuffer<class CDirectSoundSecondaryBuffer>::GetCurrentPosition(unsigned long *,unsigned long *)
Kodi.exe!CAESinkDirectSound::UpdateCacheStatus() Line 632
Kodi.exe!CAESinkDirectSound::GetSpace() Line 687
Kodi.exe!CAESinkDirectSound::AddPackets(unsigned char * * data=0x127500d8, unsigned int frames=661, unsigned int offset=0) Line 370
Kodi.exe!ActiveAE::CActiveAESink::OutputSamples(ActiveAE::CSampleBuffer * samples=0x03629d28) Line 822
Kodi.exe!ActiveAE::CActiveAESink::StateMachine(int signal=6, Actor:
rotocol * port=0x00000000, Actor::Message * msg=0x134333d8) Line 464
Kodi.exe!ActiveAE::CActiveAESink:
rocess() Line 555
Kodi.exe!CThread::Action(void)
Kodi.exe!CThread:
taticThread(void *)
Kodi.exe!_callthreadstartex() Line 376
Kodi.exe!_threadstartex(void * ptd) Line 354
kernel32.dll!@BaseThreadInitThunk@12()
ntdll.dll!__RtlUserThreadStart()
ntdll.dll!__RtlUserThreadStart@8()
One of these threads probably owns that critical section:
1072 0 Worker Thread dsound.dll!CThread::ThreadStartRoutine() dsound.dll!CMutexLock::LockOrEvent Time Critical
ntdll.dll!_NtWaitForMultipleObjects@20()
KERNELBASE.dll!_WaitForMultipleObjectsEx@20()
KERNELBASE.dll!_WaitForMultipleObjects@16()
dsound.dll!CMutexLock::LockOrEvent(void *)
dsound.dll!CAudioMediaType::GetAudioFormat(void)
dsound.dll!CDirectSoundAdministrator::HandleFocusChange(void)
dsound.dll!CAudioMediaType::GetAudioFormat(void)
dsound.dll!CThread::ThreadLoop(void)
dsound.dll!CThread:
rivateThreadProc(void)
dsound.dll!CThread::ThreadStartRoutine(void *)
kernel32.dll!@BaseThreadInitThunk@12()
ntdll.dll!__RtlUserThreadStart()
ntdll.dll!__RtlUserThreadStart@8()
2416 0 Worker Thread dsound.dll!CThreadBase::StaticThreadProc() dsound.dll!CLeapSystem::OnCriticalError Time Critical
ntdll.dll!_NtWaitForAlertByThreadId@8()
ntdll.dll!@RtlpWaitOnAddressWithTimeout@16()
ntdll.dll!RtlpWaitOnAddress()
ntdll.dll!RtlpWaitOnCriticalSection()
ntdll.dll!RtlpEnterCriticalSectionContended()
ntdll.dll!_RtlEnterCriticalSection@4()
dsound.dll!CLeapSystem::OnCriticalError(long)
dsound.dll!CAudioMediaType::GetAudioFormat(void)
dsound.dll!CThreadBase::StaticThreadProc(void *)
kernel32.dll!@BaseThreadInitThunk@12()
ntdll.dll!__RtlUserThreadStart()
ntdll.dll!__RtlUserThreadStart@8()
3992 0 Worker Thread ntdll.dll!TppWorkerThread dsound.dll!CThreadBase::StopThread Normal
ntdll.dll!_NtWaitForSingleObject@12()
KERNELBASE.dll!_WaitForSingleObjectEx@12()
KERNELBASE.dll!_WaitForSingleObject@8()
dsound.dll!CThreadBase::StopThread(void)
dsound.dll!CGraphManager::Stop(int)
dsound.dll!CLeapSystem::StopGraph(unsigned int)
dsound.dll!CLeapSystem::OnCriticalError(long)
dsound.dll!CEngineRendererConnection::OnSessionDisconnected(enum AudioSessionDisconnectReason)
AudioSes.dll!CSessionDisconnect::Invoke(class ATL::CComPtr<struct IAudioSessionEvents>)
AudioSes.dll!CLockedList<ATL::CComPtr<IAudioSessionEvents>,0,1>::ForEachEntry()
AudioSes.dll!CAudioSessionControl::OnAudioSessionEvent()
AudioSes.dll!CAudioSessionControl::CAudioSessionNotificationDelegator::OnMediaNotification(struct MEDIA_NOTIFICATION_BLOCK *)
MMDevAPI.dll!CMediaNotifications::OnMediaNotificationWorkerHandler(struct _TP_CALLBACK_INSTANCE *)
MMDevAPI.dll!CMediaNotifications::MediaNotificationWorkerHandler(struct _TP_CALLBACK_INSTANCE *,void *)
ntdll.dll!TppSimplepExecuteCallback()
ntdll.dll!TppWorkerThread()
kernel32.dll!@BaseThreadInitThunk@12()
ntdll.dll!__RtlUserThreadStart()
ntdll.dll!__RtlUserThreadStart@8()