Application: knights (2.5.0) KDE Platform Version: 4.11.5 Qt Version: 4.8.5 Operating System: Linux 3.11.10-7-desktop x86_64 Distribution: "openSUSE 13.1 (Bottle) (x86_64)" -- Information about the crash: - What I was doing when the application crashed: Open a new game with first player human and second player stockfish20 (the package came from opensuse KDE Extra and Stockfish20 from the opensuse education repo. - Unusual behavior I noticed: Application crashes reliably and repeatedly with a segfault. - Custom settings of the application: The only setting is default (black and white theme). Note: there is another bug, if you follow the oportunity given and set the first player as machine and the second as human, knights complains with a popup and says "unable to start the application, make sure it is installed". This is documented nowhere, so maybe you should either take off the choice (compulsory to be human player the first one) or you should document it somewhere. Starting the game with gnuchess and crafty works fine. Stockfish is set as stockfish20 as a command in the engine definitions and gets a green checkmark from the program. KDE 4.11.5, opensuse 64 bit Besides: thank you for this program, it is pure enjoyment (although I always loose ;-) ) The crash can be reproduced every time. -- Backtrace: Application: Knights (knights), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f76b2c60880 (LWP 8175))] Thread 6 (Thread 0x7f76963a5700 (LWP 8176)): #0 0x00007f76a6685ff7 in ?? () from /usr/lib64/libglib-2.0.so.0 #1 0x00007f76a66862b9 in g_mutex_unlock () from /usr/lib64/libglib-2.0.so.0 #2 0x00007f76a66465f9 in ?? () from /usr/lib64/libglib-2.0.so.0 #3 0x00007f76a664670c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #4 0x00007f76b09c5d76 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #5 0x00007f76b0997d0f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #6 0x00007f76b0998005 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #7 0x00007f76b0896fef in QThread::exec() () from /usr/lib64/libQtCore.so.4 #8 0x00007f76b0979513 in ?? () from /usr/lib64/libQtCore.so.4 #9 0x00007f76b089968f in ?? () from /usr/lib64/libQtCore.so.4 #10 0x00007f76ad3c80db in start_thread () from /lib64/libpthread.so.0 #11 0x00007f76af00990d in clone () from /lib64/libc.so.6 Thread 5 (Thread 0x7f7694f35700 (LWP 8181)): #0 0x00007f76ad3cc458 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f76b0899b44 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4 #2 0x00007f76b088d235 in ?? () from /usr/lib64/libQtCore.so.4 #3 0x00007f76b089968f in ?? () from /usr/lib64/libQtCore.so.4 #4 0x00007f76ad3c80db in start_thread () from /lib64/libpthread.so.0 #5 0x00007f76af00990d in clone () from /lib64/libc.so.6 Thread 4 (Thread 0x7f768ffff700 (LWP 8182)): #0 0x00007f76ad3cc458 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f76b0899b44 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4 #2 0x00007f76b088d235 in ?? () from /usr/lib64/libQtCore.so.4 #3 0x00007f76b089968f in ?? () from /usr/lib64/libQtCore.so.4 #4 0x00007f76ad3c80db in start_thread () from /lib64/libpthread.so.0 #5 0x00007f76af00990d in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7f768f7fe700 (LWP 8198)): #0 0x00007f76ad3cc458 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f76b0899b44 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4 #2 0x00007f76b088d235 in ?? () from /usr/lib64/libQtCore.so.4 #3 0x00007f76b089968f in ?? () from /usr/lib64/libQtCore.so.4 #4 0x00007f76ad3c80db in start_thread () from /lib64/libpthread.so.0 #5 0x00007f76af00990d in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7f768effd700 (LWP 8199)): #0 0x00007f76ad3cc458 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f76b0899b44 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4 #2 0x00007f76b088d235 in ?? () from /usr/lib64/libQtCore.so.4 #3 0x00007f76b089968f in ?? () from /usr/lib64/libQtCore.so.4 #4 0x00007f76ad3c80db in start_thread () from /lib64/libpthread.so.0 #5 0x00007f76af00990d in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7f76b2c60880 (LWP 8175)): [KCrash Handler] #5 Knights::Piece::pieceType (this=0x0) at /usr/src/debug/knights-2.5.0/src/core/piece.cpp:187 #6 0x0000000000436905 in Knights::ChessRules::moveMade (this=0x1d5b950, m=...) at /usr/src/debug/knights-2.5.0/src/rules/chessrules.cpp:547 #7 0x00000000004455ef in Knights::Manager::sendPendingMove (this=0x1cad970) at /usr/src/debug/knights-2.5.0/src/gamemanager.cpp:697 #8 0x000000000041b305 in Knights::Manager::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at /usr/src/debug/knights-2.5.0/build/src/moc_gamemanager.cpp:115 #9 0x00007f76b09acd68 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4 #10 0x00007f76b09b5c0a in ?? () from /usr/lib64/libQtCore.so.4 #11 0x00007f76b09b0f31 in QObject::event(QEvent*) () from /usr/lib64/libQtCore.so.4 #12 0x00007f76afab98ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4 #13 0x00007f76afabfe70 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4 #14 0x00007f76b267518a in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5 #15 0x00007f76b09990ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4 #16 0x00007f76b09c883c in ?? () from /usr/lib64/libQtCore.so.4 #17 0x00007f76b09c5b21 in ?? () from /usr/lib64/libQtCore.so.4 #18 0x00007f76a6646316 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #19 0x00007f76a6646668 in ?? () from /usr/lib64/libglib-2.0.so.0 #20 0x00007f76a664670c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #21 0x00007f76b09c5d55 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #22 0x00007f76afb56936 in ?? () from /usr/lib64/libQtGui.so.4 #23 0x00007f76b0997d0f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #24 0x00007f76b0998005 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #25 0x00007f76b099d13b in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4 #26 0x00000000004198e7 in main (argc=5, argv=0x7fff3fa908a8) at /usr/src/debug/knights-2.5.0/src/main.cpp:79 Possible duplicates by query: bug 327001, bug 290246. Reported using DrKonqi
The possible duplicate listed is actually very sensible because I forgot to mention a setting: difficulty level is set always to "very easy". So the same as in the other bug mentioned. Regards.
The Stockfish20 is an older release of Stockfish. It has gone through releases 3, 4 and dd. The version you have may have been compiled for other openSUSE versions with differing compilers since it is so old. Also, there is some literature that suggests that earlier Stockfish versions had trouble with GUI programs. I have used Stockfish-dd and it appears to work fine using Knights 2.4 series. I also tested making it player one or player two and there was no problem, so I cannot duplicate that bug. You can get Stockfish-dd from the Stockfish website, Download the source file and compile it yourself - instructions are on the website. But rather than issuing the "go infinite" command, use a terminal or command line to start Stockfish (it should report that it is active and give a hello message including the version as dd) and issue the uci followed by bench commands. This will put Stockfish into a test mode and give a reply value that indicates the program was compiled successfully - the value is dependent upon the version and can be found on the history page. Then move the Stockfish executable to the /usr/bin directory so Knights can access it. The Knights program should work successfully then.
Engine can be used as the first player. This was fixed in one of the previous commits after 2.5.0. The problem with stockfish20 is not reproducable.