Looking at the log, I see this near the end:
0028765: 4752: General: CMainUIWnd::Resize: Finish (78 ms)
0028765: 4752: General: CMainUIWnd::SetMCView: View show / update time: 76.260
0028765: 4752: General: CMainUIWnd::SetMCView: Finish (328 ms)
0028859: 4752: General: JRWebWnd::OnTerminate: Start
0028859: 4752: General: JRWebWnd::OnTerminate: Sending destroy command
0028859: 4752: General: JRWebWnd::OnTerminate: Stopping process
0028656: 2996: General: JRWebApp::Destroy: Start
0028656: 2996: General: JRWebApp::Destroy: Finish (0 ms)
0028656: 2996: General: JRWebApp::Run: Finish (28640 ms)
0028656: 2996: General: JRWebApp::ExitInstance: Start
0028656: 2996: General: JRWebApp::ExitInstance: Stopping web engine
0028781: 2996: General: JRWebApp::ExitInstance: Stopping callback server
0028781: 2996: General: JRWebApp::ExitInstance: Stopping interface server
0028781: 2996: General: JRIpcServerThreaded::ServerStop: Start
0028781: 2996: General: JRIpcServerThreaded::ServerStop: Canceling thread
0028781: 2996: General: JRIpcServerThreaded::ServerStop: Canceling pending run
0028781: 2996: General: JRIpcServerThreaded::ServerStop: Stopping thread
0028781: 3688: General: JRIpcServerThreaded::Thread: Thread finishing (cancel: 1; errors: 1)
0028781: 3688: General: JRIpcServerThreaded::Thread: Finish (28781 ms)
0028812: 2996: General: JRIpcServerThreaded::ServerStop: Canceling response threads
0028812: 2996: General: JRIpcServerThreaded::ServerStop: Deleting response threads
0028812: 2996: General: JRIpcServerThreaded::ServerStop: Closing notification window
0028812: 2996: General: JRIpcServerThreaded::ServerStop: Finish (31 ms)
0028812: 2996: General: JRWebApp::ExitInstance: Finishing
0029031: 4752: General: JRWebWnd::OnTerminate: Closing callback server
0029031: 4752: General: JRIpcServerThreaded::ServerStop: Start
0029031: 4752: General: JRIpcServerThreaded::ServerStop: Canceling thread
0029031: 4752: General: JRIpcServerThreaded::ServerStop: Canceling pending run
0029031: 4752: General: JRIpcServerThreaded::ServerStop: Stopping thread
0029031: 4276: General: JRIpcServerThreaded::Thread: Thread finishing (cancel: 1; errors: 1)
0029031: 4276: General: JRIpcServerThreaded::Thread: Finish (28875 ms)
0029047: 4752: General: JRIpcServerThreaded::ServerStop: Canceling response threads
0029047: 4752: General: JRIpcServerThreaded::ServerStop: Deleting response threads
0029047: 4752: General: JRIpcServerThreaded::ServerStop: Closing notification window
0029047: 4752: General: JRIpcServerThreaded::ServerStop: Finish (16 ms)
0029047: 4752: General: JRWebWnd::OnTerminate: Closing window
0029047: 4752: General: JRWebWnd::OnTerminate: Finish (188 ms)
0029625: 3804: Playback: CWaveBinFilter::CheckMediaType: Format: 48kHz 32bit 26ch
0029640: 4228: Playback: CDXWaveFeeder::OnGraphNotify: Start: Thread: 0x1084, Graph: 0x1318058
0029640: 4228: Playback: CDXWaveFeeder::OnGraphNotify: Event 34816 param1 0, Param2 -1868223061
0029640: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Start
0029640: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Using specified output format
0029640: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: 48kHz 32bit 26ch
0029640: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Finish (0 ms)
0030156: 4228: Playback: CWaveOutBin::DestroyBin: Start
0030156: 4228: Playback: CWaveOutBin::DestroyBin: Canceling play thread
0030156: 4228: Playback: CWaveOutBin::DestroyBin: Deleting play thread
0030156: 4228: Playback: CWaveOutBinPlayThread::~CWaveOutBinPlayThread: Start
0030156: 4168: Playback: CWaveOutBinPlayThread::Thread: Finish (1516 ms)
0030172: 4228: Playback: CWaveOutBinPlayThread::~CWaveOutBinPlayThread: Finish (16 ms)
0030172: 4228: Playback: CWaveOutBin::DestroyBin: Deleting objects
0030172: 4228: Playback: CWaveOutBin::DestroyBin: Finish (16 ms)
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Start
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Using specified output format
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: 44.1kHz 64bit 2ch
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Finish (0 ms)
0030172: 4228: Playback: CWaveOutBin::CreateBin: Start
0030172: 4228: Playback: CWaveOutBin::DestroyBin: Start
0030172: 4228: Playback: CWaveOutBin::DestroyBin: Finish (0 ms)
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Start
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Using specified output format
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: 48kHz 32bit 26ch
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Finish (0 ms)
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Start
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Using specified output format
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: 44.1kHz 64bit 2ch
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Finish (0 ms)
0030172: 4228: Playback: CWaveOutBin::CreateBin: Finish (0 ms)
0030172: 4228: Playback: CDXWaveFeeder::OnGraphNotify: End: Thread: 0x1084, Graph: 0x1318058, 532ms
0030172: 3480: Playback: CWaveOutBinPlayThread::Thread: Start
0030500: 4752: General: CMCUICore::SystemPowerManager_UpdateActions: Start
0030500: 4752: General: CMCUICore::SystemPowerManager_UpdateActions: UI Mode: -999; Playing: 0
0030500: 4752: General: CMCUICore::SystemPowerManager_UpdateActions: Finish (result: 0) (0 ms)
0031078: 4752: General: CMCToolsCore::StopTools: Start
0031078: 4752: General: CMCToolsCore::StopTools: Stopping tools
0031078: 4752: General: CMCToolsCore::StopTools: Stopping loader thread
I think this is where you asked it to close:
0028859: 4752: General: JRWebWnd::OnTerminate: Start
0028859: 4752: General: JRWebWnd::OnTerminate: Sending destroy command
0028859: 4752: General: JRWebWnd::OnTerminate: Stopping process
Then, JRWebWnd took a while to finish something:
0028656: 2996: General: JRWebApp::Run: Finish (28640 ms)
0028656: 2996: General: JRWebApp::ExitInstance: Start
0028656: 2996: General: JRWebApp::ExitInstance: Stopping web engine
0028781: 2996: General: JRWebApp::ExitInstance: Stopping callback server
0028781: 2996: General: JRWebApp::ExitInstance: Stopping interface server
That's not crazy, though it did take quite a bit longer on your system than on mine. Here's mine from a test I just did:
0018391: 5324: General: JRWebApp::Run: Finish (18312 ms)
0018391: 5324: General: JRWebApp::ExitInstance: Start
0018391: 5324: General: JRWebApp::ExitInstance: Stopping web engine
0018438: 5324: General: JRWebApp::ExitInstance: Stopping callback server
0018438: 5324: General: JRWebApp::ExitInstance: Stopping interface server
And then, again, here:
0028781: 3688: General: JRIpcServerThreaded::Thread: Finish (28781 ms)
You have quite a bit higher latency than mine:
0018438: 5316: General: JRIpcServerThreaded::Thread: Finish (18375 ms)
But, either way, other than that your system seems to be doing everything way slower than mine (which, I don't think, should be dramatically the case, based on our respective system specs) the logs match, up until here:
0029047: 4752: General: JRWebWnd::OnTerminate: Closing window
0029047: 4752: General: JRWebWnd::OnTerminate: Finish (188 ms)
0029625: 3804: Playback: CWaveBinFilter::CheckMediaType: Format: 48kHz 32bit 26ch
0029640: 4228: Playback: CDXWaveFeeder::OnGraphNotify: Start: Thread: 0x1084, Graph: 0x1318058
0029640: 4228: Playback: CDXWaveFeeder::OnGraphNotify: Event 34816 param1 0, Param2 -1868223061
0029640: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Start
0029640: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Using specified output format
0029640: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: 48kHz 32bit 26ch
0029640: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Finish (0 ms)
0030156: 4228: Playback: CWaveOutBin::DestroyBin: Start
0030156: 4228: Playback: CWaveOutBin::DestroyBin: Canceling play thread
0030156: 4228: Playback: CWaveOutBin::DestroyBin: Deleting play thread
0030156: 4228: Playback: CWaveOutBinPlayThread::~CWaveOutBinPlayThread: Start
0030156: 4168: Playback: CWaveOutBinPlayThread::Thread: Finish (1516 ms)
0030172: 4228: Playback: CWaveOutBinPlayThread::~CWaveOutBinPlayThread: Finish (16 ms)
0030172: 4228: Playback: CWaveOutBin::DestroyBin: Deleting objects
0030172: 4228: Playback: CWaveOutBin::DestroyBin: Finish (16 ms)
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Start
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Using specified output format
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: 44.1kHz 64bit 2ch
0030172: 4228: Playback: CAutoConfigureAudioOutput::GetOutputFormat: Finish (0 ms)
That same thing, then, seems to just keep looping and looping. As I suggested before, it looks like an audio device issue. I have none of that in the same section of my shutdown. Here's mine:
0019000: 5328: General: JRWebWnd::OnTerminate: Closing window
0019000: 5328: General: JRWebWnd::OnTerminate: Finish (110 ms)
0019000: 5328: General: CMCShutdownHelper::Cleanup: Destroying main UI helper
0019000: 5328: General: CMCMainUIHelper::Destroy: Start
0019000: 5328: General: CMCMainUIHelper::Destroy: Destroying action windows
0019000: 5328: General: CMCMainUIHelper::Destroy: Destroying menu bars
0019000: 5328: General: CMCMainUIHelper::Destroy: Destroying player
0019000: 5328: General: CMCMainUIHelper::Destroy: Destroying borders
0019000: 5328: General: CMCMainUIHelper::Destroy: Destroying status bar
0019000: 5328: General: CMCMainUIHelper::Destroy: Destroying tree
0019000: 5328: General: CMCMainUIHelper::Destroy: Destroying playback display
0019000: 5328: General: CMCMainUIHelper::Destroy: Finish (0 ms)
0019000: 5328: General: CMCShutdownHelper::Cleanup: Running shutdown settings
0019000: 5328: TV: CTVTunerHelper::CleanupPrograms: Start
0019000: 5328: Database: CDataHolder::Load: Field: Recording Rule ID; Files: 136562; Pointer bytes: 0; Data bytes: 48; Elapsed ms: 0.169
0019000: 5328: Database: CSearchFilesHelper::GetResults: Search: [Media Type]=[Video] [=TVInfo(IsRecordedProgram)]=[1]; Elapsed ms: 10.124
0019000: 5328: TV: CTVTunerHelper::CleanupPrograms: Checking 0 recorded programs for deletion
0019000: 5328: TV: CTVTunerHelper::CleanupPrograms: 0 recordings found to have episode based deletion attribute
0019000: 5328: TV: CTVTunerHelper::CleanupPrograms: Found 0 programs to delete
0019000: 5328: TV: CTVTunerHelper::CleanupPrograms: Finish (0 ms)
0019000: 5328: General: CMCShutdownHelper::Cleanup: Shutting down tools
Same two initial lines, but then in your log, that's the last thing I can see where yours is even trying to shut down anymore. It looks like it is stuck iterating over the Audio Device Output, for some reason.