Bug 327000 - Knights allows illegal move then crashes
Summary: Knights allows illegal move then crashes
Status: RESOLVED DUPLICATE of bug 310017
Alias: None
Product: knights
Classification: Applications
Component: general (other bugs)
Version First Reported In: 2.5.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Miha Čančula
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2013-11-01 15:15 UTC by itayshom
Modified: 2013-11-01 16:01 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description itayshom 2013-11-01 15:15:24 UTC
Application: knights (2.5.0)
KDE Platform Version: 4.10.5 "release 1"
Qt Version: 4.8.4
Operating System: Linux 3.7.10-1.16-desktop x86_64
Distribution: "openSUSE 12.3 (x86_64)"

-- Information about the crash:
My king was checked by a knight. Although I could eat the knight with a queen, the move was not allowed. Another illegal (not removing check) queen move was allowed, which when played caused the program to crash.
GNU Chess, engine, very easy level.

-- Backtrace:
Application: Knights (knights), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[KCrash Handler]
#5  Knights::Piece::pieceType (this=0x0) at /usr/src/debug/knights-2.5.0/src/core/piece.cpp:187
#6  0x0000000000430442 in Knights::ChessRules::changeNotation (this=0x2468f50, move=0x7fffdd1ecea0, notation=<optimized out>, color=Knights::Black) at /usr/src/debug/knights-2.5.0/src/rules/chessrules.cpp:784
#7  0x0000000000436b02 in Knights::ChessRules::checkSpecialFlags (this=0x2468f50, move=0x7fffdd1ecea0, color=Knights::Black) at /usr/src/debug/knights-2.5.0/src/rules/chessrules.cpp:371
#8  0x0000000000445e4b in Knights::Manager::processMove (this=this@entry=0x21faed0, move=...) at /usr/src/debug/knights-2.5.0/src/gamemanager.cpp:822
#9  0x0000000000446039 in Knights::Manager::moveByProtocol (this=0x21faed0, move=...) at /usr/src/debug/knights-2.5.0/src/gamemanager.cpp:454
#10 0x00007f46aae5e29f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#11 0x000000000041b2b0 in Knights::Protocol::pieceMoved (this=<optimized out>, _t1=...) at /usr/src/debug/knights-2.5.0/build/src/moc_protocol.cpp:228
#12 0x000000000042793a in Knights::XBoardProtocol::parseLine (this=0x25edad0, line=...) at /usr/src/debug/knights-2.5.0/src/proto/xboardprotocol.cpp:160
#13 0x00000000004268bd in Knights::XBoardProtocol::parseStub (this=<optimized out>, line=...) at /usr/src/debug/knights-2.5.0/src/proto/xboardprotocol.cpp:109
#14 0x000000000042016d in Knights::TextProtocol::readFromDevice (this=0x25edad0) at /usr/src/debug/knights-2.5.0/src/proto/textprotocol.cpp:54
#15 0x00007f46aae5e29f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#16 0x00007f46aade29f5 in ?? () from /usr/lib64/libQtCore.so.4
#17 0x00007f46aade2e8e in ?? () from /usr/lib64/libQtCore.so.4
#18 0x00007f46aae5e29f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#19 0x00007f46aaea952e in QSocketNotifier::activated(int) () from /usr/lib64/libQtCore.so.4
#20 0x00007f46aae65cfb in QSocketNotifier::event(QEvent*) () from /usr/lib64/libQtCore.so.4
#21 0x00007f46a9f7586c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#22 0x00007f46a9f79ceb in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#23 0x00007f46acb017f6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#24 0x00007f46aae48d8e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#25 0x00007f46aae76ac8 in ?? () from /usr/lib64/libQtCore.so.4
#26 0x00007f46a149d7d5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#27 0x00007f46a149db08 in ?? () from /usr/lib64/libglib-2.0.so.0
#28 0x00007f46a149dbc4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#29 0x00007f46aae772c6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#30 0x00007f46aa015c1e in ?? () from /usr/lib64/libQtGui.so.4
#31 0x00007f46aae47adf in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#32 0x00007f46aae47d68 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#33 0x00007f46aae4ca08 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#34 0x00000000004198cf in main (argc=5, argv=0x7fffdd1ee058) at /usr/src/debug/knights-2.5.0/src/main.cpp:79

Possible duplicates by query: bug 326779, bug 325310, bug 310017.

Reported using DrKonqi
Comment 1 Jekyll Wu 2013-11-01 16:01:02 UTC

*** This bug has been marked as a duplicate of bug 310017 ***