Application: knights (2.5.0) KDE Platform Version: 4.9.2 Qt Version: 4.8.3 Operating System: Linux 3.6.6-1.fc17.i686 i686 Distribution: "Fedora release 17 (Beefy Miracle)" -- Information about the crash: When knights (gnuchess) server is taking too much time for the step i have reverted my previous step to continue which caused crash The crash can be reproduced some of the time. -- Backtrace: Application: Knights (knights), signal: Segmentation fault Using host libthread_db library "/lib/libthread_db.so.1". [KCrash Handler] #7 0x080612e4 in Knights::Piece::pieceType (this=0x0) at /usr/src/debug/knights-2.5.0/src/core/piece.cpp:187 #8 0x0807460e in Knights::ChessRules::changeNotation (this=0x8e628d0, move=0xbf9b0c28, notation=Knights::Move::Algebraic, color=Knights::White) at /usr/src/debug/knights-2.5.0/src/rules/chessrules.cpp:784 #9 0x0807b3bd in Knights::ChessRules::checkSpecialFlags (this=0x8e628d0, move=0xbf9b0c28, color=Knights::White) at /usr/src/debug/knights-2.5.0/src/rules/chessrules.cpp:371 #10 0x0808bc8a in Knights::Manager::processMove (this=this@entry=0x8bf4718, move=...) at /usr/src/debug/knights-2.5.0/src/gamemanager.cpp:822 #11 0x0808be8e in Knights::Manager::moveByProtocol (this=0x8bf4718, move=...) at /usr/src/debug/knights-2.5.0/src/gamemanager.cpp:454 #12 0x471f1bce in QMetaObject::activate (sender=0x8d91a70, m=0x80a4314, local_signal_index=0, argv=0xbf9b0d58) at kernel/qobject.cpp:3547 #13 0x0805c1d8 in Knights::Protocol::pieceMoved (this=0x8d91a70, _t1=...) at /usr/src/debug/knights-2.5.0/src/moc_protocol.cpp:227 #14 0x0806ac0c in Knights::XBoardProtocol::parseLine (this=0x8d91a70, line=...) at /usr/src/debug/knights-2.5.0/src/proto/xboardprotocol.cpp:160 #15 0x080625e5 in Knights::TextProtocol::readFromDevice (this=0x8d91a70) at /usr/src/debug/knights-2.5.0/src/proto/textprotocol.cpp:44 #16 0x471f1bce in QMetaObject::activate (sender=0x8d908e0, m=0x4733cf98, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3547 #17 0x47240826 in QIODevice::readyRead (this=0x8d908e0) at .moc/release-shared/moc_qiodevice.cpp:104 #18 0x4716a019 in QProcessPrivate::_q_canReadStandardOutput (this=0x8d90ad0) at io/qprocess.cpp:911 #19 0x4716a58f in qt_static_metacall (_a=0xbf9b10f8, _id=9, _o=0x8d908e0, _c=<optimized out>) at .moc/release-shared/moc_qprocess.cpp:83 #20 QProcess::qt_static_metacall (_o=0x8d908e0, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0xbf9b10f8) at .moc/release-shared/moc_qprocess.cpp:68 #21 0x471f1bce in QMetaObject::activate (sender=0x8c32438, m=0x4733d9b8, local_signal_index=0, argv=0xbf9b10f8) at kernel/qobject.cpp:3547 #22 0x472431a6 in QSocketNotifier::activated (this=0x8c32438, _t1=13) at .moc/release-shared/moc_qsocketnotifier.cpp:102 #23 0x471f8847 in QSocketNotifier::event (this=0x8c32438, e=0xbf9b1534) at kernel/qsocketnotifier.cpp:317 #24 0x48df1fac in QApplicationPrivate::notify_helper (this=0x8b1a8d8, receiver=0x8c32438, e=0xbf9b1534) at kernel/qapplication.cpp:4557 #25 0x48df6a6f in QApplication::notify (this=0xbf9b1534, receiver=0x8c32438, e=0xbf9b1534) at kernel/qapplication.cpp:3939 #26 0x49995fe2 in KApplication::notify (this=0xbf9b1844, receiver=0x8c32438, event=0xbf9b1534) at /usr/src/debug/kdelibs-4.9.2/kdeui/kernel/kapplication.cpp:311 #27 0x471d94de in QCoreApplication::notifyInternal (this=0xbf9b1844, receiver=0x8c32438, event=0xbf9b1534) at kernel/qcoreapplication.cpp:915 #28 0x4720b218 in sendEvent (event=0xbf9b1534, receiver=<optimized out>) at kernel/qcoreapplication.h:231 #29 socketNotifierSourceDispatch (source=source@entry=0x8b1b300) at kernel/qeventdispatcher_glib.cpp:110 #30 0x449920bb in g_main_dispatch (context=0x8b1a380, context@entry=0x8b1a348) at gmain.c:2539 #31 g_main_context_dispatch (context=context@entry=0x8b1a380) at gmain.c:3075 #32 0x44992460 in g_main_context_iterate (context=context@entry=0x8b1a380, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3146 #33 0x44992542 in g_main_context_iteration (context=0x8b1a380, may_block=1) at gmain.c:3207 #34 0x4720ba9f in QEventDispatcherGlib::processEvents (this=0x8af8d78, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #35 0x48ea452b in QGuiEventDispatcherGlib::processEvents (this=0x8af8d78, flags=...) at kernel/qguieventdispatcher_glib.cpp:207 #36 0x471d7f7d in QEventLoop::processEvents (this=this@entry=0xbf9b1778, flags=...) at kernel/qeventloop.cpp:149 #37 0x471d8279 in QEventLoop::exec (this=0xbf9b1778, flags=...) at kernel/qeventloop.cpp:204 #38 0x471dd7bb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187 #39 0x48defe25 in QApplication::exec () at kernel/qapplication.cpp:3818 #40 0x0805ae7e in main (argc=5, argv=0xbf9b1914) at /usr/src/debug/knights-2.5.0/src/main.cpp:79 Reported using DrKonqi
*** Bug 325310 has been marked as a duplicate of this bug. ***
*** Bug 326779 has been marked as a duplicate of this bug. ***
*** Bug 327000 has been marked as a duplicate of this bug. ***
*** Bug 328283 has been marked as a duplicate of this bug. ***
Git commit e44be74fc7505555e3b25e09a94ddfe1b0ce4bc5 by Alexander Semke. Committed on 21/08/2018 at 21:56. Pushed by asemke into branch 'master'. Added a null-pointer check to handle invalid/non-available pieces in ChessRules::changeNotation(). FIXED-IN: 2.6 M +5 -4 src/rules/chessrules.cpp https://commits.kde.org/knights/e44be74fc7505555e3b25e09a94ddfe1b0ce4bc5
The problem is not reproducible but I added an additional check in order not to crash once we run into such situation again.