TrenchBroom / TrenchBroom

Cross-Platform Level Editor
kristianduske.com/trenchbroom
GNU General Public License v3.0
1.88k stars 224 forks source link

Inability to load map created with previous TrenchBroom version #2371

Closed MistressRemilia closed 5 years ago

MistressRemilia commented 5 years ago

System Information

TrenchBroom git 422a1a6 and 022ad297a, Slackware Linux, nVidia 1080, Core i7

Expected Behavior

I should be able to open a map file I saved with 2.0, and that would open fine with 2.0.6. If something is wrong with the map file, an error message should be shown.

Steps to Reproduce

Nothing special, just launch TrenchBroom and open the map. I'm attaching the map to this issue. willowmore.zip

Crash Info

No error is shown on a Release build. All that happens is the window starts to load, draws only a few panels, then the program freezes. The only way to close it is by killing it (killall trenchbroom).

On a Debug build, I get this output, and the program immediately terminates:

17:43:47: Debug: Renderer info: GeForce GTX 1080/PCIe/SSE2 version 4.6.0 NVIDIA 410.57 from NVIDIA Corporation
17:43:47: Debug: Depth buffer bits: 24
17:43:47: Debug: Multisampling enabled
17:43:48: Debug: Loading document from /home/alexa/bin/games/quake/kuroneko/maps/willowmore.map
17:43:50: Debug: Loaded entity definition file kuroneko.fgd
trenchbroom: /home/alexa/mysrc/c/trenchbroom-alexa/vecmath/include/vecmath/bbox.h:370: vm::bbox<T, S> vm::bbox<T, S>::translate(const vm::vec<T, S>&) const [with T = double; long unsigned int S = 3]: Assertion `valid()' failed.
Aborted
ericwa commented 5 years ago

I can't reproduce on macOS + 422a1a6. Might be a stack overflow? The AABB tree height is 222, after the map loads.

kduske commented 5 years ago

That‘s possible. Maybe @yukiraven could try and build from the current 2.1.0 branch, too.

ericwa commented 5 years ago

It also loads on Windows 10. @yukiraven what does ulimit -s return on your system? should give the stack size in kb. If you run it in gdb, what does the backtrace look like when the assertion fails?

MistressRemilia commented 5 years ago

The soft stack size limit is 8192, hard is unlimited. The same thing happens when I change the limit to 262144.

GDB backtrace:

#0  0x00007ffff1ea03f8 in raise () at /lib64/libc.so.6
#1  0x00007ffff1ea1ffa in abort () at /lib64/libc.so.6
#2  0x00007ffff1e98c17 in __assert_fail_base () at /lib64/libc.so.6
#3  0x00007ffff1e98cc2 in  () at /lib64/libc.so.6
#4  0x0000000000fd41a9 in vm::bbox<double, 3ul>::translate(vm::vec<double, 3ul> const&) const (this=0x4e6e5c0, delta=...) at /home/alexa/mysrc/c/trenchbroom-alexa/vecmath/include/vecmath/bbox.h:370
#5  0x0000000000fd3278 in TrenchBroom::Model::Entity::validateBounds() const (this=0x4e6e350) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Entity.cpp:370
#6  0x0000000000fd21de in TrenchBroom::Model::Entity::doGetBounds() const (this=0x4e6e350) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Entity.cpp:123
#7  0x0000000001014095 in TrenchBroom::Model::Node::bounds() const (this=0x4e6e350) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Node.cpp:53
#8  0x0000000001037cf9 in TrenchBroom::Model::World::UpdateNodeInNodeTree::doVisit(TrenchBroom::Model::Entity*) (this=0x7fffffffc940, entity=0x4e6e350) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/World.cpp:132
#9  0x000000000101ce3c in TrenchBroom::Model::NodeVisitor::visit(TrenchBroom::Model::Entity*) (this=0x7fffffffc940, entity=0x4e6e350) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/NodeVisitor.cpp:66
#10 0x0000000000fd29e0 in TrenchBroom::Model::Entity::doAccept(TrenchBroom::Model::NodeVisitor&) (this=0x4e6e350, visitor=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Entity.cpp:244
#11 0x00000000010390b8 in TrenchBroom::Model::Node::accept<TrenchBroom::Model::World::UpdateNodeInNodeTree>(TrenchBroom::Model::World::UpdateNodeInNodeTree&) (this=0x4e6e350, visitor=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Node.h:318
#12 0x0000000001036490 in TrenchBroom::Model::World::doDescendantBoundsDidChange(TrenchBroom::Model::Node*, vm::bbox<double, 3ul> const&, unsigned long) (this=0x398bfc0, node=0x4e6e350, oldBounds=..., depth=2) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/World.cpp:265
#13 0x0000000001015530 in TrenchBroom::Model::Node::descendantBoundsDidChange(TrenchBroom::Model::Node*, vm::bbox<double, 3ul> const&, unsigned long) (this=0x398bfc0, node=0x4e6e350, oldBounds=..., depth=2) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Node.cpp:383
#14 0x000000000101557d in TrenchBroom::Model::Node::descendantBoundsDidChange(TrenchBroom::Model::Node*, vm::bbox<double, 3ul> const&, unsigned long) (this=0x398d040, node=0x4e6e350, oldBounds=..., depth=1) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Node.cpp:385
#15 0x00000000010154f2 in TrenchBroom::Model::Node::childBoundsDidChange(TrenchBroom::Model::Node*, vm::bbox<double, 3ul> const&) (this=0x398d040, node=0x4e6e350, oldBounds=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Node.cpp:379
#16 0x0000000001015261 in TrenchBroom::Model::Node::nodeBoundsDidChange(vm::bbox<double, 3ul>) (this=0x4e6e350, oldBounds=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Node.cpp:342
#17 0x0000000000fd2b15 in TrenchBroom::Model::Entity::doAttributesDidChange(vm::bbox<double, 3ul> const&) (this=0x4e6e350, oldBounds=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Entity.cpp:265
#18 0x0000000000f81078 in TrenchBroom::Model::AttributableNode::attributesDidChange(vm::bbox<double, 3ul> const&) (this=0x4e6e350, oldBounds=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/AttributableNode.cpp:286
#19 0x0000000000f81021 in TrenchBroom::Model::AttributableNode::NotifyAttributeChange::~NotifyAttributeChange() (this=0x7fffffffcb30, __in_chrg=<optimized out>) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/AttributableNode.cpp:279
#20 0x0000000000f802c5 in TrenchBroom::Model::AttributableNode::setDefinition(TrenchBroom::Assets::EntityDefinition*) (this=0x4e6e350, definition=0x6e54100) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/AttributableNode.cpp:100
#21 0x000000000128b888 in TrenchBroom::View::SetEntityDefinition::handle(TrenchBroom::Model::AttributableNode*) (this=0x7fffffffcd30, attributable=0x4e6e350) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/MapDocument.cpp:1598
#22 0x000000000128b837 in TrenchBroom::View::SetEntityDefinition::doVisit(TrenchBroom::Model::Entity*) (this=0x7fffffffcd30, entity=0x4e6e350) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/MapDocument.cpp:1594
#23 0x000000000101ce3c in TrenchBroom::Model::NodeVisitor::visit(TrenchBroom::Model::Entity*) (this=0x7fffffffcd30, entity=0x4e6e350) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/NodeVisitor.cpp:66
#24 0x0000000000fd29e0 in TrenchBroom::Model::Entity::doAccept(TrenchBroom::Model::NodeVisitor&) (this=0x4e6e350, visitor=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Entity.cpp:244
#25 0x0000000001291148 in TrenchBroom::Model::Node::accept<TrenchBroom::View::SetEntityDefinition>(TrenchBroom::View::SetEntityDefinition&) (this=0x4e6e350, visitor=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Node.h:318
#26 0x000000000128e465 in TrenchBroom::Model::Node::acceptAndRecurse<TrenchBroom::View::SetEntityDefinition>(TrenchBroom::View::SetEntityDefinition&) (this=0x4e6e350, visitor=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Node.h:274
#27 0x00000000012911e4 in TrenchBroom::Model::Node::recurse<TrenchBroom::View::SetEntityDefinition>(TrenchBroom::View::SetEntityDefinition&) (this=0x398d040, visitor=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Node.h:338
#28 0x000000000128e4ae in TrenchBroom::Model::Node::acceptAndRecurse<TrenchBroom::View::SetEntityDefinition>(TrenchBroom::View::SetEntityDefinition&) (this=0x398d040, visitor=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Node.h:276
#29 0x00000000012911e4 in TrenchBroom::Model::Node::recurse<TrenchBroom::View::SetEntityDefinition>(TrenchBroom::View::SetEntityDefinition&) (this=0x398bfc0, visitor=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Node.h:338
#30 0x000000000128e4ae in TrenchBroom::Model::Node::acceptAndRecurse<TrenchBroom::View::SetEntityDefinition>(TrenchBroom::View::SetEntityDefinition&) (this=0x398bfc0, visitor=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Node.h:276
#31 0x0000000001288dcd in TrenchBroom::View::MapDocument::setEntityDefinitions() (this=0x23e3ee0) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/MapDocument.cpp:1613
#32 0x00000000012886ae in TrenchBroom::View::MapDocument::loadAssets() (this=0x23e3ee0) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/MapDocument.cpp:1529
#33 0x000000000127eda4 in TrenchBroom::View::MapDocument::loadDocument(unsigned long, vm::bbox<double, 3ul> const&, std::shared_ptr<TrenchBroom::Model::Game>, TrenchBroom::IO::Path const&) (this=0x23e3ee0, mapFormat=8, worldBounds=..., game=..., path=...)
    at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/MapDocument.cpp:260
#34 0x00000000012b155f in TrenchBroom::View::MapFrame::openDocument(std::shared_ptr<TrenchBroom::Model::Game>, unsigned long, TrenchBroom::IO::Path const&) (this=0x23e0c00, game=..., mapFormat=8, path=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/MapFrame.cpp:252
#35 0x00000000011459cb in TrenchBroom::View::TrenchBroomApp::openDocument(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=0x20566d0, pathStr=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/TrenchBroomApp.cpp:240
#36 0x00000000013d8f01 in TrenchBroom::View::WelcomeFrame::OnRecentDocumentSelected(TrenchBroom::View::RecentDocumentSelectedCommand&) (this=0x20aacc0, event=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/WelcomeFrame.cpp:108
#37 0x000000000177405e in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
#38 0x0000000001774495 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) ()
#39 0x0000000001774840 in wxEvtHandler::TryHereOnly(wxEvent&) ()
#40 0x00000000017748ea in wxEvtHandler::ProcessEventLocally(wxEvent&) ()
#41 0x00000000017749b1 in wxEvtHandler::ProcessEvent(wxEvent&) ()
#42 0x0000000001308d29 in TrenchBroom::View::RecentDocumentListBox::OnListBoxDoubleClick(wxCommandEvent&) (this=0x220c470, event=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/RecentDocumentListBox.cpp:67
#43 0x000000000177405e in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
#44 0x0000000001774495 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) ()
#45 0x0000000001774840 in wxEvtHandler::TryHereOnly(wxEvent&) ()
#46 0x00000000017748ea in wxEvtHandler::ProcessEventLocally(wxEvent&) ()
#47 0x00000000017749b1 in wxEvtHandler::ProcessEvent(wxEvent&) ()
#48 0x0000000001775515 in wxEvtHandler::ProcessPendingEvents() ()
#49 0x0000000001666ecf in wxAppConsoleBase::ProcessPendingEvents() ()
#50 0x000000000146bee9 in wxApp::DoIdle() ()
#51 0x000000000146bff3 in wxapp_idle_callback ()
#52 0x00007ffff353464a in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#53 0x00007ffff35349c8 in  () at /usr/lib64/libglib-2.0.so.0
#54 0x00007ffff3534ce2 in g_main_loop_run () at /usr/lib64/libglib-2.0.so.0
#55 0x00007ffff6a5cfa7 in gtk_main () at /usr/lib64/libgtk-x11-2.0.so.0
#56 0x000000000147ca45 in wxGUIEventLoop::DoRun() ()
#57 0x00000000016971bd in wxEventLoopBase::Run() ()
#58 0x00000000016658f3 in wxAppConsoleBase::MainLoop() ()
#59 0x0000000001147f8e in TrenchBroom::View::TrenchBroomApp::OnRun() (this=0x20566d0) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/TrenchBroomApp.cpp:473
#60 0x00000000016dd352 in wxEntry(int&, wchar_t**) ()
#61 0x0000000000e8a4d7 in main(int, char**) (argc=1, argv=0x7fffffffd8f8) at /home/alexa/mysrc/c/trenchbroom-alexa/app/src/Main.cpp:22

I'll build and test a few more branches later today and report back.

kduske commented 5 years ago

@ericwa it crashes on Entity::validateBounds, where it will access the cached origin. Could it be that the origin is not cached yet at this point?

ericwa commented 5 years ago

@yukiraven Thanks, it's not looking like a stack overflow then. I'm thinking the kuroneko.fgd must be the reason I can't reproduce the assertion failure. Would it be possible to post a copy of that?

MistressRemilia commented 5 years ago

kuroneko.fgd.zip

ericwa commented 5 years ago

Ah, seems like it is cause by:


@PointClass size(32 32 0, -32 -32 256) model({"path" : ":progs/goddess-statue.mdl" }) =
decor_goddess_statue : "Goddess Statue" [
]

So we just need to detect cases like this in the fgd loader and warn.

kduske commented 5 years ago

yeah we need to add a fix to the parser: warn, and fall back to default bounds. Should be easy. Also add this to the DEF parser to avoid similar problems there.

MistressRemilia commented 5 years ago

Still happening. I've also removed the reference to the FGD file (and the two entities I was using it for) from the map, and this continues to happen.

Both a release and debug build simply hangs, but GDB reports a seg fault. Here's the backtrace I get when it does:

#0  0x00007ffff1ee7ffe in _int_malloc () at /lib64/libc.so.6
#1  0x00007ffff1ee9864 in malloc () at /lib64/libc.so.6
#2  0x00007ffff29f8d18 in operator new(unsigned long) () at /usr/lib64/libstdc++.so.6
#3  0x0000000000ea3e4c in __gnu_cxx::new_allocator<unsigned char>::allocate(unsigned long, void const*) (this=0x90984d0, __n=807936)
    at /opt/gcc-8.2.0/include/c++/8.2.0/ext/new_allocator.h:111
#4  0x0000000000ea3cab in std::allocator_traits<std::allocator<unsigned char> >::allocate(std::allocator<unsigned char>&, unsigned long) (__a=..., __n=807936) at /opt/gcc-8.2.0/include/c++/8.2.0/bits/alloc_traits.h:436
#5  0x0000000000ea39cc in std::_Vector_base<unsigned char, std::allocator<unsigned char> >::_M_allocate(unsigned long) (this=0x90984d0, __n=807936)
    at /opt/gcc-8.2.0/include/c++/8.2.0/bits/stl_vector.h:296
#6  0x0000000000ea34fd in std::vector<unsigned char, std::allocator<unsigned char> >::_M_default_append(unsigned long) (this=0x90984d0, __n=807936)
    at /opt/gcc-8.2.0/include/c++/8.2.0/bits/vector.tcc:604
#7  0x0000000000ea31ed in std::vector<unsigned char, std::allocator<unsigned char> >::resize(unsigned long) (this=0x90984d0, __new_size=807936)
    at /opt/gcc-8.2.0/include/c++/8.2.0/bits/stl_vector.h:827
#8  0x0000000000ea2fd7 in Buffer<unsigned char>::Buffer(unsigned long) (this=0x7fffffffc7a0, size=807936)
    at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/ByteBuffer.h:40
#9  0x0000000000ebbf74 in TrenchBroom::Assets::setMipBufferSize(std::vector<Buffer<unsigned char>, std::allocator<Buffer<unsigned char> > >&, unsigned long, unsigned long, unsigned long, unsigned int) (buffers=..., mipLevels=4, width=384, height=526, format=6408)
    at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Assets/Texture.cpp:57
#10 0x0000000000f4f9eb in TrenchBroom::IO::MipTextureReader::doReadTexture(char const*, char const*, TrenchBroom::IO::Path const&) const (this=0x6c543f0, begin=0x7fffe8224834 "eglass3", end=0x7fffe8265fec "eglass2", path=...)
    at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/IO/MipTextureReader.cpp:65
#11 0x0000000000f76e0c in TrenchBroom::IO::TextureReader::readTexture(char const*, char const*, TrenchBroom::IO::Path const&) const (this=0x6c543f0, begin=0x7fffe8224834 "eglass3", end=0x7fffe8265fec "eglass2", path=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/IO/TextureReader.cpp:77
#12 0x0000000000f747e2 in TrenchBroom::IO::TextureCollectionLoader::loadTextureCollection(TrenchBroom::IO::Path const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, TrenchBroom::IO::TextureReader const&) (this=0x396df70, path=..., textureExtensions=..., textureReader=...)
    at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/IO/TextureCollectionLoader.cpp:45
#13 0x0000000000f653ce in TrenchBroom::IO::TextureLoader::loadTextureCollection(TrenchBroom::IO::Path const&) (this=0x7fffffffcc00, path=...)
    at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/IO/TextureLoader.cpp:120
#14 0x0000000000eaac6b in TrenchBroom::Assets::TextureManager::setTextureCollections(std::vector<TrenchBroom::IO::Path, std::allocator<TrenchBroom::IO::Path> > const&, TrenchBroom::IO::TextureLoader&) (this=0x235dcf0, paths=..., loader=...)
    at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Assets/TextureManager.cpp:70
#15 0x0000000000f65401 in TrenchBroom::IO::TextureLoader::loadTextures(std::vector<TrenchBroom::IO::Path, std::allocator<TrenchBroom::IO::Path> > const&, TrenchBroom::Assets::TextureManager&) (this=0x7fffffffcc00, paths=..., textureManager=...)
    at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/IO/TextureLoader.cpp:124
#16 0x0000000000ff3cbc in TrenchBroom::Model::GameImpl::doLoadTextureCollections(TrenchBroom::Model::AttributableNode*, TrenchBroom::IO::Path const&, TrenchBroom::Assets::TextureManager&, TrenchBroom::Logger*) const (this=0x3485850, node=0x3993d90, documentPath=..., textureManager=..., logger=
    0x23e27d8) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/GameImpl.cpp:234
#17 0x0000000000fe3476 in TrenchBroom::Model::Game::loadTextureCollections(TrenchBroom::Model::AttributableNode*, TrenchBroom::IO::Path const&, TrenchBroom::Assets::TextureManager&, TrenchBroom::Logger*) const (this=0x3485850, node=0x3993d90, documentPath=..., textureManager=..., logger=0x23e27d8)
    at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/Model/Game.cpp:107
#18 0x000000000127e5e5 in TrenchBroom::View::MapDocument::loadTextures() (this=0x23e27d0)
    at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/MapDocument.cpp:1573
#19 0x000000000127e01a in TrenchBroom::View::MapDocument::loadAssets() (this=0x23e27d0)
    at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/MapDocument.cpp:1531
#20 0x00000000012746f8 in TrenchBroom::View::MapDocument::loadDocument(unsigned long, vm::bbox<double, 3ul> const&, std::shared_ptr<TrenchBroom::Model-----Ty---Type <r---Type <return> to co---Ty---------------Typ-----Type --------------Type---T---Type <return> to continue, or q <return> to qui---Type <return> to continue, or q <return> to quit---
::Game>, TrenchBroom::IO::Path const&) (this=0x23e27d0, mapFormat=8, worldBounds=..., game=..., path=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/MapDocument.cpp:260
#21 0x00000000012a6ec5 in TrenchBroom::View::MapFrame::openDocument(std::shared_ptr<TrenchBroom::Model::Game>, unsigned long, TrenchBroom::IO::Path const&) (this=0x23e1340, game=..., mapFormat=8, path=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/MapFrame.cpp:252
#22 0x000000000113a237 in TrenchBroom::View::TrenchBroomApp::openDocument(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=0x20545c0, pathStr=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/TrenchBroomApp.cpp:240
#23 0x00000000013c760f in TrenchBroom::View::WelcomeFrame::OnRecentDocumentSelected(TrenchBroom::View::RecentDocumentSelectedCommand&) (this=0x20a8c80, event=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/WelcomeFrame.cpp:108
#24 0x00000000017732de in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
#25 0x0000000001773715 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) ()
#26 0x0000000001773ac0 in wxEvtHandler::TryHereOnly(wxEvent&) ()
#27 0x0000000001773b6a in wxEvtHandler::ProcessEventLocally(wxEvent&) ()
#28 0x0000000001773c31 in wxEvtHandler::ProcessEvent(wxEvent&) ()
#29 0x00000000012fecd5 in TrenchBroom::View::RecentDocumentListBox::OnListBoxDoubleClick(wxCommandEvent&) (this=0x2217400, event=...) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/View/RecentDocumentListBox.cpp:67
#30 0x00000000017732de in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
#31 0x0000000001773715 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) ()
#32 0x0000000001773ac0 in wxEvtHandler::TryHereOnly(wxEvent&) ()
#33 0x0000000001773b6a in wxEvtHandler::ProcessEventLocally(wxEvent&) ()
#34 0x0000000001773c31 in wxEvtHandler::ProcessEvent(wxEvent&) ()
#35 0x0000000001774795 in wxEvtHandler::ProcessPendingEvents() ()
#36 0x000000000166614f in wxAppConsoleBase::ProcessPendingEvents() ()
#37 0x000000000146b169 in wxApp::DoIdle() ()
#38 0x000000000146b273 in wxapp_idle_callback ()
#39 0x00007ffff352f64a in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#40 0x00007ffff352f9c8 in  () at /usr/lib64/libglib-2.0.so.0
#41 0x00007ffff352fce2 in g_main_loop_run () at /usr/lib64/libglib-2.0.so.0
#42 0x00007ffff6a57fa7 in gtk_main () at /usr/lib64/libgtk-x11-2.0.so.0
#43 0x000000000147bcc5 in wxGUIEventLoop::DoRun() ()
#44 0x000000000169643d in wxEventLoopBase::Run() ()
#45 0x0000000001664b73 in wxAppConsoleBase::MainLoop() ()
#46 0x000000000113c7fa in TrenchBroom::View::TrenchBroomApp::OnRun() (this=0x20545c0) at /home/alexa/mysrc/c/trenchbroom-alexa/common/src/TrenchBroomApp.cpp:473
#47 0x00000000016dc5d2 in wxEntry(int&, wchar_t**) ()
#48 0x0000000000e8a197 in main(int, char**) (argc=1, argv=0x7fffffffd8f8) at /home/alexa/mysrc/c/trenchbroom-alexa/app/src/Main.cpp:22

The WADs I'm using are the same ones I've been using in another map I'm building, and it hasn't been having any issues.

kduske commented 5 years ago

I think this issue is unrelated.