Client segfaults on OpenBSD
Thread 1 received signal SIGSEGV, Segmentation fault.
0x000000ef6b5028c2 in tListItemBase::Remove (this=0xf1d50bed00)
at tools/tLinkedList.cpp:32
32 *anchor = next;
(gdb) bt
#0 0x000000ef6b5028c2 in tListItemBase::Remove (this=0xf1d50bed00)
at tools/tLinkedList.cpp:32
#1 0x000000ef6b2366dc in tListItemBase::~tListItemBase (this=0xf1d50bed00)
at ./tools/tLinkedList.h:48
#2 0x000000ef6b31906f in tListItem<gNetPlayerWall>::~tListItem (this=0xf1d50bed00)
at ./tools/tLinkedList.h:70
#3 0x000000ef6b3152a3 in gNetPlayerWall::~gNetPlayerWall (this=0xf1d50bed00)
at tron/gWall.cpp:2078
#4 0x000000ef6b315366 in gNetPlayerWall::~gNetPlayerWall (this=0xf1d50bed00)
at tron/gWall.cpp:2075
#5 0x000000ef6b478ce8 in nNetObject::Release (this=0xf1d50bed18)
at network/nNetObject.cpp:617
#6 0x000000ef6b271cd0 in tJUST_CONTROLLED_PTR<nNetObject>::Release (this=0xf1b3aaaca8)
at ./tools/tSafePTR.h:299
#7 0x000000ef6b4678c2 in tJUST_CONTROLLED_PTR<nNetObject>::~tJUST_CONTROLLED_PTR (
this=0xf1b3aaaca8) at ./tools/tSafePTR.h:374
#8 0x000000ef6b48126f in nDeletedInfo::~nDeletedInfo (this=0xf1b3aaaca8)
at network/nNetObject.cpp:129
#9 0x000000ef6b481233 in std::__1::pair<unsigned short const, nDeletedInfo>::~pair (
this=0xf1b3aaaca0) at /usr/include/c++/v1/utility:316
#10 0x000000ef6b4811e6 in std::__1::allocator_traits<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<unsigned short, nDeletedInfo>, void*> > >::__destroy<std::__1::pair<unsigned short const, nDeletedInfo> > (__p=0xf1b3aaaca0)
at /usr/include/c++/v1/memory:1748
---Type <return> to continue, or q <return> to quit---
#11 0x000000ef6b48108a in std::__1::allocator_traits<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<unsigned short, nDeletedInfo>, void*> > >::destroy<std::__1::pair<unsigned short const, nDeletedInfo> > (__a=..., __p=0xf1b3aaaca0)
at /usr/include/c++/v1/memory:1596
#12 0x000000ef6b480f9c in std::__1::__tree<std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::__map_value_compare<unsigned short, std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::less<unsigned short>, true>, std::__1::allocator<std::__1::__value_type<unsigned short, nDeletedInfo> > >::destroy (this=0x7f7ffffeea10,
__nd=0xf1b3aaac80) at /usr/include/c++/v1/__tree:1854
#13 0x000000ef6b480f61 in std::__1::__tree<std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::__map_value_compare<unsigned short, std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::less<unsigned short>, true>, std::__1::allocator<std::__1::__value_type<unsigned short, nDeletedInfo> > >::destroy (this=0x7f7ffffeea10,
__nd=0xf1b3aaa4c0) at /usr/include/c++/v1/__tree:1852
#14 0x000000ef6b480f61 in std::__1::__tree<std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::__map_value_compare<unsigned short, std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::less<unsigned short>, true>, std::__1::allocator<std::__1::__value_type<unsigned short, nDeletedInfo> > >::destroy (this=0x7f7ffffeea10,
__nd=0xf1b3aaa500) at /usr/include/c++/v1/__tree:1852
#15 0x000000ef6b480f61 in std::__1::__tree<std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::__map_value_compare<unsigned short, std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::less<unsigned short>, true>, std::__1::allocator<std::__1::__value_type<unsigned short, nDeletedInfo> > >::destroy (this=0x7f7ffffeea10,
__nd=0xf17bd09680) at /usr/include/c++/v1/__tree:1852
---Type <return> to continue, or q <return> to quit---
#16 0x000000ef6b480f61 in std::__1::__tree<std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::__map_value_compare<unsigned short, std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::less<unsigned short>, true>, std::__1::allocator<std::__1::__value_type<unsigned short, nDeletedInfo> > >::destroy (this=0x7f7ffffeea10,
__nd=0xf17bd09e80) at /usr/include/c++/v1/__tree:1852
#17 0x000000ef6b480f61 in std::__1::__tree<std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::__map_value_compare<unsigned short, std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::less<unsigned short>, true>, std::__1::allocator<std::__1::__value_type<unsigned short, nDeletedInfo> > >::destroy (this=0x7f7ffffeea10,
__nd=0xf17ccf3800) at /usr/include/c++/v1/__tree:1852
#18 0x000000ef6b480f61 in std::__1::__tree<std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::__map_value_compare<unsigned short, std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::less<unsigned short>, true>, std::__1::allocator<std::__1::__value_type<unsigned short, nDeletedInfo> > >::destroy (this=0x7f7ffffeea10,
__nd=0xf17bd09a40) at /usr/include/c++/v1/__tree:1852
#19 0x000000ef6b480f61 in std::__1::__tree<std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::__map_value_compare<unsigned short, std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::less<unsigned short>, true>, std::__1::allocator<std::__1::__value_type<unsigned short, nDeletedInfo> > >::destroy (this=0x7f7ffffeea10,
__nd=0xf255b961c0) at /usr/include/c++/v1/__tree:1852
#20 0x000000ef6b480f61 in std::__1::__tree<std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::__map_value_compare<unsigned short, std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::less<unsigned short>, true>, std::__1::allocator<std::__1::__value_type<unsigned short, nDeletedInfo> > >::destroy (this=0x7f7ffffeea10,
---Type <return> to continue, or q <return> to quit---
__nd=0xf1b92b6ec0) at /usr/include/c++/v1/__tree:1852
#21 0x000000ef6b489e92 in std::__1::__tree<std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::__map_value_compare<unsigned short, std::__1::__value_type<unsigned short, nDeletedInfo>, std::__1::less<unsigned short>, true>, std::__1::allocator<std::__1::__value_type<unsigned short, nDeletedInfo> > >::clear (this=0x7f7ffffeea10)
at /usr/include/c++/v1/__tree:1891
#22 0x000000ef6b47f99f in std::__1::map<unsigned short, nDeletedInfo, std::__1::less<unsigned short>, std::__1::allocator<std::__1::pair<unsigned short const, nDeletedInfo> > >::clear (this=0x7f7ffffeea10) at /usr/include/c++/v1/map:1306
#23 0x000000ef6b47bd47 in nNetObject::ClearAllDeleted () at network/nNetObject.cpp:1753
#24 0x000000ef6b2b6b34 in gGame::StateUpdate (this=0xf171503c00) at tron/gGame.cpp:3655
#25 0x000000ef6b2bebc9 in GameLoop (input=true) at tron/gGame.cpp:5589
#26 0x000000ef6b2beee7 in sg_EnterGameCore (enter_state=nCLIENT) at tron/gGame.cpp:5664
#27 0x000000ef6b2b0840 in sg_EnterGame (enter_state=nCLIENT) at tron/gGame.cpp:5717
#28 0x000000ef6b2b0308 in ConnectToServerCore (server=0xf1f951ec18)
at tron/gGame.cpp:2422
#29 0x000000ef6b2b0a91 in ConnectToServer (server=0xf1f951ec18) at tron/gGame.cpp:2467
#30 0x000000ef6b3066c8 in gServerMenuItem::Enter (this=0xf1d542df80)
at tron/gServerBrowser.cpp:949
#31 0x000000ef6b4cd754 in uMenu::HandleEvent (this=0x7f7ffffef5f8, event=...)
at ui/uMenu.cpp:429
#32 0x000000ef6b3037ec in gServerMenu::HandleEvent (this=0x7f7ffffef5f8, event=...)
at tron/gServerBrowser.cpp:362
#33 0x000000ef6b4cc138 in uMenu::OnEnter (this=0x7f7ffffef5f8) at ui/uMenu.cpp:224
Note that this is the sty+ct+ap branch, but this shouldn't be specific to it. Probably not specific to clients as well, but haven't tested.