SIGSEGV when a player disconnects
This happened with commit 15cfa65e Add protection according #20 (closed)." on the stable branch.
The server used this commit and all clients used the recent AppImage of 1.9.3. We used only the chat during the game, for dice rolls. At the end of the game, the clients disconnected and the server received this SIGSEGV:
Thread 21 "QThread" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff95b68700 (LWP 13044)]
QString::QString (other=..., this=this@entry=0x7fff95b66cc8) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1051
1051 { Q_ASSERT(&other != this); d->ref.ref(); }
(gdb) bt
#0 QString::QString (other=..., this=this@entry=0x7fff95b66cc8) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1051
#1 TreeItem::getId (this=0x555555d77010) at ../../client/network/treeitem.cpp:65
#2 0x000055555578c778 in Channel::getChildById (this=0x7fff95b66cc8, id=...) at ../../client/network/channel.cpp:380
#3 0x0000555555786355 in ChannelModel::getItemById (this=<optimized out>, id=...) at ../../client/network/channelmodel.cpp:687
#4 0x0000555555787a66 in ChannelModel::removeChild (this=this@entry=0x555557cc09c0, id=...) at ../../client/network/channelmodel.cpp:723
#5 0x00005555557961b5 in ServerManager::removeClient (this=0x555557c87c50, client=0x7fff8408fe10) at ../../client/network/servermanager.cpp:567
#6 0x00007ffff62d7f21 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7 0x00007ffff799e03f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8 0x00007ffff62acb62 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9 0x00007ffff62af4c1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff6302c73 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007fffee12dbdb in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007fffee12de88 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007fffee12df3f in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007ffff63022ff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007ffff62ab4db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007ffff60d28de in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007ffff60d3a01 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007fffeeb89ea7 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#19 0x00007ffff5c18d4f in clone () from /lib/x86_64-linux-gnu/libc.so.6