Skip to content

Conversation

akleshchev
Copy link
Contributor

Not sure what exactly caused a freeze, not enough info in those logs, so I'm enabling extra logging and making sure thread survives till detach.

@Hecklezz
Copy link
Contributor

Hecklezz commented Aug 19, 2025

I've been experiencing the freeze since merging 7.2.1 into my viewer too.
I cherry-picked this PR and just shutdown my viewer now and still experienced the freeze.
Here is the bottom of my log after a few minutes of it being frozen-

Log File
2025-08-19T15:55:20Z INFO # newview/llappviewer.cpp(2049) LLAppViewer::cleanup : Viewer disconnected
2025-08-19T15:55:20Z INFO # newview/llappviewer.cpp(2062) LLAppViewer::cleanup : Cleaning Up
2025-08-19T15:55:20Z INFO #Settings# llxml/llcontrol.cpp(1085) LLControlGroup::saveToFile : Saved to C:\Users\TJ\AppData\Roaming\Firestorm_x64\the_hecklezz.the_unknown\settings_per_account.xml
2025-08-19T15:55:20Z INFO # newview/llappviewer.cpp(2084) LLAppViewer::cleanup : First time: Saved per-account settings to C:\Users\TJ\AppData\Roaming\Firestorm_x64\the_hecklezz.the_unknown\settings_per_account.xml
2025-08-19T15:55:21Z INFO #Settings# llxml/llcontrol.cpp(1085) LLControlGroup::saveToFile : Saved to C:\Users\TJ\AppData\Roaming\Firestorm_x64\user_settings\settings.xml
2025-08-19T15:55:21Z INFO #Mesh# newview/llmeshrepository.cpp(4363) LLMeshRepository::shutdown : Shutting down mesh repository.
2025-08-19T15:55:21Z INFO #Mesh# newview/llmeshrepository.cpp(997) LLMeshRepoThread::~LLMeshRepoThread : Small GETs issued:  1002, Large GETs issued:  0, Max Lock Holdoffs:  1
2025-08-19T15:55:21Z INFO #Mesh# newview/llmeshrepository.cpp(4399) LLMeshRepository::shutdown : Shutting down decomposition system.
2025-08-19T15:55:21Z INFO # newview/fsavatarrenderpersistence.cpp(106) FSAvatarRenderPersistence::saveAvatarRenderSettings : Saving avatar render settings...
2025-08-19T15:55:21Z INFO # newview/llappviewer.cpp(2121) LLAppViewer::cleanup : HUD Objects cleaned up
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(2155) LLAppViewer::cleanup : Global stuff deleted
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(2159) LLAppViewer::cleanup : Shutting down audio
2025-08-19T15:55:22Z INFO #FMOD# llaudio/llaudioengine_fmodstudio.cpp(418) LLAudioEngine_FMODSTUDIO::shutdown : About to LLAudioEngine::shutdown()
2025-08-19T15:55:22Z INFO #FMOD# llaudio/llaudioengine_fmodstudio.cpp(421) LLAudioEngine_FMODSTUDIO::shutdown : LLAudioEngine_FMODSTUDIO::shutdown() closing FMOD Studio
2025-08-19T15:55:22Z INFO #FMOD# llaudio/llaudioengine_fmodstudio.cpp(427) LLAudioEngine_FMODSTUDIO::shutdown : LLAudioEngine_FMODSTUDIO::shutdown() done closing FMOD Studio
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(2183) LLAppViewer::cleanup : Settings patched up
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(2200) LLAppViewer::cleanup : Cache files removed
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(2202) LLAppViewer::cleanup : Shutting down Views
2025-08-19T15:55:22Z INFO # newview/llviewerwindow.cpp(2600) LLViewerWindow::shutdownViews : Warning logger is cleaned.
2025-08-19T15:55:22Z INFO # newview/llviewerwindow.cpp(2614) LLViewerWindow::shutdownViews : DebugText deleted.
2025-08-19T15:55:22Z INFO # newview/llviewerwindow.cpp(2621) LLViewerWindow::shutdownViews : Global views cleaned.
2025-08-19T15:55:22Z INFO # newview/llviewerwindow.cpp(2624) LLViewerWindow::shutdownViews : Leftover toast cleaned up.
2025-08-19T15:55:22Z INFO # newview/llviewerwindow.cpp(2629) LLViewerWindow::shutdownViews : LLModalDialog shut down.
2025-08-19T15:55:22Z INFO # newview/llviewerwindow.cpp(2634) LLViewerWindow::shutdownViews : LLNavigationBar destroyed.
2025-08-19T15:55:22Z INFO # newview/llviewerwindow.cpp(2639) LLViewerWindow::shutdownViews : menus destroyed.
2025-08-19T15:55:22Z INFO # newview/llviewerwindow.cpp(2642) LLViewerWindow::shutdownViews : view listeners destroyed.
2025-08-19T15:55:22Z INFO #LLProcess# llcommon/llprocess.cpp(836) LLProcess::kill :  killing SLPlugin.exe (17636)
2025-08-19T15:55:22Z WARNING #APR# llcommon/llapr.cpp(246) _ll_apr_warn_status : APR: C:\SecondLifeViewers\FirestormViewer_TJ\indra\llcommon\llprocess.cpp:844 Access is denied.  
2025-08-19T15:55:22Z INFO #LLProcess# llcommon/llprocess.cpp(836) LLProcess::kill : destructor killing SLPlugin.exe (17636)
2025-08-19T15:55:22Z WARNING #APR# llcommon/llapr.cpp(246) _ll_apr_warn_status : APR: C:\SecondLifeViewers\FirestormViewer_TJ\indra\llcommon\llprocess.cpp:844 Access is denied.  
2025-08-19T15:55:22Z INFO #LLProcess# llcommon/llprocess.cpp(836) LLProcess::kill :  killing SLPlugin.exe (17672)
2025-08-19T15:55:22Z WARNING #APR# llcommon/llapr.cpp(246) _ll_apr_warn_status : APR: C:\SecondLifeViewers\FirestormViewer_TJ\indra\llcommon\llprocess.cpp:844 Access is denied.  
2025-08-19T15:55:22Z INFO #LLProcess# llcommon/llprocess.cpp(836) LLProcess::kill : destructor killing SLPlugin.exe (17672)
2025-08-19T15:55:22Z WARNING #APR# llcommon/llapr.cpp(246) _ll_apr_warn_status : APR: C:\SecondLifeViewers\FirestormViewer_TJ\indra\llcommon\llprocess.cpp:844 Access is denied.  
2025-08-19T15:55:22Z INFO # newview/llviewerwindow.cpp(2651) LLViewerWindow::shutdownViews : RootView deleted.
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(2208) LLAppViewer::cleanup : Cleaning up Inventory
2025-08-19T15:55:22Z INFO #LLCoros# llcommon/llcoros.cpp(255) LLCoros::printActiveCoroutines : Number of active coroutines : 1
2025-08-19T15:55:22Z INFO #LLCoros# llcommon/llcoros.cpp(259) LLCoros::printActiveCoroutines : -------------- List of active coroutines ------------
main0  life: 3395.36
2025-08-19T15:55:22Z INFO #LLCoros# llcommon/llcoros.cpp(268) LLCoros::printActiveCoroutines : -----------------------------------------------------
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(2216) LLAppViewer::cleanup : Cleaning up Selections
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(2222) LLAppViewer::cleanup : Cleaning up Objects
2025-08-19T15:55:22Z INFO #Cleanup# llcommon/llcleanup.cpp(29) log_subsystem_cleanup : newview/llviewerobject.cpp(651): calling LLVOGrass::cleanupClass() in void __cdecl LLViewerObject::cleanupVOClasses(void)
2025-08-19T15:55:22Z INFO #Cleanup# llcommon/llcleanup.cpp(29) log_subsystem_cleanup : newview/llviewerobject.cpp(652): calling LLVOWater::cleanupClass() in void __cdecl LLViewerObject::cleanupVOClasses(void)
2025-08-19T15:55:22Z INFO #Cleanup# llcommon/llcleanup.cpp(29) log_subsystem_cleanup : newview/llviewerobject.cpp(653): calling LLVOTree::cleanupClass() in void __cdecl LLViewerObject::cleanupVOClasses(void)
2025-08-19T15:55:22Z INFO #Cleanup# llcommon/llcleanup.cpp(29) log_subsystem_cleanup : newview/llviewerobject.cpp(654): calling LLVOAvatar::cleanupClass() in void __cdecl LLViewerObject::cleanupVOClasses(void)
2025-08-19T15:55:22Z INFO #Cleanup# llcommon/llcleanup.cpp(29) log_subsystem_cleanup : newview/llviewerobject.cpp(655): calling LLVOVolume::cleanupClass() in void __cdecl LLViewerObject::cleanupVOClasses(void)
2025-08-19T15:55:22Z INFO #Cleanup# llcommon/llcleanup.cpp(29) log_subsystem_cleanup : newview/llappviewer.cpp(2226): calling LLAvatarAppearance::cleanupClass() in bool __cdecl LLAppViewer::cleanup(void)
2025-08-19T15:55:22Z INFO #Cleanup# llcommon/llcleanup.cpp(29) log_subsystem_cleanup : newview/llappviewer.cpp(2228): calling LLPostProcess::cleanupClass() in bool __cdecl LLAppViewer::cleanup(void)
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(2246) LLAppViewer::cleanup : Additional Cleanup...
2025-08-19T15:55:22Z INFO #Cleanup# llcommon/llcleanup.cpp(29) log_subsystem_cleanup : newview/llappviewer.cpp(2255): calling LLWorldMapView::cleanupClass() in bool __cdecl LLAppViewer::cleanup(void)
2025-08-19T15:55:22Z INFO #Cleanup# llcommon/llcleanup.cpp(29) log_subsystem_cleanup : newview/llappviewer.cpp(2256): calling LLFolderViewItem::cleanupClass() in bool __cdecl LLAppViewer::cleanup(void)
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(2258) LLAppViewer::cleanup : Saving Data
2025-08-19T15:55:22Z INFO #Settings# llxml/llcontrol.cpp(1085) LLControlGroup::saveToFile : Saved to C:\Users\TJ\AppData\Roaming\Firestorm_x64\user_settings\settings.xml
2025-08-19T15:55:22Z INFO #Settings# llxml/llcontrol.cpp(1085) LLControlGroup::saveToFile : Saved to C:\Users\TJ\AppData\Roaming\Firestorm_x64\the_hecklezz.the_unknown\settings_per_account.xml
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(2313) LLAppViewer::cleanup : Second time: Saved per-account settings to C:\Users\TJ\AppData\Roaming\Firestorm_x64\the_hecklezz.the_unknown\settings_per_account.xml
2025-08-19T15:55:22Z INFO #Settings# llxml/llcontrol.cpp(1085) LLControlGroup::saveToFile : Saved to C:\Users\TJ\AppData\Roaming\Firestorm_x64\user_settings\settings_crash_behavior.xml
2025-08-19T15:55:22Z INFO #Settings# llxml/llcontrol.cpp(1085) LLControlGroup::saveToFile : Saved to C:\Users\TJ\AppData\Roaming\Firestorm_x64\user_settings\ignorable_dialogs.xml
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(3859) LLAppViewer::writeDebugInfo : Writing debug file C:\Users\TJ\AppData\Roaming\Firestorm_x64\logs\dump-8064341c-aa67-0d30-8490-797329e15da3\static_debug_info.log
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(2372) LLAppViewer::cleanup : Shutting down Threads
2025-08-19T15:55:22Z WARNING # llcommon/llqueuedthread.cpp(116) LLQueuedThread::shutdown : ~LLQueuedThread() called with active requests: 114
2025-08-19T15:55:22Z INFO # newview/llappviewer.cpp(2420) LLAppViewer::cleanup : Shutting down OpenGL
2025-08-19T15:55:22Z INFO #Cleanup# llcommon/llcleanup.cpp(29) log_subsystem_cleanup : newview/llviewerwindow.cpp(2673): calling LLFontManager::cleanupClass() in void __cdecl LLViewerWindow::shutdownGL(void)
2025-08-19T15:55:22Z INFO # newview/llviewerwindow.cpp(2679) LLViewerWindow::shutdownGL : Cleaning up pipeline
2025-08-19T15:55:22Z INFO # newview/lldrawpoolbump.cpp(641) LLBumpImageList::clear : Clearing dynamic bumpmaps.
2025-08-19T15:55:22Z INFO # newview/lldrawpoolbump.cpp(177) LLStandardBumpmap::clear : Clearing standard bumpmaps.
2025-08-19T15:55:22Z INFO # newview/lldrawpoolbump.cpp(177) LLStandardBumpmap::clear : Clearing standard bumpmaps.
2025-08-19T15:55:22Z INFO # newview/llviewerwindow.cpp(2684) LLViewerWindow::shutdownGL : Cleaning up wearables
2025-08-19T15:55:22Z WARNING # newview/llviewertexturelist.cpp(298) LLViewerTextureList::shutdown : Shutdown called
2025-08-19T15:55:23Z INFO # newview/lldrawpoolbump.cpp(641) LLBumpImageList::clear : Clearing dynamic bumpmaps.
2025-08-19T15:55:23Z INFO # newview/lldrawpoolbump.cpp(177) LLStandardBumpmap::clear : Clearing standard bumpmaps.
2025-08-19T15:55:23Z INFO # newview/lldrawpoolbump.cpp(177) LLStandardBumpmap::clear : Clearing standard bumpmaps.
2025-08-19T15:55:23Z INFO #Cleanup# llcommon/llcleanup.cpp(29) log_subsystem_cleanup : newview/llviewerwindow.cpp(2696): calling LLImageGL::cleanupClass() in void __cdecl LLViewerWindow::shutdownGL(void)
2025-08-19T15:55:23Z INFO # newview/llviewerwindow.cpp(2698) LLViewerWindow::shutdownGL : All textures and llimagegl images are destroyed!
2025-08-19T15:55:23Z INFO # newview/llviewerwindow.cpp(2700) LLViewerWindow::shutdownGL : Cleaning up select manager
2025-08-19T15:55:23Z INFO # newview/llviewerwindow.cpp(2703) LLViewerWindow::shutdownGL : Stopping GL during shutdown
2025-08-19T15:55:23Z INFO # newview/llviewerwindow.cpp(7030) LLViewerWindow::stopGL : Shutting down GL...
2025-08-19T15:55:23Z INFO # newview/lldrawpoolbump.cpp(641) LLBumpImageList::clear : Clearing dynamic bumpmaps.
2025-08-19T15:55:23Z INFO # newview/lldrawpoolbump.cpp(177) LLStandardBumpmap::clear : Clearing standard bumpmaps.
2025-08-19T15:55:23Z INFO # newview/lldrawpoolbump.cpp(177) LLStandardBumpmap::clear : Clearing standard bumpmaps.
2025-08-19T15:55:23Z INFO #Cleanup# llcommon/llcleanup.cpp(29) log_subsystem_cleanup : newview/llviewerwindow.cpp(2709): calling LLVertexBuffer::cleanupClass() in void __cdecl LLViewerWindow::shutdownGL(void)
2025-08-19T15:55:27Z INFO # newview/llviewerwindow.cpp(2711) LLViewerWindow::shutdownGL : LLVertexBuffer cleaned.
2025-08-19T15:55:27Z INFO # newview/llviewerwindow.cpp(2717) LLViewerWindow::~LLViewerWindow : Destroying Window
2025-08-19T15:55:27Z INFO #Window# llwindow/llwindowwin32.cpp(990) LLWindowWin32::close : Cleaning up GL
2025-08-19T15:55:33Z INFO #Window# llwindow/llwindowwin32.cpp(1013) LLWindowWin32::close : Cleanup and destruction of Window Thread

@akleshchev
Copy link
Contributor Author

akleshchev commented Aug 19, 2025

Thank you.

That makes very little sense. It didn't get to detaching thread, so it either got stuck on ShowWindow or on SetWindowLongPtr.
Can you comment out ShowWindow and see if viewer still freezes?

@Hecklezz

@akleshchev akleshchev force-pushed the andreyk/viewer_4284_2 branch from 202d9d4 to 91675ff Compare August 19, 2025 16:13
@akleshchev akleshchev linked an issue Aug 19, 2025 that may be closed by this pull request
@Hecklezz
Copy link
Contributor

I added additional logs and it is indeed getting stuck on ShowWindow(mWindowHandleThrd, SW_HIDE);
It prints right before calling it, but doesn't print right after calling it.

@akleshchev akleshchev merged commit 143de1d into release/2025.06 Aug 19, 2025
19 of 20 checks passed
@akleshchev akleshchev deleted the andreyk/viewer_4284_2 branch August 19, 2025 20:16
@github-actions github-actions bot locked and limited conversation to collaborators Aug 19, 2025
@akleshchev
Copy link
Contributor Author

Thank you!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Freeze on logout

4 participants