View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006094 | DarkRadiant | Saving and loading | public | 07.09.2022 03:56 | 13.01.2024 05:32 |
Reporter | jonri | Assigned To | greebo | ||
Priority | normal | Severity | normal | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Linux | ||||
Product Version | 3.2.0 | ||||
Target Version | 3.3.0 | Fixed in Version | 3.3.0 | ||
Summary | 0006094: Loading map results in "Real Hard DarkRadiant Failure" exception | ||||
Description | When loading a map file, DR crashes after the loading progress completes. The exception is "Cannot attach geometry without any shader". Starting from a blank map instead, I can create brushes, models, entities, assign textures, etc without crashing. This happens when DR is compiled against wxwidgets 3.2 but not 3.0.x. I reproduced this with my flatpak build on the tagged DR 3.2.0 release and on Arch Linux building the latest master. | ||||
Steps To Reproduce | 1. Open a .map file (normally or from a FM's .pk4 file) 2. Wait for crash | ||||
Additional Information | Stack trace is attached | ||||
Tags | No tags attached. | ||||
Attached Files | real_hard_darkradiant_stacktrace.txt (70,615 bytes)
1 RadiantApp::OnExceptionInMainLoop RadiantApp.cpp 188 0x56172f4dab84 2 wxEvtHandler::WXConsumeException() 0x7f47d0986e3b 3 ?? 0x7f47d08984e4 4 wxWindow::GTKSendPaintEvents(_cairo *) 0x7f47d03e6107 5 ?? 0x7f47d0c272ce 6 ?? 0x7f47ce884fd8 7 ?? 0x7f47ceb261c5 8 g_closure_invoke 0x7f47cf067fd0 9 ?? 0x7f47cf094838 10 g_signal_emit_valist 0x7f47cf0856cc 11 g_signal_emit 0x7f47cf085f14 12 ?? 0x7f47ceb359f3 13 gtk_container_propagate_draw 0x7f47ce90775e 14 ?? 0x7f47ce981052 15 ?? 0x7f47ce884fd8 16 ?? 0x7f47ceb261c5 17 g_closure_invoke 0x7f47cf067f06 18 ?? 0x7f47cf094967 19 g_signal_emit_valist 0x7f47cf0856cc 20 g_signal_emit 0x7f47cf085f14 21 ?? 0x7f47ceb359f3 22 gtk_container_propagate_draw 0x7f47ce90775e 23 ?? 0x7f47ce981052 24 ?? 0x7f47ce884fd8 25 ?? 0x7f47ceb261c5 26 g_closure_invoke 0x7f47cf067f06 27 ?? 0x7f47cf094967 28 g_signal_emit_valist 0x7f47cf0856cc 29 g_signal_emit 0x7f47cf085f14 30 ?? 0x7f47ceb359f3 31 gtk_container_propagate_draw 0x7f47ce90775e 32 ?? 0x7f47ce981052 33 ?? 0x7f47ce884fd8 34 ?? 0x7f47ceb261c5 35 g_closure_invoke 0x7f47cf067f06 36 ?? 0x7f47cf094967 37 g_signal_emit_valist 0x7f47cf0856cc 38 g_signal_emit 0x7f47cf085f14 39 ?? 0x7f47ceb359f3 40 gtk_container_propagate_draw 0x7f47ce90775e 41 ?? 0x7f47ce981052 42 ?? 0x7f47ce884fd8 43 ?? 0x7f47ceb261c5 44 g_closure_invoke 0x7f47cf067fd0 45 ?? 0x7f47cf094967 46 g_signal_emit_valist 0x7f47cf0856cc 47 g_signal_emit 0x7f47cf085f14 48 ?? 0x7f47ceb359f3 49 gtk_container_propagate_draw 0x7f47ce90775e 50 ?? 0x7f47ce907886 51 ?? 0x7f47ce8b5611 52 ?? 0x7f47ce9080e1 53 ?? 0x7f47ce913cdc 54 ?? 0x7f47ce8b5b15 55 ?? 0x7f47ceb358da 56 gtk_container_propagate_draw 0x7f47ce90775e 57 ?? 0x7f47ce907886 58 ?? 0x7f47ceb358da 59 ?? 0x7f47ceb41f93 60 gtk_main_do_event 0x7f47ce9e2feb 61 ?? 0x7f47ce744cc3 62 ?? 0x7f47ce74c882 63 ?? 0x7f47ce7511ac 64 ?? 0x7f47ce7513b1 65 g_signal_emit_valist 0x7f47cf085dd4 66 g_signal_emit 0x7f47cf085f14 67 ?? 0x7f47ce7488b1 68 ?? 0x7f47ce7356ae 69 ?? 0x7f47d10b5337 70 g_main_context_dispatch 0x7f47d10b4b2b 71 ?? 0x7f47d110ae79 72 g_main_context_iteration 0x7f47d10b2252 73 gtk_main_iteration 0x7f47ce9d8ecb 74 wxGUIEventLoop::DoYieldFor(long) 0x7f47d03bf1d0 75 wxEventLoopBase::YieldFor(long) 0x7f47d08cf765 76 ui::LongRunningOperationHandler::onMessage LongRunningOperationHandler.cpp 65 0x56172f62670e 77 std::__invoke_impl<void, void (ui::LongRunningOperationHandler:: *&)(radiant::LongRunningOperationMessage&), ui::LongRunningOperationHandler *&, radiant::LongRunningOperationMessage&> invoke.h 74 0x56172f628af3 78 std::__invoke<void (ui::LongRunningOperationHandler:: *&)(radiant::LongRunningOperationMessage&), ui::LongRunningOperationHandler *&, radiant::LongRunningOperationMessage&> invoke.h 96 0x56172f6289c5 79 std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>::__call<void, radiant::LongRunningOperationMessage&, 0ul, 1ul>(std::tuple<radiant::LongRunningOperationMessage&>&&, std::_Index_tuple<0ul, 1ul>) functional 484 0x56172f62880a 80 std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>::operator()<radiant::LongRunningOperationMessage&, void>(radiant::LongRunningOperationMessage&) functional 567 0x56172f6285a2 81 std::__invoke_impl<void, std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>&, radiant::LongRunningOperationMessage&>(std::__invoke_other, std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>&, radiant::LongRunningOperationMessage&) invoke.h 61 0x56172f6282ff 82 std::__invoke_r<void, std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>&, radiant::LongRunningOperationMessage&>(std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>&, radiant::LongRunningOperationMessage&) invoke.h 111 0x56172f627e93 83 std::_Function_handler<void (radiant::LongRunningOperationMessage&), std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>>::_M_invoke(std::_Any_data const&, radiant::LongRunningOperationMessage&) std_function.h 290 0x56172f6278bb 84 std::function<void (radiant::LongRunningOperationMessage&)>::operator()(radiant::LongRunningOperationMessage&) const std_function.h 591 0x56172f62886f 85 radiant::TypeListener<radiant::LongRunningOperationMessage>::operator() imessagebus.h 122 0x56172f628643 86 std::__invoke_impl<void, radiant::TypeListener<radiant::LongRunningOperationMessage>&, radiant::IMessage&> invoke.h 61 0x56172f628455 87 std::__invoke_r<void, radiant::TypeListener<radiant::LongRunningOperationMessage>&, radiant::IMessage&> invoke.h 111 0x56172f62803d 88 std::_Function_handler<void (radiant::IMessage&), radiant::TypeListener<radiant::LongRunningOperationMessage>>::_M_invoke(std::_Any_data const&, radiant::IMessage&) std_function.h 290 0x56172f627a6d 89 std::function<void (radiant::IMessage&)>::operator()(radiant::IMessage&) const std_function.h 591 0x7f47c377d2a5 90 radiant::MessageBus::sendMessage MessageBus.h 72 0x7f47c377c94f 91 radiant::ScopedLongRunningOperation::ScopedLongRunningOperation ScopedLongRunningOperation.h 22 0x7f47c34565a3 92 map::Map::loadMapResourceFromLocation Map.cpp 180 0x7f47c3604c2b 93 map::Map::loadMapResourceFromArchive Map.cpp 134 0x7f47c36047ca 94 map::Map::openMapFromArchive Map.cpp 1132 0x7f47c360c029 95 std::__invoke_impl<void, void ( *&)(std::vector<cmd::Argument> const&), std::vector<cmd::Argument> const&> invoke.h 61 0x7f47c334b299 96 std::__invoke_r<void, void ( *&)(std::vector<cmd::Argument> const&), std::vector<cmd::Argument> const&> invoke.h 111 0x7f47c3349fd1 97 std::_Function_handler<void (std::vector<cmd::Argument> const&), void ( *)(std::vector<cmd::Argument> const&)>::_M_invoke(std::_Any_data const&, std::vector<cmd::Argument> const&) std_function.h 290 0x7f47c3348e4c 98 std::function<void (std::vector<cmd::Argument> const&)>::operator()(std::vector<cmd::Argument> const&) const std_function.h 591 0x7f47c33f53c5 99 cmd::Command::execute Command.h 83 0x7f47c33f39b9 100 cmd::CommandSystem::executeCommand CommandSystem.cpp 380 0x7f47c33f04ac 101 cmd::ICommandSystem::executeCommand icommandsystem.h 371 0x56172f52fe63 102 ui::MapSelector::OpenMapFromProject MapSelector.cpp 102 0x56172f64a03f 103 std::__invoke_impl<void, void ( *&)(std::vector<cmd::Argument> const&), std::vector<cmd::Argument> const&> invoke.h 61 0x56172f511759 104 std::__invoke_r<void, void ( *&)(std::vector<cmd::Argument> const&), std::vector<cmd::Argument> const&> invoke.h 111 0x56172f50fc95 105 std::_Function_handler<void (std::vector<cmd::Argument> const&), void ( *)(std::vector<cmd::Argument> const&)>::_M_invoke(std::_Any_data const&, std::vector<cmd::Argument> const&) std_function.h 290 0x56172f50d716 106 std::function<void (std::vector<cmd::Argument> const&)>::operator()(std::vector<cmd::Argument> const&) const std_function.h 591 0x7f47c33f53c5 107 cmd::Command::execute Command.h 83 0x7f47c33f39b9 108 cmd::CommandSystem::executeCommand CommandSystem.cpp 380 0x7f47c33f04ac 109 cmd::CommandSystem::execute CommandSystem.cpp 363 0x7f47c33f030c 110 ui::EventManager::onMenuItemClicked EventManager.cpp 376 0x56172f478139 111 wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler *, wxEvent&) 0x7f47d09835b2 112 wxEvtHandler::SearchDynamicEventTable(wxEvent&) 0x7f47d0985ff7 113 wxEvtHandler::TryHereOnly(wxEvent&) 0x7f47d0986345 114 wxEvtHandler::ProcessEventLocally(wxEvent&) 0x7f47d09863ef 115 wxEvtHandler::ProcessEvent(wxEvent&) 0x7f47d098650a 116 wxEvtHandler::SafelyProcessEvent(wxEvent&) 0x7f47d0986ebb 117 wxMenuBase::DoProcessEvent(wxMenuBase *, wxEvent&, wxWindow *) 0x7f47d022e2be 118 wxMenuBase::SendEvent(int, int) 0x7f47d022e3e3 119 ?? 0x7f47d042d6df 120 g_closure_invoke 0x7f47cf067fd0 121 ?? 0x7f47cf094838 122 g_signal_emit_valist 0x7f47cf085c85 123 g_signal_emit 0x7f47cf085f14 124 gtk_widget_activate 0x7f47ceb2e71d 125 gtk_menu_shell_activate_item 0x7f47ce9f85dd 126 ?? 0x7f47ce9f88aa 127 ?? 0x7f47ce887c89 128 g_signal_emit_valist 0x7f47cf085dd4 129 g_signal_emit 0x7f47cf085f14 130 ?? 0x7f47ceb44815 131 ?? 0x7f47ce9e20eb 132 gtk_main_do_event 0x7f47ce9e2fcb 133 ?? 0x7f47ce744cc3 134 ?? 0x7f47ce793068 135 g_main_context_dispatch 0x7f47d10b4b2b 136 ?? 0x7f47d110ae79 137 g_main_loop_run 0x7f47d10b408f 138 gtk_main 0x7f47ce9d8e2f 139 wxGUIEventLoop::DoRun() 0x7f47d03b2056 140 wxEventLoopBase::Run() 0x7f47d08d0862 141 wxAppConsoleBase::MainLoop() 0x7f47d08acf08 142 wxEntry(int&, wchar_t * *) 0x7f47d090efa0 143 main main.cpp 7 0x56172f4d13ef | ||||
Are you able to set a breakpoint on the line throwing that exception? It's a specific line somewhere in the render libs. Are all maps crashing or just specific ones? |
|
I'm attaching a stacktrace from the line throwing the exception, and the state of the local variables at that point. I loaded a few FMs as well as a couple small personal test maps that had a variety of entities, and those all crashed. Next I made a new map from scratch to save and load. I made a brush, hollowed it into a room, and textured it. Upon saving, reloading DR, and loading this map, it didn't crash but the map appeared to be empty. I made an additional room and saved it to the same map, reloaded, and then both rooms showed up. I added a patch since that's what was in the stack trace and that saved/loaded successfully. I'm thinking about bisecting one of the small maps, removing half at a time with a text editor until I find a specific entity that makes it crash. stacktrace2.txt (96,957 bytes)
1 render::RenderableGeometry::attachToEntity RenderableGeometry.h 217 0x7f22fb736703 2 PatchNode::onPreRender PatchNode.cpp 359 0x7f22fb770fc4 3 render::RenderableCollectorBase::processNode RenderableCollectorBase.h 51 0x558de850fc80 4 render::RenderableCollectionWalker::CollectRenderablesInScene(render::RenderableCollectorBase&, VolumeTest const&)::{lambda(std::shared_ptr<scene::INode> const&)#1}::operator()(std::shared_ptr<scene::INode> const&) const RenderableCollectionWalker.h 29 0x558de8510703 5 std::__invoke_impl<bool, render::RenderableCollectionWalker::CollectRenderablesInScene(render::RenderableCollectorBase&, VolumeTest const&)::{lambda(std::shared_ptr<scene::INode> const&)#1}&, std::shared_ptr<scene::INode> const&>(std::__invoke_other, render::RenderableCollectionWalker::CollectRenderablesInScene(render::RenderableCollectorBase&, VolumeTest const&)::{lambda(std::shared_ptr<scene::INode> const&)#1}&, std::shared_ptr<scene::INode> const&) invoke.h 61 0x558de85243bd 6 std::__invoke_r<bool, render::RenderableCollectionWalker::CollectRenderablesInScene(render::RenderableCollectorBase&, VolumeTest const&)::{lambda(std::shared_ptr<scene::INode> const&)#1}&, std::shared_ptr<scene::INode> const&>(render::RenderableCollectionWalker::CollectRenderablesInScene(render::RenderableCollectorBase&, VolumeTest const&)::{lambda(std::shared_ptr<scene::INode> const&)#1}&, std::shared_ptr<scene::INode> const&) invoke.h 114 0x558de851e314 7 std::_Function_handler<bool (std::shared_ptr<scene::INode> const&), render::RenderableCollectionWalker::CollectRenderablesInScene(render::RenderableCollectorBase&, VolumeTest const&)::{lambda(std::shared_ptr<scene::INode> const&)#1}>::_M_invoke(std::_Any_data const&, std::shared_ptr<scene::INode> const&) std_function.h 290 0x558de85199d1 8 std::function<bool (std::shared_ptr<scene::INode> const&)>::operator()(std::shared_ptr<scene::INode> const&) const std_function.h 591 0x7f23076ec779 9 scene::SceneGraph::foreachNodeInVolume_r(scene::ISPNode const&, VolumeTest const&, std::function<bool (std::shared_ptr<scene::INode> const&)> const&, bool) SceneGraph.cpp 304 0x7f22fb816beb 10 scene::SceneGraph::foreachNodeInVolume(VolumeTest const&, std::function<bool (std::shared_ptr<scene::INode> const&)> const&, bool) SceneGraph.cpp 260 0x7f22fb8168c4 11 scene::SceneGraph::foreachVisibleNodeInVolume(VolumeTest const&, std::function<bool (std::shared_ptr<scene::INode> const&)> const&) SceneGraph.cpp 240 0x7f22fb8167bd 12 render::RenderableCollectionWalker::CollectRenderablesInScene RenderableCollectionWalker.h 27 0x558de85107dd 13 ui::CamWnd::Cam_Draw CamWnd.cpp 806 0x558de8501612 14 ui::CamWnd::onRender CamWnd.cpp 936 0x558de8502087 15 std::__invoke_impl<bool, bool (ui::CamWnd:: *&)(), ui::CamWnd *&> invoke.h 74 0x558de85424a9 16 std::__invoke<bool (ui::CamWnd:: *&)(), ui::CamWnd *&> invoke.h 96 0x558de853ce1d 17 std::_Bind<bool (ui::CamWnd:: *(ui::CamWnd *))()>::__call<bool, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) functional 484 0x558de8536493 18 std::_Bind<bool (ui::CamWnd:: *(ui::CamWnd *))()>::operator()<, bool>() functional 567 0x558de852e889 19 std::__invoke_impl<bool, std::_Bind<bool (ui::CamWnd:: *(ui::CamWnd *))()>&>(std::__invoke_other, std::_Bind<bool (ui::CamWnd:: *(ui::CamWnd *))()>&) invoke.h 61 0x558de85248e2 20 std::__invoke_r<bool, std::_Bind<bool (ui::CamWnd:: *(ui::CamWnd *))()>&>(std::_Bind<bool (ui::CamWnd:: *(ui::CamWnd *))()>&) invoke.h 114 0x558de851e9fe 21 std::_Function_handler<bool (), std::_Bind<bool (ui::CamWnd:: *(ui::CamWnd *))()>>::_M_invoke(std::_Any_data const&) std_function.h 290 0x558de8519e87 22 std::function<bool ()>::operator()() const std_function.h 591 0x558de885da7e 23 wxutil::GLWidget::OnPaint GLWidget.cpp 98 0x7f2307d54dbf 24 wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler *, wxEvent&) 0x7f23073835b2 25 wxEvtHandler::SearchDynamicEventTable(wxEvent&) 0x7f2307385ff7 26 wxEvtHandler::TryHereOnly(wxEvent&) 0x7f2307386345 27 wxEvtHandler::ProcessEventLocally(wxEvent&) 0x7f23073863ef 28 wxEvtHandler::ProcessEvent(wxEvent&) 0x7f230738650a 29 wxEvtHandler::SafelyProcessEvent(wxEvent&) 0x7f2307386ebb 30 wxWindow::GTKSendPaintEvents(_cairo *) 0x7f2306de6107 31 ?? 0x7f23074c92ce 32 ?? 0x7f2305084fd8 33 ?? 0x7f23053261c5 34 g_closure_invoke 0x7f23058e1fd0 35 ?? 0x7f230590e838 36 g_signal_emit_valist 0x7f23058ff6cc 37 g_signal_emit 0x7f23058fff14 38 ?? 0x7f23053359f3 39 gtk_container_propagate_draw 0x7f230510775e 40 ?? 0x7f2305181052 41 ?? 0x7f2305084fd8 42 ?? 0x7f23053261c5 43 g_closure_invoke 0x7f23058e1f06 44 ?? 0x7f230590e967 45 g_signal_emit_valist 0x7f23058ff6cc 46 g_signal_emit 0x7f23058fff14 47 ?? 0x7f23053359f3 48 gtk_container_propagate_draw 0x7f230510775e 49 ?? 0x7f2305181052 50 ?? 0x7f2305084fd8 51 ?? 0x7f23053261c5 52 g_closure_invoke 0x7f23058e1f06 53 ?? 0x7f230590e967 54 g_signal_emit_valist 0x7f23058ff6cc 55 g_signal_emit 0x7f23058fff14 56 ?? 0x7f23053359f3 57 gtk_container_propagate_draw 0x7f230510775e 58 ?? 0x7f2305181052 59 ?? 0x7f2305084fd8 60 ?? 0x7f23053261c5 61 g_closure_invoke 0x7f23058e1f06 62 ?? 0x7f230590e967 63 g_signal_emit_valist 0x7f23058ff6cc 64 g_signal_emit 0x7f23058fff14 65 ?? 0x7f23053359f3 66 gtk_container_propagate_draw 0x7f230510775e 67 ?? 0x7f2305181052 68 ?? 0x7f2305084fd8 69 ?? 0x7f23053261c5 70 g_closure_invoke 0x7f23058e1fd0 71 ?? 0x7f230590e967 72 g_signal_emit_valist 0x7f23058ff6cc 73 g_signal_emit 0x7f23058fff14 74 ?? 0x7f23053359f3 75 gtk_container_propagate_draw 0x7f230510775e 76 ?? 0x7f2305107886 77 ?? 0x7f23050b5611 78 ?? 0x7f23051080e1 79 ?? 0x7f2305113cdc 80 ?? 0x7f23050b5b15 81 ?? 0x7f23053358da 82 gtk_container_propagate_draw 0x7f230510775e 83 ?? 0x7f2305107886 84 ?? 0x7f23053358da 85 ?? 0x7f2305341f93 86 gtk_main_do_event 0x7f23051e2feb 87 ?? 0x7f2305812cc3 88 ?? 0x7f230581a882 89 ?? 0x7f230581f1ac 90 ?? 0x7f230581f3b1 91 g_signal_emit_valist 0x7f23058ffdd4 92 g_signal_emit 0x7f23058fff14 93 ?? 0x7f23058168b1 94 ?? 0x7f23058036ae 95 ?? 0x7f2307957337 96 g_main_context_dispatch 0x7f2307956b2b 97 ?? 0x7f23079ace79 98 g_main_context_iteration 0x7f2307954252 99 gtk_main_iteration 0x7f23051d8ecb 100 wxGUIEventLoop::DoYieldFor(long) 0x7f2306dbf1d0 101 wxEventLoopBase::YieldFor(long) 0x7f23072cf765 102 ui::LongRunningOperationHandler::onMessage LongRunningOperationHandler.cpp 65 0x558de872b70e 103 std::__invoke_impl<void, void (ui::LongRunningOperationHandler:: *&)(radiant::LongRunningOperationMessage&), ui::LongRunningOperationHandler *&, radiant::LongRunningOperationMessage&> invoke.h 74 0x558de872daf3 104 std::__invoke<void (ui::LongRunningOperationHandler:: *&)(radiant::LongRunningOperationMessage&), ui::LongRunningOperationHandler *&, radiant::LongRunningOperationMessage&> invoke.h 96 0x558de872d9c5 105 std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>::__call<void, radiant::LongRunningOperationMessage&, 0ul, 1ul>(std::tuple<radiant::LongRunningOperationMessage&>&&, std::_Index_tuple<0ul, 1ul>) functional 484 0x558de872d80a 106 std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>::operator()<radiant::LongRunningOperationMessage&, void>(radiant::LongRunningOperationMessage&) functional 567 0x558de872d5a2 107 std::__invoke_impl<void, std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>&, radiant::LongRunningOperationMessage&>(std::__invoke_other, std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>&, radiant::LongRunningOperationMessage&) invoke.h 61 0x558de872d2ff 108 std::__invoke_r<void, std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>&, radiant::LongRunningOperationMessage&>(std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>&, radiant::LongRunningOperationMessage&) invoke.h 111 0x558de872ce93 109 std::_Function_handler<void (radiant::LongRunningOperationMessage&), std::_Bind<void (ui::LongRunningOperationHandler:: *(ui::LongRunningOperationHandler *, std::_Placeholder<1>))(radiant::LongRunningOperationMessage&)>>::_M_invoke(std::_Any_data const&, radiant::LongRunningOperationMessage&) std_function.h 290 0x558de872c8bb 110 std::function<void (radiant::LongRunningOperationMessage&)>::operator()(radiant::LongRunningOperationMessage&) const std_function.h 591 0x558de872d86f 111 radiant::TypeListener<radiant::LongRunningOperationMessage>::operator() imessagebus.h 122 0x558de872d643 112 std::__invoke_impl<void, radiant::TypeListener<radiant::LongRunningOperationMessage>&, radiant::IMessage&> invoke.h 61 0x558de872d455 113 std::__invoke_r<void, radiant::TypeListener<radiant::LongRunningOperationMessage>&, radiant::IMessage&> invoke.h 111 0x558de872d03d 114 std::_Function_handler<void (radiant::IMessage&), radiant::TypeListener<radiant::LongRunningOperationMessage>>::_M_invoke(std::_Any_data const&, radiant::IMessage&) std_function.h 290 0x558de872ca6d 115 std::function<void (radiant::IMessage&)>::operator()(radiant::IMessage&) const std_function.h 591 0x7f22fb77d2a5 116 radiant::MessageBus::sendMessage MessageBus.h 72 0x7f22fb77c94f 117 radiant::ScopedLongRunningOperation::ScopedLongRunningOperation ScopedLongRunningOperation.h 22 0x7f22fb4565a3 118 map::Map::loadMapResourceFromLocation Map.cpp 180 0x7f22fb604c2b 119 map::Map::loadMapResourceFromPath Map.cpp 128 0x7f22fb6046ca 120 map::Map::load Map.cpp 605 0x7f22fb6070d0 121 map::Map::openMapCmd Map.cpp 1106 0x7f22fb60bbe2 122 std::__invoke_impl<void, void (map::Map:: *&)(std::vector<cmd::Argument> const&), map::Map *&, std::vector<cmd::Argument> const&> invoke.h 74 0x7f22fb621997 123 std::__invoke<void (map::Map:: *&)(std::vector<cmd::Argument> const&), map::Map *&, std::vector<cmd::Argument> const&> invoke.h 96 0x7f22fb620f67 124 std::_Bind<void (map::Map:: *(map::Map *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>::__call<void, std::vector<cmd::Argument> const&, 0ul, 1ul>(std::tuple<std::vector<cmd::Argument> const&>&&, std::_Index_tuple<0ul, 1ul>) functional 484 0x7f22fb62030a 125 std::_Bind<void (map::Map:: *(map::Map *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>::operator()<std::vector<cmd::Argument> const&, void>(std::vector<cmd::Argument> const&) functional 567 0x7f22fb61e900 126 std::__invoke_impl<void, std::_Bind<void (map::Map:: *(map::Map *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>&, std::vector<cmd::Argument> const&>(std::__invoke_other, std::_Bind<void (map::Map:: *(map::Map *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>&, std::vector<cmd::Argument> const&) invoke.h 61 0x7f22fb61c89f 127 std::__invoke_r<void, std::_Bind<void (map::Map:: *(map::Map *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>&, std::vector<cmd::Argument> const&>(std::_Bind<void (map::Map:: *(map::Map *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>&, std::vector<cmd::Argument> const&) invoke.h 111 0x7f22fb61a781 128 std::_Function_handler<void (std::vector<cmd::Argument> const&), std::_Bind<void (map::Map:: *(map::Map *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>>::_M_invoke(std::_Any_data const&, std::vector<cmd::Argument> const&) std_function.h 290 0x7f22fb617c7b 129 std::function<void (std::vector<cmd::Argument> const&)>::operator()(std::vector<cmd::Argument> const&) const std_function.h 591 0x7f22fb3f53c5 130 cmd::Command::execute Command.h 83 0x7f22fb3f39b9 131 cmd::CommandSystem::executeCommand CommandSystem.cpp 380 0x7f22fb3f04ac 132 cmd::ICommandSystem::executeCommand icommandsystem.h 365 0x7f22fb5b353f 133 operator() MRU.cpp 127 0x7f22fb63cff7 134 std::__invoke_impl<void, map::MRU::loadMRUMap(const cmd::ArgumentList&)::<lambda(std::size_t, const std::string&)>&, long unsigned int, const std::string&>(std::__invoke_other, struct {...} &) invoke.h 61 0x7f22fb63deaa 135 std::__invoke_r<void, map::MRU::loadMRUMap(const cmd::ArgumentList&)::<lambda(std::size_t, const std::string&)>&, long unsigned int, const std::string&>(struct {...} &) invoke.h 111 0x7f22fb63dd58 136 std::_Function_handler<void(long unsigned int, const std::string&), map::MRU::loadMRUMap(const cmd::ArgumentList&)::<lambda(std::size_t, const std::string&)>>::_M_invoke(const std::_Any_data &, unsigned long &&, const std::string &) std_function.h 290 0x7f22fb63dc16 137 std::function<void (unsigned long, std::string const&)>::operator()(unsigned long, std::string const&) const std_function.h 591 0x7f22fb63e889 138 map::MRU::foreachItem(std::function<void (unsigned long, std::string const&)> const&) MRU.cpp 89 0x7f22fb63ce8d 139 map::MRU::loadMRUMap MRU.cpp 123 0x7f22fb63d2bd 140 std::__invoke_impl<void, void (map::MRU:: *&)(std::vector<cmd::Argument> const&), map::MRU *&, std::vector<cmd::Argument> const&> invoke.h 74 0x7f22fb640365 141 std::__invoke<void (map::MRU:: *&)(std::vector<cmd::Argument> const&), map::MRU *&, std::vector<cmd::Argument> const&> invoke.h 96 0x7f22fb640197 142 std::_Bind<void (map::MRU:: *(map::MRU *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>::__call<void, std::vector<cmd::Argument> const&, 0ul, 1ul>(std::tuple<std::vector<cmd::Argument> const&>&&, std::_Index_tuple<0ul, 1ul>) functional 484 0x7f22fb63fec2 143 std::_Bind<void (map::MRU:: *(map::MRU *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>::operator()<std::vector<cmd::Argument> const&, void>(std::vector<cmd::Argument> const&) functional 567 0x7f22fb63fb58 144 std::__invoke_impl<void, std::_Bind<void (map::MRU:: *(map::MRU *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>&, std::vector<cmd::Argument> const&>(std::__invoke_other, std::_Bind<void (map::MRU:: *(map::MRU *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>&, std::vector<cmd::Argument> const&) invoke.h 61 0x7f22fb63f85f 145 std::__invoke_r<void, std::_Bind<void (map::MRU:: *(map::MRU *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>&, std::vector<cmd::Argument> const&>(std::_Bind<void (map::MRU:: *(map::MRU *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>&, std::vector<cmd::Argument> const&) invoke.h 111 0x7f22fb63f4a1 146 std::_Function_handler<void (std::vector<cmd::Argument> const&), std::_Bind<void (map::MRU:: *(map::MRU *, std::_Placeholder<1>))(std::vector<cmd::Argument> const&)>>::_M_invoke(std::_Any_data const&, std::vector<cmd::Argument> const&) std_function.h 290 0x7f22fb63eec9 147 std::function<void (std::vector<cmd::Argument> const&)>::operator()(std::vector<cmd::Argument> const&) const std_function.h 591 0x7f22fb3f53c5 148 cmd::Command::execute Command.h 83 0x7f22fb3f39b9 149 cmd::CommandSystem::executeCommand CommandSystem.cpp 380 0x7f22fb3f04ac 150 cmd::CommandSystem::execute CommandSystem.cpp 363 0x7f22fb3f030c 151 cmd::Statement::execute Statement.h 26 0x7f22fb3f423f 152 cmd::CommandSystem::executeCommand CommandSystem.cpp 380 0x7f22fb3f04ac 153 cmd::CommandSystem::execute CommandSystem.cpp 363 0x7f22fb3f030c 154 ui::EventManager::onMenuItemClicked EventManager.cpp 376 0x558de857d139 155 wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler *, wxEvent&) 0x7f23073835b2 156 wxEvtHandler::SearchDynamicEventTable(wxEvent&) 0x7f2307385ff7 157 wxEvtHandler::TryHereOnly(wxEvent&) 0x7f2307386345 158 wxEvtHandler::ProcessEventLocally(wxEvent&) 0x7f23073863ef 159 wxEvtHandler::ProcessEvent(wxEvent&) 0x7f230738650a 160 wxEvtHandler::SafelyProcessEvent(wxEvent&) 0x7f2307386ebb 161 wxMenuBase::DoProcessEvent(wxMenuBase *, wxEvent&, wxWindow *) 0x7f2306c2e2be 162 wxMenuBase::SendEvent(int, int) 0x7f2306c2e3e3 163 ?? 0x7f2306e2d6df 164 g_closure_invoke 0x7f23058e1fd0 165 ?? 0x7f230590e838 166 g_signal_emit_valist 0x7f23058ffc85 167 g_signal_emit 0x7f23058fff14 168 gtk_widget_activate 0x7f230532e71d 169 gtk_menu_shell_activate_item 0x7f23051f85dd 170 ?? 0x7f23051f88aa 171 ?? 0x7f2305087c89 172 g_signal_emit_valist 0x7f23058ffdd4 173 g_signal_emit 0x7f23058fff14 174 ?? 0x7f2305344815 175 ?? 0x7f23051e20eb 176 gtk_main_do_event 0x7f23051e2fcb 177 ?? 0x7f2305812cc3 178 ?? 0x7f2305861068 179 g_main_context_dispatch 0x7f2307956b2b 180 ?? 0x7f23079ace79 181 g_main_loop_run 0x7f230795608f 182 gtk_main 0x7f23051d8e2f 183 wxGUIEventLoop::DoRun() 0x7f2306db2056 184 wxEventLoopBase::Run() 0x7f23072d0862 185 wxAppConsoleBase::MainLoop() 0x7f23072acf08 186 wxEntry(int&, wchar_t * *) 0x7f230730efa0 187 main main.cpp 7 0x558de85d63ef variables.txt (2,644 bytes)
Locals entity @0x558de951f400 entity::StaticGeometryNode [entity::EntityNode] @0x558de951f400 entity::EntityNode [scene::GroupNode] @0x558de951fe28 scene::GroupNode [Snappable] @0x558de951fe30 Snappable [ComponentSelectionTestable] @0x558de951fe38 ComponentSelectionTestable [ComponentEditable] @0x558de951fe40 ComponentEditable [ComponentSnappable] @0x558de951fe48 ComponentSnappable [CurveNode] @0x558de951fe50 CurveNode _catmullRomEditInstance @0x558de95202c0 entity::CurveEditInstance _catmullRomVertices @0x558de9520428 entity::RenderableCurveVertices _nurbsEditInstance @0x558de9520268 entity::CurveEditInstance _nurbsVertices @0x558de95203c0 entity::RenderableCurveVertices _originInstance @0x558de9520348 VertexInstance _pivotShader (null) ShaderPtr _pointShader (null) ShaderPtr _renderOrigin @0x558de951ff30 render::RenderablePivot _renderableOriginVertex @0x558de9520490 entity::RenderableVertex m_aabb_component @0x558de9520318 AABB m_curveBounds @0x558de951ff90 AABB m_curveCatmullRom @0x558de9520150 entity::CurveCatmullRom m_curveNURBS @0x558de9520008 entity::CurveNURBS m_isModel true bool m_modelKey "" std::string m_name "world" std::string m_origin @0x558de951fea0 Vector3 m_originKey @0x558de951fe58 OriginKey m_rotation @0x558de951ff08 RotationMatrix m_rotationKey @0x558de951feb8 entity::RotationKey this @0x558deb7871c0 RenderablePatchTesselation<TesselationIndexer_Triangles> [render::RenderableGeometry] @0x558deb7871c0 render::RenderableGeometry [OpenGLRenderable] @0x558deb7871c0 OpenGLRenderable [vptr] _vptr.OpenGLRenderable [0] 0x7f22fb76ccd0 <RenderablePatchTesselation<TesselationIndexer_Triangles>::~RenderablePatchTesselation()> void* [1] 0x7f22fb76cd0e <RenderablePatchTesselation<TesselationIndexer_Triangles>::~RenderablePatchTesselation()> void* [2] 0x7f22fb358c40 <render::RenderableGeometry::render() const> void* [3] 0x7f22fb76d682 <RenderablePatchTesselation<TesselationIndexer_Triangles>::updateGeometry()> void* _isVisible true bool _lastIndexSize 0 std::size_t _lastVertexSize 0 std::size_t _renderAdapter (null) std::shared_ptr<render::RenderableGeometry::RenderAdapter> _renderEntity 0x0 IRenderEntity* _shader (null) ShaderPtr _surfaceSlot 18446744073709551615 render::IGeometryRenderer::Slot _indexer @0x558deb787210 TesselationIndexer_Triangles _needsUpdate true bool _tess @0x558deb787038 PatchTesselation & _whiteVertexColour true bool Inspector Expressions Return Value Tooltip _renderEntity 0x0 IRenderEntity* |
|
I think the stacktrace reveals the problem that the camera is trying to draw the scene while it's still under construction after map load. The Yield() call triggers lets all UI controls handle their requests, including the GL widget Paint events - which I guess shouldn't be the case during map load. | |
Ran into this myself in Arch, in wxGTK 3.2.0 | |
Should be better now, I couldn't repro the problem anymore after applying the fix. | |
Date Modified | Username | Field | Change |
---|---|---|---|
07.09.2022 03:56 | jonri | New Issue | |
07.09.2022 03:56 | jonri | File Added: real_hard_darkradiant_stacktrace.txt | |
07.09.2022 09:42 | greebo | Status | new => feedback |
07.09.2022 09:42 | greebo | Note Added: 0015234 | |
08.09.2022 02:06 | jonri | Note Added: 0015239 | |
08.09.2022 02:06 | jonri | File Added: stacktrace2.txt | |
08.09.2022 02:06 | jonri | File Added: variables.txt | |
08.09.2022 02:06 | jonri | Status | feedback => new |
08.09.2022 07:14 | greebo | Note Added: 0015241 | |
23.09.2022 09:51 | greebo | Status | new => confirmed |
23.09.2022 09:51 | greebo | Note Added: 0015274 | |
23.09.2022 09:53 | greebo | Assigned To | => greebo |
23.09.2022 09:53 | greebo | Status | confirmed => assigned |
23.09.2022 09:53 | greebo | Target Version | => 3.3.0 |
23.09.2022 10:10 | greebo | Changeset attached | => DarkRadiant master 07f593a0 |
23.09.2022 11:30 | greebo | Status | assigned => resolved |
23.09.2022 11:30 | greebo | Resolution | open => fixed |
23.09.2022 11:30 | greebo | Fixed in Version | => 3.3.0 |
23.09.2022 11:30 | greebo | Note Added: 0015275 | |
13.01.2024 05:32 | greebo | Status | resolved => closed |