Version: (using Devel) Compiler: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) OS: Linux Installed from: Compiled sources I'm seeing the assert in DealerScene::setWaiting(bool) (dealer.cpp circa 1118) trip occasionally. It happens sometimes in freecell, but *every* time in simple simon, exactly when a run is completed. This is with r859205. Here's the last snippet of output plus backtrace (from a gdb run): kpat(14160) DealerScene::stopDemo: "458894" stopDemo 0 kpat(14160) PatienceView::toggleDemo: false kpat(14160) DealerScene::takeState: clear in takeState kpat(14160) DealerScene::startAutoDrop: "460764" startAutoDrop kpat(14160) DealerScene::getSolverHints: getSolverHints kpat(14160) SimonSolver::translateMove: card 13 3 kpat(14160) DealerScene::setWaiting: setWaiting true 0 kpat(14160) DealerScene::stopAndRestartSolver: stopAndRestartSolver kpat(14160) DealerScene::stopAndRestartSolver: stopAndRestartSolver kpat(14160) DealerScene::setWaiting: setWaiting false 1 kpat(14160) DealerScene::stopAndRestartSolver: stopAndRestartSolver kpat(14160) DealerScene::setWaiting: setWaiting false 0 kpat: /usr/local/src/kde/svn/trunk/kdegames/kpat/dealer.cpp:1119: void DealerScene::setWaiting(bool): Assertion `_waiting > 0 || w' failed. Program received signal SIGABRT, Aborted. 0x0000003183232215 in raise () from /lib64/libc.so.6 Missing separate debuginfos, use: debuginfo-install OpenEXR.x86_64 acl.x86_64 attr.x86_64 bzip2.x86_64 dbus.x86_64 e2fsprogs.x86_64 expat.x86_64 fontconfig.x86_64 freetype.x86_64 gamin.x86_64 gcc.x86_64 glib2.x86_64 glibc.x86_64 ilmbase.x86_64 jasper.x86_64 lcms.x86_64 libICE.x86_64 libSM.x86_64 libX11.x86_64 libXau.x86_64 libXcursor.x86_64 libXdmcp.x86_64 libXext.x86_64 libXfixes.x86_64 libXft.x86_64 libXi.x86_64 libXinerama.x86_64 libXpm.x86_64 libXrandr.x86_64 libXrender.x86_64 libXtst.x86_64 libcap.x86_64 libjpeg.x86_64 libmng.x86_64 libpng.x86_64 libselinux.x86_64 libtiff.x86_64libxcb.x86_64 libxml2.x86_64 mesa.x86_64 zlib.x86_64 (gdb) bt #0 0x0000003183232215 in raise () from /lib64/libc.so.6 #1 0x0000003183233d83 in abort () from /lib64/libc.so.6 #2 0x000000318322b039 in __assert_fail () from /lib64/libc.so.6 #3 0x000000000041dbbe in DealerScene::setWaiting (this=0x27a33f0, w=false) at /usr/local/src/kde/svn/trunk/kdegames/kpat/dealer.cpp:1119 #4 0x00000000004222eb in DealerScene::waitForAutoDrop (this=0x3750, c=0x2e3a510) at /usr/local/src/kde/svn/trunk/kdegames/kpat/dealer.cpp:1298 #5 0x0000000000424819 in DealerScene::qt_metacall (this=0x27a33f0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff8d5c0c00) at /var/local/build/kde/svn/trunk/kdegames/kpat/dealer.moc:139 #6 0x0000000000446f3d in Simon::qt_metacall (this=0x3750, _c=14160, _id=6, _a=0xffffffffffffffff) at /var/local/build/kde/svn/trunk/kdegames/kpat/simon.moc:61 #7 0x0000000001454385 in QMetaObject::activate (sender=0x2e3a510, from_signal_index=4, to_signal_index=4, argv=0x7fff8d5c0c00) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/kernel/qobject.cpp:3013 #8 0x00000000014547fb in QMetaObject::activate (sender=0x2e3a510, m=0x4522a0, local_signal_index=0, argv=0x7fff8d5c0c00) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/kernel/qobject.cpp:3086 #9 0x000000000041697d in Card::stoped (this=0x3750, _t1=0x2e3a510) at /var/local/build/kde/svn/trunk/kdegames/kpat/card.moc:97 #10 0x000000000041755d in Card::stopAnimation (this=0x2e3a510) at /usr/local/src/kde/svn/trunk/kdegames/kpat/card.cpp:360 #11 0x0000000000417f78 in Card::qt_metacall (this=0x2e3a510, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff8d5c0d20) at /var/local/build/kde/svn/trunk/kdegames/kpat/card.moc:84 #12 0x0000000001454385 in QMetaObject::activate (sender=0x2e6f0d0, from_signal_index=7, to_signal_index=7, argv=0x0) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/kernel/qobject.cpp:3013 #13 0x00000000014547fb in QMetaObject::activate (sender=0x2e6f0d0, m=0x173d580, local_signal_index=3, argv=0x0) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/kernel/qobject.cpp:3086 #14 0x000000000148df3c in QTimeLine::finished (this=0x2e6f0d0) at .moc/debug-shared/moc_qtimeline.cpp:169 #15 0x00000000013a9a6c in QTimeLinePrivate::setCurrentTime (this=0x2fe19c0, msecs=560) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/tools/qtimeline.cpp:177 #16 0x00000000013a9af2 in QTimeLine::timerEvent (this=0x2e6f0d0, event=0x7fff8d5c16b0) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/tools/qtimeline.cpp:761 #17 0x000000000145263c in QObject::event (this=0x2e6f0d0, e=0x7fff8d5c16b0) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/kernel/qobject.cpp:1105 #18 0x00000000058f3fe1 in QApplicationPrivate::notify_helper (this=0x26f15a0, receiver=0x2e6f0d0, e=0x7fff8d5c16b0) at /usr/local/src/kde/svn/trunk/qt-copy/src/gui/kernel/qapplication.cpp:3800 #19 0x00000000058f42fd in QApplication::notify (this=0x7fff8d5c1ae0, receiver=0x2e6f0d0, e=0x7fff8d5c16b0) at /usr/local/src/kde/svn/trunk/qt-copy/src/gui/kernel/qapplication.cpp:3392 #20 0x0000000000976d1b in KApplication::notify (this=0x7fff8d5c1ae0, receiver=0x2e6f0d0, event=0x7fff8d5c16b0) at /usr/local/src/kde/svn/trunk/kdelibs/kdeui/kernel/kapplication.cpp:311 #21 0x000000000143ff2b in QCoreApplication::notifyInternal (this=0x7fff8d5c1ae0, receiver=0x2e6f0d0, event=0x7fff8d5c16b0) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/kernel/qcoreapplication.cpp:587 #22 0x00000000058f1355 in QCoreApplication::sendEvent (receiver=0x2e6f0d0, event=0x7fff8d5c16b0) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/kernel/qcoreapplication.h:215 #23 0x0000000001470075 in QTimerInfoList::activateTimers (this=0x26f5cb0) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/kernel/qeventdispatcher_unix.cpp:563 #24 0x000000000146d8ba in timerSourceDispatch (source=0x26f5c50) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:166 #25 0x00000030ab8374db in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 #26 0x00000030ab83acbd in ?? () from /lib64/libglib-2.0.so.0 #27 0x00000030ab83ae7b in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #28 0x000000000146cb16 in QEventDispatcherGlib::processEvents (this=0x26f1530, flags={i = -1923344112}) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/kernel/qeventdispatcher_glib.cpp:325 #29 0x0000000005992b3f in QGuiEventDispatcherGlib::processEvents (this=0x26f1530, flags={i = -1923344016}) at /usr/local/src/kde/svn/trunk/qt-copy/src/gui/kernel/qguieventdispatcher_glib.cpp:204 #30 0x000000000143d193 in QEventLoop::processEvents (this=0x7fff8d5c1a20, flags={i = -1923343920}) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/kernel/qeventloop.cpp:149 #31 0x000000000143d38e in QEventLoop::exec (this=0x7fff8d5c1a20, flags={i = -1923343824}) at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/kernel/qeventloop.cpp:196 #32 0x0000000001440790 in QCoreApplication::exec () at /usr/local/src/kde/svn/trunk/qt-copy/src/corelib/kernel/qcoreapplication.cpp:849 #33 0x00000000058f3d3e in QApplication::exec () at /usr/local/src/kde/svn/trunk/qt-copy/src/gui/kernel/qapplication.cpp:3330 #34 0x000000000041290c in main (argc=1, argv=0x7fff8d5c22d8) at /usr/local/src/kde/svn/trunk/kdegames/kpat/main.cpp:179
Created attachment 27343 [details] savegame for lazy people :-) This will happen with ANY game of simple simon (it's impossible to complete a game without hitting the bug), but for people who are lazy, here's a game that is 1 move away from completing a run. Moving the Qs-As onto the Ks starts the 'run complete' animation, which trips the assert about halfway through. Note that I haven't noticed any ill effects from simply removing the assert...
thanks for the savegame, can confirm :)
fixed in SVN: 859425
Confirmed, thanks!