Summary: | crashes when starting a local game | ||
---|---|---|---|
Product: | [Applications] ksirk | Reporter: | Andreas Pakulat <apaku> |
Component: | general | Assignee: | Gaël de Chalendar (aka Kleag) <kleagg> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | borden_c, gopinath_04, kde-games-bugs, kevin.kofler, next_ghost, raccoonstrait, rdieter, riku.seppala, stronze1 |
Priority: | NOR | ||
Version: | SVN | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Unspecified | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
backtrace from Fedora 11 Beta Kde 4.2.2 x86_64
valgrind (and unfortunately also application) output from running ksirk to the crash. |
Description
Andreas Pakulat
2009-03-15 16:06:19 UTC
Created attachment 32546 [details]
backtrace from Fedora 11 Beta Kde 4.2.2 x86_64
This is with Qt 4.5, right? Can one of you please run the game in Valgrind and post the output of that? The valgrind part relevant to the crash seems to be this, I'm attaching the whole log separately as its quite large. ==23037== ==23037== Invalid read of size 4 ==23037== at 0x80B0D4D: Ksirk::KGameWindow::mouseMoveEvent(QMouseEvent*) (kgamewinslots.cpp:151) ==23037== by 0x80885CB: Ksirk::KGameWindow::qt_metacall(QMetaObject::Call, int, void**) (kgamewin.moc:203) ==23037== by 0x50ED6B6: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3069) ==23037== by 0x50EECAA: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3143) ==23037== by 0x812D164: Ksirk::DecoratedGameFrame::mouseMoveEventReceived(QMouseEvent*) (decoratedgameframe.moc:95) ==23037== by 0x5401618: QWidget::event(QEvent*) (qwidget.cpp:7501) ==23037== by 0x58B6F5B: QFrame::event(QEvent*) (qframe.cpp:559) ==23037== by 0x596E616: QAbstractScrollArea::viewportEvent(QEvent*) (qabstractscrollarea.cpp:962) ==23037== by 0x5B4C562: QGraphicsView::viewportEvent(QEvent*) (qgraphicsview.cpp:2865) ==23037== by 0x812D2A0: Ksirk::DecoratedGameFrame::viewportEvent(QEvent*) (decoratedgameframe.cpp:478) ==23037== by 0x59717D3: QAbstractScrollAreaPrivate::viewportEvent(QEvent*) (qabstractscrollarea_p.h:100) ==23037== by 0x5971801: QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) (qabstractscrollarea_p.h:111) ==23037== Address 0x0 is not stack'd, malloc'd or (recently) free'd Created attachment 32553 [details]
valgrind (and unfortunately also application) output from running ksirk to the crash.
Classic NULL pointer dereference, no big secrets there. m_downarrow is NULL when the event handler is triggered. It probably needs safety checks for the arrows not to be NULL. Thanks for the detailed report. I'll correct that as soon as possible. This patch should fix it: http://cvs.fedoraproject.org/viewvc/rpms/kdegames/devel/kdegames-4.2.2-ksirk-kde%23187235.patch?revision=1.1&view=markup (Note: I used the redundant == 0 notation for the NULL pointer checks because everything else in the surrounding code used it. Normally I just check them with the ! operator. :-) ) The patch has been confirmed to fix the problem. Can this be committed? We found that there's another way the mouseMoveEvent is triggered at an unexpected time under Qt 4.5 and causes crashes: when restarting a game (as opposed to starting the game for the first time as the original bug was about): 1. start local game (which works with the patch above) 2. keep clicking OK 3. start new game 4. crash (when the mouseMoveEvent tries to print out the player owning a country right when the reinitialization is in progress) This patch: http://cvs.fedoraproject.org/viewvc/rpms/kdegames/devel/kdegames-4.2.2-ksirk-rh%23486380.patch?revision=1.2&view=markup is confirmed to fix that second crash. It should be applied in addition to the first one (i.e. both are needed). Kleag: Any objections to these patches? Hello, Sorry for the late reaction (holidays, etc.). Your two patches are now applied and commited to trunk. Thanks a lot! Gaël Grrr, why haven't you committed them to the 4.2 branch as well? 4.2.4 still shipped with those bugs! Next time please commit bugfixes to the current release branch as well! SVN commit 977682 by kkofler: Backport my Qt 4.5 crash fixes (revision 961969, committed to trunk only by the maintainer :-( ). Unfortunately, this missed 4.2.4 and there may be no further 4.2.x release, but at least the fix is in now. BUG: 187235 M +1 -0 kgamewin.cpp M +1 -0 kgamewin.h M +8 -1 kgamewinslots.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=977682 *** Bug 196446 has been marked as a duplicate of this bug. *** @kevin: sorry again. I was thinking that the 4.2 branch was closed at this time and that it was not necessary to back port this correction. I'll try to be more smarter next time. *** Bug 190803 has been marked as a duplicate of this bug. *** im new to linux and using ubuntu. saw risk in package manger and wanted to try it out. im just gonna uninstall it but figured to post what it said. This backtrace appears to be of no use. This is probably because your packages are built in a way which prevents creation of proper backtraces, or the stack frame was seriously corrupted in the crash. (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 0xb57e1970 (LWP 20997)] [New Thread 0xb1807b90 (LWP 21006)] [New Thread 0xad80cb90 (LWP 21005)] [New Thread 0xb200eb90 (LWP 20999)] [New Thread 0xb28beb90 (LWP 20998)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) 0xb7fa1430 in __kernel_vsyscall () [Current thread is 0 (LWP 20997)] Thread 5 (Thread 0xb28beb90 (LWP 20998)): #0 0xb7fa1430 in __kernel_vsyscall () #1 0xb6201412 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xb6303344 in pthread_cond_timedwait () from /lib/tls/i686/cmov/libc.so.6 #3 0xb371fae3 in ?? () from /usr/lib/libxine.so.1 Thread 4 (Thread 0xb200eb90 (LWP 20999)): #0 0xb7fa1430 in __kernel_vsyscall () #1 0xb62e9ae7 in poll () from /lib/tls/i686/cmov/libc.so.6 #2 0xb5b9a74b in g_poll () from /usr/lib/libglib-2.0.so.0 #3 0xb5b8cf82 in ?? () from /usr/lib/libglib-2.0.so.0 #4 0xb5b8d268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #5 0xb6ffd457 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #6 0xb6fd006a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #7 0xb6fd04aa in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #8 0xb6eda639 in QThread::exec () from /usr/lib/libQtCore.so.4 #9 0xb376d20a in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so #10 0xb6edd96e in ?? () from /usr/lib/libQtCore.so.4 #11 0xb61fd4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #12 0xb62f449e in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 3 (Thread 0xad80cb90 (LWP 21005)): #0 0xb7fa1430 in __kernel_vsyscall () #1 0xb62e9ae7 in poll () from /lib/tls/i686/cmov/libc.so.6 #2 0xb203fb19 in ?? () from /usr/lib/xine/plugins/1.26/xineplug_ao_out_alsa.so Backtrace stopped: previous frame inner to this frame (corrupt stack?) Thread 2 (Thread 0xb1807b90 (LWP 21006)): #0 0xb7fa1430 in __kernel_vsyscall () #1 0xb62010e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xb63032ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6 #3 0xb3730d8e in ?? () from /usr/lib/libxine.so.1 Backtrace stopped: previous frame inner to this frame (corrupt stack?) Thread 1 (Thread 0xb57e1970 (LWP 20997)): #0 0xb7fa1430 in __kernel_vsyscall () #1 0xb62af7a6 in nanosleep () from /lib/tls/i686/cmov/libc.so.6 #2 0xb62af5be in sleep () from /lib/tls/i686/cmov/libc.so.6 #3 0xb75908b2 in ?? () from /usr/lib/libkdeui.so.5 #4 0xb7591274 in KCrash::defaultCrashHandler () from /usr/lib/libkdeui.so.5 #5 <signal handler called> #6 0x080b38cf in ?? () #7 0x0808a0ec in ?? () #8 0xb6fe7ca8 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #9 0xb6fe8932 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #10 0x08132c25 in ?? () #11 0xb662f9ad in QWidget::event () from /usr/lib/libQtGui.so.4 #12 0xb6a09993 in QFrame::event () from /usr/lib/libQtGui.so.4 #13 0xb6aa994f in QAbstractScrollArea::viewportEvent () from /usr/lib/libQtGui.so.4 #14 0xb6c4d327 in QGraphicsView::viewportEvent () from /usr/lib/libQtGui.so.4 #15 0x08132d61 in ?? () #16 0xb6aabf55 in ?? () from /usr/lib/libQtGui.so.4 #17 0xb6fd0c5a in QCoreApplicationPrivate::sendThroughObjectEventFilters () from /usr/lib/libQtCore.so.4 #18 0xb65d8e7a in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #19 0xb65e1b11 in QApplication::notify () from /usr/lib/libQtGui.so.4 #20 0xb752094d in KApplication::notify () from /usr/lib/libkdeui.so.5 #21 0xb6fd1a3b in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #22 0xb65e0b7e in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4 #23 0xb65e1099 in QApplicationPrivate::sendSyntheticEnterLeave () from /usr/lib/libQtGui.so.4 #24 0xb66356f7 in QWidget::setVisible () from /usr/lib/libQtGui.so.4 #25 0xb6616c51 in QStackedLayout::setCurrentIndex () from /usr/lib/libQtGui.so.4 #26 0xb6a79d9d in QStackedWidget::setCurrentIndex () from /usr/lib/libQtGui.so.4 #27 0x080ace67 in ?? () #28 0x080856e0 in _start () #0 0xb7fa1430 in __kernel_vsyscall () > im new to linux and using ubuntu. > saw risk in package manger and wanted to try it out. > im just gonna uninstall it but figured to post what it said. Well, as the report says: > This backtrace appears to be of no use. > This is probably because your packages are built in a way which prevents > creation of proper backtraces, or the stack frame was seriously corrupted in > the crash. but as far as I can tell this is the same backtrace as the more useful one initially posted. No thanks to Kubuntu for releasing with Qt 4.5 without patching their KDE for the known issues with it nor pushing updates to fix their crashes. This has been fixed in Fedora since before the update to Qt 4.5 went stable. I committed the 2 fixes on April 5 and April 9, respectively. There's nothing we can do in KDE about this, please file a bug in Launchpad for them to backport the crash fixes. *** Bug 199685 has been marked as a duplicate of this bug. *** *** Bug 197925 has been marked as a duplicate of this bug. *** |