View Issue Details

IDProjectCategoryView StatusLast Update
0004298DarkRadiantDesign/Codingpublic01.01.2017 18:09
ReporterVanishedOne Assigned Togreebo  
PrioritynormalSeveritycrashReproducibilityhave not tried
Status closedResolutionfixed 
Product Version2.0.3 
Target Version2.0.4Fixed in Version2.0.4 
Summary0004298: Crash when reloading def files while having a map loaded
DescriptionPresumably the reload DEF command (which happens in a worker thread) issues a model refresh which in turn tries to reinstantiate a RendereablePicoSurface class (of say, a coinstack). This tries to compile/generate the display lists of the surface which triggers the crash as the openGL context has to valid for the given thread.
Additional Informationntdll.dll!NtWaitForMultipleObjects() Unknown
KERNELBASE.dll!WaitForMultipleObjectsEx() Unknown
kernel32.dll!WerpReportFaultInternal() Unknown
kernel32.dll!WerpReportFault() Unknown
KERNELBASE.dll!UnhandledExceptionFilter() Unknown
ntdll.dll!RtlUserThreadStart$filt$0() Unknown
ntdll.dll!__C_specific_handler() Unknown
ntdll.dll!RtlpExecuteHandlerForException() Unknown
ntdll.dll!RtlDispatchException() Unknown
ntdll.dll!KiUserExceptionDispatch() Unknown
atio6axx.dll!0000000074b000f8() Unknown
> model.dll!model::RenderablePicoSurface::compileProgramList(bool includeColour) Line 230 C++
model.dll!model::RenderablePicoSurface::createDisplayLists() Line 256 C++
model.dll!model::RenderablePicoSurface::RenderablePicoSurface(picoSurface_s * surf, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & fExt) Line 89 C++
model.dll!model::RenderablePicoModel::RenderablePicoModel(picoModel_s * mod, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & fExt) Line 37 C++
model.dll!model::PicoModelLoader::loadModelFromPath(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & name) Line 105 C++
DarkRadiant.exe!model::ModelCache::getModel(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & modelPath) Line 220 C++
model.dll!model::PicoModelLoader::loadModel(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & modelName) Line 47 C++
DarkRadiant.exe!model::ModelCache::getModelNode(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & modelPath) Line 154 C++
entity.dll!ModelKey::attachModelNode() Line 69 C++
entity.dll!ModelKey::attachModelNodeKeepinSkin() Line 125 C++
entity.dll!ModelKey::modelChanged(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & value) Line 49 C++
entity.dll!entity::Doom3Group::modelChanged(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & value) Line 356 C++
entity.dll!entity::KeyObserverMap::refreshObservers() Line 124 C++
eclassmgr.dll!sigc::internal::signal_emit0<void,sigc::nil>::emit(sigc::internal::signal_impl * impl) Line 768 C++
eclassmgr.dll!eclass::Doom3EntityClass::parseFromTokens(parser::DefTokeniser & tokeniser) Line 621 C++
eclassmgr.dll!eclass::EClassManager::parse(TextInputStream & inStr, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & modDir) Line 397 C++
eclassmgr.dll!eclass::EClassManager::parseFile(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & filename) Line 452 C++
vfspk3.dll!FileVisitor::visit(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & name) Line 93 C++
archivezip.dll!GenericFileSystem<ZipRecord>::traverse<CustomArchiveVisitor>(CustomArchiveVisitor visitor, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & root) Line 186 C++
archivezip.dll!ZipArchive::forEachFile(CustomArchiveVisitor visitor, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & root) Line 125 C++
vfspk3.dll!Doom3FileSystem::forEachFile(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & basedir, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & extension, const std::function<void __cdecl(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)> & visitorFunc, unsigned __int64 depth) Line 263 C++
eclassmgr.dll!eclass::EClassManager::parseDefFiles() Line 136 C++
eclassmgr.dll!eclass::EClassManager::reloadDefs() Line 280 C++
DarkRadiant.exe!radiant::RadiantThreadManager::DetachedThread::Entry() Line 35 C++
wxbase30u_vc120_x64.dll!wxThreadInternal::DoThreadStart(wxThread * thread) Line 574 C++
wxbase30u_vc120_x64.dll!wxThreadInternal::WinThreadStart(void * param) Line 606 C++
msvcr120.dll!_callthreadstartex() Line 376 C
msvcr120.dll!_threadstartex(void * ptd) Line 354 C
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown
TagsNo tags attached.

Activities

greebo

greebo

20.04.2016 12:17

administrator   ~0008104

Fixed in 88ea5139f9d21a11df1b74fd00639d39b256663f. Defs are reloaded in the main thread again.

Issue History

Date Modified Username Field Change
31.03.2016 05:45 greebo New Issue
31.03.2016 05:45 greebo Reporter greebo => VanishedOne
31.03.2016 05:45 greebo Status new => confirmed
20.04.2016 12:16 greebo Assigned To => greebo
20.04.2016 12:16 greebo Status confirmed => assigned
20.04.2016 12:17 greebo Note Added: 0008104
20.04.2016 12:17 greebo Status assigned => resolved
20.04.2016 12:17 greebo Fixed in Version => 2.0.4
20.04.2016 12:17 greebo Resolution open => fixed
20.04.2016 12:18 greebo Target Version => 2.0.4
01.01.2017 18:09 greebo Status resolved => closed