User freeze

AnyOldName3
2026-03-22T15:52:23Z

Reported here: https://discord.com/channels/260439894298460160/260443579908882434/1485180360403976274 [openmw-freeze.zip](/uploads/f187d6a3e32c5203efa793116878dc52/openmw-freeze.zip) ![Untitled](/uploads/2bc20def3e10ec50c65714a52c68d9bc/Untitled.png){width=900 height=207} The busy thread is trying to load groundcover, but it's unclear whether that's the only thing it's trying to do and has got stuck, or if it's succeeding but stuck in some kind of loop. Stack trace:

Click to expand
``` openmw.exe!ESM::ESMReader::getSubHeader() Line 344 C++ [Inline Frame] openmw.exe!ESM::ESMReader::getHT(float &) Line 176 C++ [Inline Frame] openmw.exe!ESM::`anonymous-namespace'::loadDataImpl::__l2::::operator()(float &) Line 66 C++ openmw.exe!ESM::`anonymous namespace'::loadDataImpl<1>(ESM::ESMReader & esm, bool & isDeleted, ESM::CellRef & cellRef) Line 84 C++ openmw.exe!ESM::Cell::getNextRef(ESM::ESMReader & esm, ESM::CellRef & ref, bool & isDeleted) Line 280 C++ openmw.exe!MWRender::Groundcover::collectInstances(std::map>,std::less,std::allocator>>>> & instances, float size, const osg::Vec2f & center) Line 401 C++ openmw.exe!MWRender::Groundcover::getChunk(float size, const osg::Vec2f & center, unsigned char lod, unsigned int lodFlags, bool activeGrid, const osg::Vec3f & viewPoint, bool compile) Line 340 C++ openmw.exe!Terrain::QuadTreeWorld::loadRenderingNode(Terrain::ViewDataEntry & entry, Terrain::ViewData * vd, float cellWorldSize, const osg::Vec4i & gridbounds, bool compile) Line 398 C++ openmw.exe!Terrain::QuadTreeWorld::accept(osg::NodeVisitor & nv) Line 496 C++ openmw.exe!Terrain::RootNode::accept(osg::NodeVisitor & nv) Line 114 C++ osg.dll!osg::Group::traverse(osg::NodeVisitor & nv) Line 61 C++ osgUtil.dll!osgUtil::IntersectionVisitor::apply(osg::Node & node) Line 221 C++ osg.dll!osg::Group::accept(osg::NodeVisitor & nv) Line 38 osg.dll!osg::Group::traverse(osg::NodeVisitor & nv) Line 61 C++ osgUtil.dll!osgUtil::IntersectionVisitor::apply(osg::Node & node) Line 221 C++ openmw.exe!SceneUtil::LightManager::accept(osg::NodeVisitor & nv) Line 216 C++ osg.dll!osg::Group::traverse(osg::NodeVisitor & nv) Line 61 C++ osgShadow.dll!osgShadow::ShadowTechnique::traverse(osg::NodeVisitor & nv) Line 100 C++ osgUtil.dll!osgUtil::IntersectionVisitor::apply(osg::Node & node) Line 221 C++ osgShadow.dll!osgShadow::ShadowedScene::accept(osg::NodeVisitor & nv) Line 36 osg.dll!osg::Group::traverse(osg::NodeVisitor & nv) Line 61 C++ osgUtil.dll!osgUtil::IntersectionVisitor::apply(osg::Node & node) Line 221 C++ osg.dll!osg::Group::accept(osg::NodeVisitor & nv) Line 38 osg.dll!osg::Group::traverse(osg::NodeVisitor & nv) Line 61 C++ osgUtil.dll!osgUtil::IntersectionVisitor::apply(osg::Node & node) Line 221 C++ osg.dll!osg::Group::accept(osg::NodeVisitor & nv) Line 38 osg.dll!osg::Group::traverse(osg::NodeVisitor & nv) Line 61 C++ osgUtil.dll!osgUtil::IntersectionVisitor::apply(osg::Camera & camera) Line 498 C++ osg.dll!osg::Camera::accept(osg::NodeVisitor & nv) Line 54 openmw.exe!MWRender::RenderingManager::castCameraToViewportRay(const float nX, const float nY, float maxDistance, bool ignorePlayer, bool ignoreActors) Line 1244 C++ openmw.exe!MWWorld::World::getFacedObject(float maxDistance, bool ignorePlayer) Line 1821 C++ openmw.exe!MWWorld::World::getFacedObject() Line 1016 C++ openmw.exe!MWWorld::World::updateWindowManager() Line 1783 C++ openmw.exe!OMW::Engine::frame(unsigned int frameNumber, float frametime) Line 348 C++ openmw.exe!OMW::Engine::go() Line 1042 C++ openmw.exe!runApplication(int argc, char * * argv) Line 231 C++ openmw.exe!Debug::wrapApplication(int(*)(int, char * *) argc, int argv, char * * appName, std::basic_string_view>) Line 471 C++ [Inline Frame] openmw.exe!main(int) Line 243 C++ openmw.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nShowCmd) Line 253 C++ [Inline Frame] openmw.exe!invoke_main() Line 102 C++ openmw.exe!__scrt_common_main_seh() Line 288 C++ kernel32.dll!BaseThreadInitThunk() ntdll.dll!RtlUserThreadStart() ```