Application: workout (0.9.50) KDE Platform Version: 4.5.69 (4.6 >= 20100920) (Compiled from sources) Qt Version: 4.7.0 Operating System: Linux 2.6.34.7-0.2-desktop i686 Distribution: "openSUSE 11.3 (i586)" -- Information about the crash: - What I was doing when the application crashed: I compiled the KDE4 version of Workout, and just running it, causes this crash in Marble plugin. KDE from trunk. The crash can be reproduced every time. -- Backtrace: Application: Workout (workout), signal: Segmentation fault [Current thread is 1 (Thread 0xb31db710 (LWP 9519))] Thread 4 (Thread 0xb0e24b70 (LWP 9527)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb584c75e in __poll (fds=0x83863b0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #2 0xb35771db in IA__g_poll (fds=0x83863b0, nfds=1, timeout=-1) at gpoll.c:127 #3 0xb3567286 in g_main_context_poll (context=0x838ace0, block=1, dispatch=1, self=0x836dbe0) at gmain.c:2904 #4 g_main_context_iterate (context=0x838ace0, block=1, dispatch=1, self=0x836dbe0) at gmain.c:2586 #5 0xb356760e in IA__g_main_context_iteration (context=0x838ace0, may_block=1) at gmain.c:2654 #6 0xb68ca5bc in QEventDispatcherGlib::processEvents (this=0x834ce60, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:417 #7 0xb6893d3d in QEventLoop::processEvents (this=0xb0e24298, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:149 #8 0xb6893e81 in QEventLoop::exec (this=0xb0e24298, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:201 #9 0xb678966c in QThread::exec (this=0x84c6e08) at /local/git/Qt/qt/src/corelib/thread/qthread.cpp:490 #10 0xb6875744 in QInotifyFileSystemWatcherEngine::run (this=0x84c6e08) at /local/git/Qt/qt/src/corelib/io/qfilesystemwatcher_inotify.cpp:248 #11 0xb678bd0e in QThreadPrivate::start (arg=0x84c6e08) at /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:285 #12 0xb66edb25 in start_thread (arg=0xb0e24b70) at pthread_create.c:297 #13 0xb585746e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 3 (Thread 0xadaaeb70 (LWP 9533)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb66f2452 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S:179 #2 0xb678d03f in QWaitConditionPrivate::wait (this=0xbdb4490, time=30000) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:86 #3 0xb678ce5d in QWaitCondition::wait (this=0xbdb46e4, mutex=0xbdb46e0, time=30000) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:160 #4 0xb677e4de in QThreadPoolThread::run (this=0xbdb8a98) at /local/git/Qt/qt/src/corelib/concurrent/qthreadpool.cpp:140 #5 0xb678bd0e in QThreadPrivate::start (arg=0xbdb8a98) at /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:285 #6 0xb66edb25 in start_thread (arg=0xadaaeb70) at pthread_create.c:297 #7 0xb585746e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 2 (Thread 0xaf276b70 (LWP 9534)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb66f2452 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S:179 #2 0xb678d03f in QWaitConditionPrivate::wait (this=0xbdb4490, time=30000) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:86 #3 0xb678ce5d in QWaitCondition::wait (this=0xbdb46e4, mutex=0xbdb46e0, time=30000) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:160 #4 0xb677e4de in QThreadPoolThread::run (this=0xbded4f0) at /local/git/Qt/qt/src/corelib/concurrent/qthreadpool.cpp:140 #5 0xb678bd0e in QThreadPrivate::start (arg=0xbded4f0) at /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:285 #6 0xb66edb25 in start_thread (arg=0xaf276b70) at pthread_create.c:297 #7 0xb585746e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 1 (Thread 0xb31db710 (LWP 9519)): [KCrash Handler] #7 0xb7772108 in Marble::MarbleWidget::sunLocator (this=0xbf9ce250) at /local/svn/kde/trunk/KDE/kdeedu/marble/src/lib/MarbleWidget.cpp:1259 #8 0xb037dbec in Marble::StarsPlugin::render (this=0xa113608, painter=0xbf9ce240, viewport=0x8380b2c, renderPos=..., layer=0x0) at /local/svn/kde/trunk/KDE/kdeedu/marble/src/plugins/render/stars/StarsPlugin.cpp:230 #9 0xb77c5e65 in Marble::LayerManager::renderLayer (this=0xa1256e8, painter=0xbf9ce240, viewParams=0x838062c, renderPosition=...) at /local/svn/kde/trunk/KDE/kdeedu/marble/src/lib/LayerManager.cpp:173 #10 0xb77c5fc3 in Marble::LayerManager::renderLayers (this=0xa1256e8, painter=0xbf9ce240, viewParams=0x838062c, renderPositions=...) at /local/svn/kde/trunk/KDE/kdeedu/marble/src/lib/LayerManager.cpp:136 #11 0xb777a374 in Marble::MarbleModel::paintGlobe (this=0x84c2850, painter=0xbf9ce240, viewParams=0x838062c, redrawBackground=true, dirtyRect=...) at /local/svn/kde/trunk/KDE/kdeedu/marble/src/lib/MarbleModel.cpp:729 #12 0xb7781a84 in Marble::MarbleMapPrivate::paintGround (this=0x8380618, painter=..., dirtyRect=...) at /local/svn/kde/trunk/KDE/kdeedu/marble/src/lib/MarbleMap.cpp:220 #13 0xb77702c4 in Marble::MarbleWidget::paintEvent (this=0x82b1dc0, evt=0xbf9ce8e4) at /local/svn/kde/trunk/KDE/kdeedu/marble/src/lib/MarbleWidget.cpp:818 #14 0xb5bf968a in QWidget::event (this=0x82b1dc0, event=0xbf9ce8e4) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:8346 #15 0xb5b98f1e in QApplicationPrivate::notify_helper (this=0x81185c8, receiver=0x82b1dc0, e=0xbf9ce8e4) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4440 #16 0xb5b98c53 in QApplication::notify (this=0xbf9cfedc, receiver=0x82b1dc0, e=0xbf9ce8e4) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4405 #17 0xb6f26ffe in KApplication::notify (this=0xbf9cfedc, receiver=0x82b1dc0, event=0xbf9ce8e4) at /local/svn/kde/trunk/KDE/kdelibs/kdeui/kernel/kapplication.cpp:310 #18 0xb6895fdf in QCoreApplication::notifyInternal (this=0xbf9cfedc, receiver=0x82b1dc0, event=0xbf9ce8e4) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:732 #19 0xb5b9b801 in QCoreApplication::sendSpontaneousEvent (receiver=0x82b1dc0, event=0xbf9ce8e4) at ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:218 #20 0xb5bf1e33 in QWidgetPrivate::drawWidget (this=0x82f9810, pdev=0xab2da90, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa6cce98) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5433 #21 0xb5bf2bb2 in QWidgetPrivate::paintSiblingsRecursive (this=0x82f64c8, pdev=0xab2da90, siblings=..., index=10, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa6cce98) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5640 #22 0xb5bf221c in QWidgetPrivate::drawWidget (this=0x82f64c8, pdev=0xab2da90, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa6cce98) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5486 #23 0xb5bf2bb2 in QWidgetPrivate::paintSiblingsRecursive (this=0x8296ac0, pdev=0xab2da90, siblings=..., index=4, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa6cce98) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5640 #24 0xb5bf221c in QWidgetPrivate::drawWidget (this=0x8296ac0, pdev=0xab2da90, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa6cce98) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5486 #25 0xb5bf2bb2 in QWidgetPrivate::paintSiblingsRecursive (this=0x81e6328, pdev=0xab2da90, siblings=..., index=10, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa6cce98) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5640 #26 0xb5bf2a81 in QWidgetPrivate::paintSiblingsRecursive (this=0x81e6328, pdev=0xab2da90, siblings=..., index=11, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa6cce98) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5627 #27 0xb5bf2a81 in QWidgetPrivate::paintSiblingsRecursive (this=0x81e6328, pdev=0xab2da90, siblings=..., index=12, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa6cce98) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5627 #28 0xb5bf2a81 in QWidgetPrivate::paintSiblingsRecursive (this=0x81e6328, pdev=0xab2da90, siblings=..., index=14, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa6cce98) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5627 #29 0xb5bf2a81 in QWidgetPrivate::paintSiblingsRecursive (this=0x81e6328, pdev=0xab2da90, siblings=..., index=16, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa6cce98) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5627 #30 0xb5bf2a81 in QWidgetPrivate::paintSiblingsRecursive (this=0x81e6328, pdev=0xab2da90, siblings=..., index=24, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa6cce98) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5627 #31 0xb5bf2a81 in QWidgetPrivate::paintSiblingsRecursive (this=0x81e6328, pdev=0xab2da90, siblings=..., index=25, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0xa6cce98) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5627 #32 0xb5bf221c in QWidgetPrivate::drawWidget (this=0x81e6328, pdev=0xab2da90, rgn=..., offset=..., flags=5, sharedPainter=0x0, backingStore=0xa6cce98) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5486 #33 0xb5dff2be in QWidgetBackingStore::sync (this=0xa6cce98) at /local/git/Qt/qt/src/gui/painting/qbackingstore.cpp:1333 #34 0xb5dfe66a in QWidgetBackingStore::sync (this=0xa6cce98, exposedWidget=0x81f2f10, exposedRegion=...) at /local/git/Qt/qt/src/gui/painting/qbackingstore.cpp:1130 #35 0xb5be92f6 in QWidgetPrivate::syncBackingStore (this=0x81e6328, region=...) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:1831 #36 0xb5c31307 in QETWidget::translatePaintEvent (this=0x81f2f10, event=0xbf9cfbd0) at /local/git/Qt/qt/src/gui/kernel/qapplication_x11.cpp:5152 #37 0xb5c2bf43 in QApplication::x11ProcessEvent (this=0xbf9cfedc, event=0xbf9cfbd0) at /local/git/Qt/qt/src/gui/kernel/qapplication_x11.cpp:3464 #38 0xb5c61122 in x11EventSourceDispatch (s=0x811b8e8, callback=0, user_data=0x0) at /local/git/Qt/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:146 #39 0xb3566b49 in g_main_dispatch (context=0x811aa98) at gmain.c:1960 #40 IA__g_main_context_dispatch (context=0x811aa98) at gmain.c:2513 #41 0xb3567350 in g_main_context_iterate (context=0x811aa98, block=1, dispatch=1, self=0x8118768) at gmain.c:2591 #42 0xb356760e in IA__g_main_context_iteration (context=0x811aa98, may_block=1) at gmain.c:2654 #43 0xb68ca59c in QEventDispatcherGlib::processEvents (this=0x8118588, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:415 #44 0xb5c61478 in QGuiEventDispatcherGlib::processEvents (this=0x8118588, flags=...) at /local/git/Qt/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:204 #45 0xb6893d3d in QEventLoop::processEvents (this=0xbf9cfe6c, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:149 #46 0xb6893e81 in QEventLoop::exec (this=0xbf9cfe6c, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:201 #47 0xb68966ca in QCoreApplication::exec () at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1009 #48 0xb5b9644c in QApplication::exec () at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:3714 #49 0x080667d5 in main (argc=1, argv=0xbf9cffc4) at /local/svn/kde/trunk/playground/edu/workout/src/main.cpp:123 Reported using DrKonqi
Adding Volker, author or Workout.
Quoting from #marble a few weeks ago: 19:39 < Torch> deleting the starsplugin helps 19:46 < Torch> hjain: $ rm /home/kde-devel/kde4/lib/kde4/plugins/marble/StarsPlugin.so 19:48 < hjain> idis_: I think this problem is related to cmake. The previous StarsPlugin.so was not replaced by the newer one. But I am not sure. The crash does not happen on my 4.5.1 installation where I mainly develop.
Right, deleting StarsPlugin.so works, but on next installation of Marble, it is installed again, so it wasn't an old file lying around.
SVN commit 1179732 by nienhueser: Replace the c-style cast with a dynamic_cast and check its result. You cannot rely on the paint device being the marble widget, this is not true if the widget is disabled, for example. CCBUG: 252146 M +2 -2 StarsPlugin.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1179732
Thanks, after this commit, workout no longer crashes.
Great, thanks for testing. Trunk doesn't have this code part, so no backport is needed.
Great, thanks for testing. 4.5 doesn't have this code part, so no backport is needed.