Freeze on accessing file system on Windows
Reported on Discord from user running 0.48:
Hi guys, Should I be doing anything after downloading the newer version of OpenMW? I've uninstalled the 0.47 version and installed the 0.48 but ever since that, my Morrowind experience has been quite a pain. Game keeps constantly freezing for a short period of time showing this exact message. I've never ran into a problems with OpenMW before so I don't really know what to do about it - I've tried to reinstall both OpenMW and some mods, but the problem is still there.
Backtraces:
- Reading XML layout on start:
Not Flagged > 2888 0 Main Thread Main Thread openmw.exe!Platform::File::read
ntdll.dll!NtReadFile()
KERNELBASE.dll!ReadFile()
openmw.exe!Platform::File::read(Platform::File::Handle handle, void * data, unsigned __int64 size) Line 94
openmw.exe!Files::ConstrainedFileStreamBuf::underflow() Line 30
MyGUIEngine.dll!std::getline<char,std::char_traits<char>,std::allocator<char>>(std::basic_istream<char,std::char_traits<char>> && _Istr, std::string & _Str, const char _Delim) Line 40
MyGUIEngine.dll!MyGUI::xml::Document::open(MyGUI::IDataStream * _stream) Line 511
MyGUIEngine.dll!MyGUI::ResourceManager::_loadImplement(const std::string & _file, bool _match, const std::string & _type, const std::string & _instance) Line 142
MyGUIEngine.dll!MyGUI::ResourceManager::load(const std::string & _file) Line 63
MyGUIEngine.dll!MyGUI::LayoutManager::loadLayout(const std::string & _file, const std::string & _prefix, MyGUI::Widget * _parent) Line 67
openmw.exe!MWGui::Layout::initialise(std::basic_string_view<char,std::char_traits<char>> _layout) Line 17
[Inline Frame] openmw.exe!MWGui::Layout::{ctor}(std::basic_string_view<char,std::char_traits<char>>) Line 21
openmw.exe!MWGui::WindowBase::WindowBase(std::basic_string_view<char,std::char_traits<char>> parLayout) Line 18
openmw.exe!MWGui::SpellBuyingWindow::SpellBuyingWindow() Line 25
openmw.exe!MWGui::WindowManager::initUI() Line 347
openmw.exe!OMW::Engine::prepareEngine() Line 873
openmw.exe!OMW::Engine::go() Line 1041
openmw.exe!runApplication(int argc, char * * argv) Line 231
openmw.exe!wrapApplication(int(*)(int, char * *) innerApplication, int argc, char * * argv, std::basic_string_view<char,std::char_traits<char>> appName) Line 343
openmw.exe!main(int argc, char * * argv) Line 244
[Inline Frame] openmw.exe!invoke_main() Line 78
openmw.exe!__scrt_common_main_seh() Line 288
kernel32.dll!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()
- Closing NIF file in object paging:
Not Flagged 3404 0 Main Thread Main Thread [Inline Frame] msvcp140.dll!Concurrency::details::stl_condition_variable_win7::wait_for
ntdll.dll!NtWaitForAlertByThreadId()
ntdll.dll!RtlSleepConditionVariableSRW()
KERNELBASE.dll!SleepConditionVariableSRW()
[Inline Frame] msvcp140.dll!Concurrency::details::stl_condition_variable_win7::wait_for(Concurrency::details::stl_critical_section_interface *) Line 87
msvcp140.dll!Concurrency::details::stl_condition_variable_win7::wait(Concurrency::details::stl_critical_section_interface * lock) Line 81
msvcp140.dll!_Cnd_wait(_Cnd_internal_imp_t * cond, _Mtx_internal_imp_t * mtx) Line 59
[Inline Frame] openmw.exe!std::condition_variable::wait(std::unique_lock<std::mutex> &) Line 595
openmw.exe!SceneUtil::WorkItem::waitTillDone() Line 16
openmw.exe!MWWorld::CellPreloader::abortTerrainPreloadExcept(const std::pair<osg::Vec3f,osg::Vec4i> * exceptPos) Line 433
openmw.exe!MWWorld::Scene::preloadTerrain(const osg::Vec3f & pos, bool sync) Line 1169
openmw.exe!MWWorld::Scene::changeCellGrid(const osg::Vec3f & pos, int playerCellX, int playerCellY, bool changeEvent) Line 561
openmw.exe!MWWorld::Scene::update(float duration) Line 316
openmw.exe!MWWorld::World::update(float duration, bool paused) Line 1837
openmw.exe!OMW::Engine::frame(float frametime) Line 417
openmw.exe!OMW::Engine::go() Line 1103
openmw.exe!runApplication(int argc, char * * argv) Line 231
openmw.exe!wrapApplication(int(*)(int, char * *) innerApplication, int argc, char * * argv, std::basic_string_view<char,std::char_traits<char>> appName) Line 343
openmw.exe!main(int argc, char * * argv) Line 244
[Inline Frame] openmw.exe!invoke_main() Line 78
openmw.exe!__scrt_common_main_seh() Line 288
kernel32.dll!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()
Not Flagged > 18596 0 Worker Thread Win64 Thread [Inline Frame] openmw.exe!Platform::File::ScopedHandle::{dtor}
ntdll.dll!NtClose()
KERNELBASE.dll!CloseHandle()
[Inline Frame] openmw.exe!Platform::File::ScopedHandle::{dtor}() Line 58
[Inline Frame] openmw.exe!std::default_delete<Files::ConstrainedFileStreamBuf>::operator()(Files::ConstrainedFileStreamBuf *) Line 3090
[Inline Frame] openmw.exe!std::unique_ptr<Files::ConstrainedFileStreamBuf,std::default_delete<Files::ConstrainedFileStreamBuf>>::{dtor}() Line 3198
openmw.exe!Files::StreamWithBuffer<Files::ConstrainedFileStreamBuf>::`scalar deleting destructor'(unsigned int)
[Inline Frame] openmw.exe!std::default_delete<std::basic_istream<char,std::char_traits<char>>>::operator()(std::basic_istream<char,std::char_traits<char>> *) Line 3090
[Inline Frame] openmw.exe!std::unique_ptr<std::basic_istream<char,std::char_traits<char>>,std::default_delete<std::basic_istream<char,std::char_traits<char>>>>::{dtor}() Line 3198
openmw.exe!Nif::NIFFile::parse(std::unique_ptr<std::basic_istream<char,std::char_traits<char>>,std::default_delete<std::basic_istream<char,std::char_traits<char>>>> && stream) Line 347
openmw.exe!Nif::NIFFile::NIFFile(std::unique_ptr<std::basic_istream<char,std::char_traits<char>>,std::default_delete<std::basic_istream<char,std::char_traits<char>>>> && stream, const std::string & name) Line 28
openmw.exe!Resource::NifFileManager::get(const std::string & name) Line 54
openmw.exe!Resource::load(const std::string & normalizedFilename, const VFS::Manager * vfs, Resource::ImageManager * imageManager, Resource::NifFileManager * nifFileManager) Line 694
openmw.exe!Resource::SceneManager::getTemplate(const std::string & name, bool compile) Line 798
openmw.exe!MWRender::ObjectPaging::createChunk(float size, const osg::Vec2f & center, bool activeGrid, const osg::Vec3f & viewPoint, bool compile) Line 551
openmw.exe!MWRender::ObjectPaging::getChunk(float size, const osg::Vec2f & center, unsigned char lod, unsigned int lodFlags, bool activeGrid, const osg::Vec3f & viewPoint, bool compile) Line 89
openmw.exe!Terrain::QuadTreeWorld::loadRenderingNode(Terrain::ViewDataEntry & entry, Terrain::ViewData * vd, float cellWorldSize, const osg::Vec4i & gridbounds, bool compile) Line 381
openmw.exe!Terrain::QuadTreeWorld::preload(Terrain::View * view, const osg::Vec3f & viewPoint, const osg::Vec4i & grid, std::atomic<bool> & abort, Loading::Reporter & reporter) Line 547
openmw.exe!MWWorld::TerrainPreloadItem::doWork() Line 185
openmw.exe!SceneUtil::WorkThread::run() Line 135
[Inline Frame] openmw.exe!SceneUtil::WorkThread::{ctor}::__l1::<lambda_5_>::operator()() Line 117
[Inline Frame] openmw.exe!std::invoke(SceneUtil::WorkThread::{ctor}::__l1::<lambda_5_> &&) Line 1524
openmw.exe!std::thread::_Invoke<std::tuple<`SceneUtil::WorkThread::WorkThread'::`1'::<lambda_5_>>,0>(void * _RawVals) Line 56
ucrtbase.dll!thread_start<unsigned int (__cdecl*)(void *),1>()
kernel32.dll!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()
Edited by elsid