Bug 304362

Summary: KsirK crashes on "new game" after one is already finished.
Product: [Applications] ksirk Reporter: Nemanja Hirsl <nemhirsl>
Component: generalAssignee: Gaël de Chalendar (aka Kleag) <kleagg>
Status: RESOLVED FIXED    
Severity: crash CC: bibayoff, jamesthirteen13, kde-games-bugs, marc.lajon, Nosugrof
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi

Description Nemanja Hirsl 2012-07-31 22:09:34 UTC
Application: ksirk (4.8.4 (4.8.4) "release 7")
KDE Platform Version: 4.8.4 (4.8.4) "release 7"
Qt Version: 4.8.2
Operating System: Linux 3.5.0-35-desktop x86_64
Distribution: "openSUSE 12.1 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
Confirmed I want a new game after one was finished. Crashes everytime.

The crash can be reproduced every time.

-- Backtrace:
Application: KsirK (ksirk), signal: Segmentation fault
[KCrash Handler]
#6  0x0000000000000000 in ?? ()
#7  0x000000000042de0f in qDeleteAll<QList<KPlayer*>::const_iterator> (end=<optimized out>, begin=<optimized out>) at /usr/include/QtCore/qalgorithms.h:322
#8  qDeleteAll<QList<KPlayer*> > (c=<optimized out>) at /usr/include/QtCore/qalgorithms.h:330
#9  Ksirk::GameLogic::GameAutomaton::removeAllPlayers (this=0xe45a90) at /usr/src/debug/kdegames-4.8.4/ksirk/ksirk/GameLogic/gameautomaton.cpp:2639
#10 0x000000000044321e in Ksirk::KGameWindow::actionNewGame (this=0xed6370, socket=Ksirk::GameLogic::GameAutomaton::None) at /usr/src/debug/kdegames-4.8.4/ksirk/ksirk/kgamewin.cpp:2637
#11 0x00007f8be9b2ac41 in QMetaObject::activate (sender=0x2a35630, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff0c237650) at kernel/qobject.cpp:3556
#12 0x00007f8be8e93b52 in QAction::triggered (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:277
#13 0x00007f8be8e93d3f in QAction::activate (this=0x2a35630, event=<optimized out>) at kernel/qaction.cpp:1257
#14 0x00007f8be92e1139 in QMenuPrivate::activateCausedStack (this=0x21f0400, causedStack=..., action=0x2a35630, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1028
#15 0x00007f8be92e7292 in QMenuPrivate::activateAction (this=0x21f0400, action=0x2a35630, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1120
#16 0x00007f8bea65d2a0 in KMenu::mouseReleaseEvent (this=0x21e8540, e=0x7fff0c238220) at /usr/src/debug/kdelibs-4.8.4/kdeui/widgets/kmenu.cpp:464
#17 0x00007f8be8eea644 in QWidget::event (this=0x21e8540, event=0x7fff0c238220) at kernel/qwidget.cpp:8371
#18 0x00007f8be92e882b in QMenu::event (this=0x21e8540, e=0x7fff0c238220) at widgets/qmenu.cpp:2469
#19 0x00007f8be8e99fe4 in notify_helper (e=0x7fff0c238220, receiver=0x21e8540, this=0xd24630) at kernel/qapplication.cpp:4551
#20 QApplicationPrivate::notify_helper (this=0xd24630, receiver=0x21e8540, e=0x7fff0c238220) at kernel/qapplication.cpp:4523
#21 0x00007f8be8e9f683 in QApplication::notify (this=<optimized out>, receiver=0x21e8540, e=0x7fff0c238220) at kernel/qapplication.cpp:4094
#22 0x00007f8bea59c746 in KApplication::notify (this=0x7fff0c238f40, receiver=0x21e8540, event=0x7fff0c238220) at /usr/src/debug/kdelibs-4.8.4/kdeui/kernel/kapplication.cpp:311
#23 0x00007f8be9b16d0c in QCoreApplication::notifyInternal (this=0x7fff0c238f40, receiver=0x21e8540, event=0x7fff0c238220) at kernel/qcoreapplication.cpp:915
#24 0x00007f8be8e9afb2 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:231
#25 QApplicationPrivate::sendMouseEvent (receiver=0x21e8540, event=0x7fff0c238220, alienWidget=0x0, nativeWidget=0x21e8540, buttonDown=0x0, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3162
#26 0x00007f8be8f17481 in QETWidget::translateMouseEvent (this=0x21e8540, event=<optimized out>) at kernel/qapplication_x11.cpp:4447
#27 0x00007f8be8f15c7a in QApplication::x11ProcessEvent (this=0x7fff0c238f40, event=0x7fff0c238ae0) at kernel/qapplication_x11.cpp:3636
#28 0x00007f8be8f3da12 in x11EventSourceDispatch (s=0xd47b00, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#29 0x00007f8be402f5dd in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#30 0x00007f8be402fdd8 in ?? () from /usr/lib64/libglib-2.0.so.0
#31 0x00007f8be402ffa9 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#32 0x00007f8be9b45dcf in QEventDispatcherGlib::processEvents (this=0xcfc2c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#33 0x00007f8be8f3d69e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#34 0x00007f8be9b15842 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#35 0x00007f8be9b15a97 in QEventLoop::exec (this=0x7fff0c238eb0, flags=...) at kernel/qeventloop.cpp:204
#36 0x00007f8be9b1a8b5 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#37 0x0000000000425a28 in main (argc=1, argv=0x7fff0c2393b8) at /usr/src/debug/kdegames-4.8.4/ksirk/ksirk/main.cpp:75

Reported using DrKonqi
Comment 1 Gaël de Chalendar (aka Kleag) 2012-10-13 22:28:35 UTC
*** Bug 305000 has been marked as a duplicate of this bug. ***
Comment 2 Gaël de Chalendar (aka Kleag) 2012-10-13 22:32:03 UTC
*** Bug 303142 has been marked as a duplicate of this bug. ***
Comment 3 Gaël de Chalendar (aka Kleag) 2012-10-13 22:36:22 UTC
Applied Nemanja's patch on master and 4.9 branches on git. Commit sha1 is:
0b36bf00baf755080876cfb89a925ccf1604868b
Comment 4 Steve 2013-04-23 06:29:38 UTC
Created attachment 79386 [details]
New crash information added by DrKonqi

ksirk (4.8.5 (4.8.5)) on KDE Platform 4.8.5 (4.8.5) using Qt 4.8.1

- What I was doing when the application crashed:

Closing game. Didn't save. Game closed, crash report poped up.

-- Backtrace (Reduced):
#7  0x00007f19657af2a6 in qDeleteAll<QList<KPlayer*>::const_iterator> (end=..., begin=...) at /usr/include/qt4/QtCore/qalgorithms.h:322
#8  qDeleteAll<QList<KPlayer*> > (c=...) at /usr/include/qt4/QtCore/qalgorithms.h:330
#9  KGame::deletePlayers (this=<optimized out>) at ../../libkdegames/kgame/kgame.cpp:140
#10 0x00007f19657b2159 in KGame::reset (this=0x262fba0) at ../../libkdegames/kgame/kgame.cpp:132
#11 0x00007f19657b21aa in KGame::~KGame (this=0x262fba0, __in_chrg=<optimized out>) at ../../libkdegames/kgame/kgame.cpp:123
Comment 5 Nemanja Hirsl 2013-04-25 19:45:31 UTC
Comment on attachment 79386 [details]
New crash information added by DrKonqi

Steve,
this issue with qDeleteAll has been resolved in version 4.9. Please try to update to newer versions.
Comment 6 Christoph Feck 2013-05-11 23:41:12 UTC
*** Bug 319685 has been marked as a duplicate of this bug. ***
Comment 7 JAMES 2014-01-28 18:23:49 UTC
Created attachment 84871 [details]
New crash information added by DrKonqi

ksirk (4.8.5 (4.8.5)) on KDE Platform 4.8.5 (4.8.5) using Qt 4.8.1

- What I was doing when the application crashed: I had finished a game and closed it by closing the window. The pop-up asked if I wanted to save the game, I replied 'no' and at that point it crashed. Ubuntu also showed a pop-up saying it had a problem with the Ksirk crash.

-- Backtrace (Reduced):
#7  0x00007f235fe112a6 in qDeleteAll<QList<KPlayer*>::const_iterator> (end=..., begin=...) at /usr/include/qt4/QtCore/qalgorithms.h:322
#8  qDeleteAll<QList<KPlayer*> > (c=...) at /usr/include/qt4/QtCore/qalgorithms.h:330
#9  KGame::deletePlayers (this=<optimized out>) at ../../libkdegames/kgame/kgame.cpp:140
#10 0x00007f235fe14159 in KGame::reset (this=0x22d5a90) at ../../libkdegames/kgame/kgame.cpp:132
#11 0x00007f235fe141aa in KGame::~KGame (this=0x22d5a90, __in_chrg=<optimized out>) at ../../libkdegames/kgame/kgame.cpp:123