Bug 183754

Summary: Crash on start with backtrace
Product: [Applications] marble Reporter: René Krell <renda.krell>
Component: generalAssignee: Torsten Rahn <rahn>
Status: CLOSED FIXED    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description René Krell 2009-02-09 08:17:47 UTC
Version:           0.10.0 RC1 (using KDE 4.2.0)
Compiler:          gcc 
OS:                Linux
Installed from:    SuSE RPMs

Digikam crashes during startup, using openSUSE 11.1 KDE 4.2 Factory.
Backtrace:

[?1034h[Thread debugging using libthread_db enabled]
[New Thread 0x7facef7b3950 (LWP 7089)]
[New Thread 0x7facf5fa8950 (LWP 7072)]
[New Thread 0x7facf5772950 (LWP 7071)]
[New Thread 0x7facf9d4c950 (LWP 7068)]
0x00007fad03774ce1 in nanosleep () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7fad0a78b750 (LWP 7066))]

Thread 5 (Thread 0x7facf9d4c950 (LWP 7068)):
#0  0x00007fad041b0d59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fad04421f29 in QWaitCondition::wait (this=0xa4c268, mutex=0xa4c260, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:82
#2  0x000000000063be43 in Digikam::ScanController::run (this=0xa2b230) at /usr/src/debug/digikam-0.10.0-rc1/digikam/scancontroller.cpp:412
#3  0x00007fad04420f72 in QThreadPrivate::start (arg=0xa2b230) at thread/qthread_unix.cpp:185
#4  0x00007fad041ad070 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fad037a610d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7facf5772950 (LWP 7071)):
#0  0x00007fad041b0d59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fad04421f29 in QWaitCondition::wait (this=0xd81f70, mutex=0xd81f68, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:82
#2  0x00007fad07b1df6c in Digikam::LoadSaveThread::run (this=0xd81f50) at /usr/src/debug/digikam-0.10.0-rc1/libs/threadimageio/loadsavethread.cpp:129
#3  0x00007fad04420f72 in QThreadPrivate::start (arg=0xd81f50) at thread/qthread_unix.cpp:185
#4  0x00007fad041ad070 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fad037a610d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7facf5fa8950 (LWP 7072)):
#0  0x00007fad041b0d59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fad04421f29 in QWaitCondition::wait (this=0xc6de90, mutex=0xc6de88, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:82
#2  0x00007fad07b1df6c in Digikam::LoadSaveThread::run (this=0xc6de70) at /usr/src/debug/digikam-0.10.0-rc1/libs/threadimageio/loadsavethread.cpp:129
#3  0x00007fad04420f72 in QThreadPrivate::start (arg=0xc6de70) at thread/qthread_unix.cpp:185
#4  0x00007fad041ad070 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fad037a610d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7facef7b3950 (LWP 7089)):
#0  0x00007fad041b0d59 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fad04421f29 in QWaitCondition::wait (this=0x32d2d00, mutex=0x32d2cf8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:82
#2  0x00007fad07b1df6c in Digikam::LoadSaveThread::run (this=0x32d2ce0) at /usr/src/debug/digikam-0.10.0-rc1/libs/threadimageio/loadsavethread.cpp:129
#3  0x00007fad04420f72 in QThreadPrivate::start (arg=0x32d2ce0) at thread/qthread_unix.cpp:185
#4  0x00007fad041ad070 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fad037a610d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fad0a78b750 (LWP 7066)):
#0  0x00007fad03774ce1 in nanosleep () from /lib64/libc.so.6
#1  0x00007fad03774adc in sleep () from /lib64/libc.so.6
#2  0x00007fad063bed2f in KCrash::startDrKonqi (argv=0x7fff127d5cb8, argc=17) at /usr/src/debug/kdelibs-4.2.0/kdeui/util/kcrash.cpp:412
#3  0x00007fad063bf68a in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kdelibs-4.2.0/kdeui/util/kcrash.cpp:337
#4  <signal handler called>
#5  QObject::connect (sender=0x44566c0, signal=0x445b479 "lmbRequest(int,int)", receiver=0x2, method=0x7fad071ff56b "1showLmbMenu( int, int )", type=Qt::AutoConnection) at kernel/qobject.cpp:2412
#6  0x00007fad0715b041 in ?? () from /usr/lib64/libmarblewidget.so.4
#7  0x00007fad0715e51f in Marble::MarbleWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libmarblewidget.so.4
#8  0x00007fad0451d454 in QMetaObject::activate (sender=0x100e240, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x4) at kernel/qobject.cpp:3031
#9  0x00007fad045236ff in QSingleShotTimer::timerEvent (this=0x100e240) at kernel/qtimer.cpp:294
#10 0x00007fad04517da3 in QObject::event (this=0x100e240, e=0x7fad072054e4) at kernel/qobject.cpp:1120
#11 0x00007fad050471bd in QApplicationPrivate::notify_helper (this=0x9550f0, receiver=0x100e240, e=0x7fff127d6c00) at kernel/qapplication.cpp:3803
#12 0x00007fad0504ef8a in QApplication::notify (this=0x7fff127d8970, receiver=0x100e240, e=0x7fff127d6c00) at kernel/qapplication.cpp:3768
#13 0x00007fad0635cb3b in KApplication::notify (this=0x7fff127d8970, receiver=0x100e240, event=0x7fff127d6c00) at /usr/src/debug/kdelibs-4.2.0/kdeui/kernel/kapplication.cpp:307
#14 0x00007fad04509091 in QCoreApplication::notifyInternal (this=0x7fff127d8970, receiver=0x100e240, event=0x7fff127d6c00) at kernel/qcoreapplication.cpp:587
#15 0x00007fad045351c0 in QTimerInfoList::activateTimers (this=0x958c40) at kernel/qcoreapplication.h:209
#16 0x00007fad0453158d in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:160
#17 0x00007fad00da40db in IA__g_main_context_dispatch (context=0x9575f0) at gmain.c:2144
#18 0x00007fad00da78ad in g_main_context_iterate (context=0x9575f0, block=0, dispatch=1, self=<value optimized out>) at gmain.c:2778
#19 0x00007fad00da7a6b in IA__g_main_context_iteration (context=0x9575f0, may_block=0) at gmain.c:2841
#20 0x00007fad045314ef in QEventDispatcherGlib::processEvents (this=0x954f40, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:319
#21 0x00007fad050d79bf in QGuiEventDispatcherGlib::processEvents (this=0x7fad07435c40, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:198
#22 0x00007fad0450a169 in QCoreApplication::processEvents (flags={i = 310210336}) at kernel/qcoreapplication.cpp:771
#23 0x00007fad07b7ba23 in Digikam::SplashScreen::message (this=0xac85f0, message=<value optimized out>) at /usr/src/debug/digikam-0.10.0-rc1/libs/widgets/common/splashscreen.cpp:134
#24 0x00000000005fb0ba in Digikam::DigikamApp::setupActions (this=0xaf3050) at /usr/src/debug/digikam-0.10.0-rc1/digikam/digikamapp.cpp:1082
#25 0x00000000005ff66a in DigikamApp (this=0xaf3050) at /usr/src/debug/digikam-0.10.0-rc1/digikam/digikamapp.cpp:194
#26 0x000000000065ee20 in main (argc=5, argv=0x7fff127d95d8) at /usr/src/debug/digikam-0.10.0-rc1/digikam/main.cpp:167
Comment 1 caulier.gilles 2009-02-09 08:57:50 UTC
It's sound like another crash relevant of Marble data missing on your computer. Please check marblewidget installation and try again

Gilles Caulier
Comment 2 René Krell 2009-02-09 10:38:40 UTC
Yes, you are right.
Even Marble itself doesn't start after upgrading, probably the same problem.

Backtrace of the Marble crash:

[?1034h(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 0xb32ecb90 (LWP 9284)]
0xffffe430 in __kernel_vsyscall ()
[Current thread is 1 (Thread 0xb5daf700 (LWP 9269))]

Thread 2 (Thread 0xb32ecb90 (LWP 9284)):
#0  0xb686bcc6 in __pthread_mutex_unlock_usercnt () from /lib/libpthread.so.0
#1  0xb61405b3 in IA__g_main_context_check (context=0x90ced70, max_priority=2147483647, fds=0x82282e8, n_fds=1) at gmain.c:2651
#2  0xb6140f4d in g_main_context_iterate (context=0x90ced70, block=1, dispatch=1, self=0x8b96bf0) at gmain.c:2775
#3  0xb6141221 in IA__g_main_context_iteration (context=0x90ced70, may_block=1) at gmain.c:2841
#4  0xb69e5fd7 in QEventDispatcherGlib::processEvents (this=0x8b8b770, flags={i = -1288781192}) at kernel/qeventdispatcher_glib.cpp:321
#5  0xb69ba01a in QEventLoop::processEvents (this=0xb32ec2f0, flags={i = -1288781128}) at kernel/qeventloop.cpp:143
#6  0xb69ba1da in QEventLoop::exec (this=0xb32ec2f0, flags={i = -1288781064}) at kernel/qeventloop.cpp:194
#7  0xb68c8559 in QThread::exec (this=0x8bde590) at thread/qthread.cpp:458
#8  0xb699e37b in QInotifyFileSystemWatcherEngine::run (this=0x8bde590) at io/qfilesystemwatcher_inotify.cpp:205
#9  0xb68cb85e in QThreadPrivate::start (arg=0x8bde590) at thread/qthread_unix.cpp:185
#10 0xb68691b5 in start_thread () from /lib/libpthread.so.0
#11 0xb66ab3be in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb5daf700 (LWP 9269)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb6673e96 in nanosleep () from /lib/libc.so.6
#2  0xb6673c7e in sleep () from /lib/libc.so.6
#3  0xb78b2afa in ?? () from /usr/lib/libkdeui.so.5
#4  0xb78b352c in KCrash::defaultCrashHandler(int) () from /usr/lib/libkdeui.so.5
#5  <signal handler called>
#6  QObject::connect (sender=0x8f746c0, signal=0x81cdd51 "lmbRequest(int,int)", receiver=0x1, method=0xb7f2d28b "1showLmbMenu( int, int )", type=Qt::AutoConnection) at kernel/qobject.cpp:2412
#7  0xb7e7a549 in ?? () from /usr/lib/libmarblewidget.so.4
#8  0xb7e7e731 in Marble::MarbleWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libmarblewidget.so.4
#9  0xb69d0580 in QMetaObject::activate (sender=0x8e62e38, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3031
#10 0xb69d1302 in QMetaObject::activate (sender=0x8e62e38, m=0xb6aa2908, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3101
#11 0xb69d6947 in QSingleShotTimer::timeout (this=0x8e62e38) at .moc/release-shared/qtimer.moc:74
#12 0xb69d6a6c in QSingleShotTimer::timerEvent (this=0x8e62e38) at kernel/qtimer.cpp:294
#13 0xb69cb04f in QObject::event (this=0x8e62e38, e=0xbfc4a6b0) at kernel/qobject.cpp:1120
#14 0xb6e758fc in QApplicationPrivate::notify_helper (this=0x808c808, receiver=0x8e62e38, e=0xbfc4a6b0) at kernel/qapplication.cpp:3803
#15 0xb6e7d75e in QApplication::notify (this=0xbfc4a97c, receiver=0x8e62e38, e=0xbfc4a6b0) at kernel/qapplication.cpp:3393
#16 0xb784693d in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#17 0xb69bb961 in QCoreApplication::notifyInternal (this=0xbfc4a97c, receiver=0x8e62e38, event=0xbfc4a6b0) at kernel/qcoreapplication.cpp:587
#18 0xb69e9b86 in QTimerInfoList::activateTimers (this=0x808f854) at kernel/qcoreapplication.h:209
#19 0xb69e6060 in timerSourceDispatch (source=0x808f820) at kernel/qeventdispatcher_glib.cpp:160
#20 0xb613d9a8 in IA__g_main_context_dispatch (context=0x808ec98) at gmain.c:2144
#21 0xb6141063 in g_main_context_iterate (context=0x808ec98, block=1, dispatch=1, self=0x808c948) at gmain.c:2778
#22 0xb6141221 in IA__g_main_context_iteration (context=0x808ec98, may_block=1) at gmain.c:2841
#23 0xb69e5fb8 in QEventDispatcherGlib::processEvents (this=0x808c750, flags={i = -1077630888}) at kernel/qeventdispatcher_glib.cpp:319
#24 0xb6f0e7c5 in QGuiEventDispatcherGlib::processEvents (this=0x808c750, flags={i = -1077630840}) at kernel/qguieventdispatcher_glib.cpp:198
#25 0xb69ba01a in QEventLoop::processEvents (this=0xbfc4a900, flags={i = -1077630776}) at kernel/qeventloop.cpp:143
#26 0xb69ba1da in QEventLoop::exec (this=0xbfc4a900, flags={i = -1077630712}) at kernel/qeventloop.cpp:194
#27 0xb69bc895 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#28 0xb6e75777 in QApplication::exec () at kernel/qapplication.cpp:3331
#29 0x08056d75 in _start ()
Comment 3 René Krell 2009-02-09 10:42:26 UTC
Console output during Marble startup until it crashes:

rkrell@rkrell:~> marble 
Starting to load Plugins. 
=== MarbleDirs: ===       
Local Path: "/home/rkrell/.marble/data" 
Plugin Local Path: "/home/rkrell/.marble/plugins" 
                                                  
Marble Data Path (Run Time) : ""                  
Marble Data Path (Compile Time): "/usr/share/kde4/apps/marble/data" 
                                                                    
Marble Plugin Path (Run Time) : ""                                  
Marble Plugin Path (Compile Time): "/usr/lib/kde4/plugins/marble"   
                                                                    
System Path: "/usr/share/kde4/apps/marble/data"                     
Plugin System Path: "/usr/lib/kde4/plugins/marble"                  
===================                                                 
"CompassFloatItem.so"  -  "/usr/lib/kde4/plugins/marble/CompassFloatItem.so" 
loading:  Marble::CompassFloatItem(0x817a5e0) Marble::CompassFloatItem(0x815a498) 
"MapScaleFloatItem.so"  -  "/usr/lib/kde4/plugins/marble/MapScaleFloatItem.so"    
loading:  Marble::MapScaleFloatItem(0x811efa0) Marble::MapScaleFloatItem(0x815a288) 
"MarbleCrosshairsPlugin.so"  -  "/usr/lib/kde4/plugins/marble/MarbleCrosshairsPlugin.so" 
loading:  Marble::MarbleCrosshairsPlugin(0x8179ae8) Marble::MarbleCrosshairsPlugin(0x8141960)
"MarbleGeoDataPlugin.so"  -  "/usr/lib/kde4/plugins/marble/MarbleGeoDataPlugin.so"
loading:  Marble::MarbleGeoDataPlugin(0x81a6b68) Marble::MarbleGeoDataPlugin(0x81c9ec8)
"MarbleOverviewMap.so"  -  "/usr/lib/kde4/plugins/marble/MarbleOverviewMap.so"
loading:  Marble::MarbleOverviewMap(0x81ba620) Marble::MarbleOverviewMap(0x818d458)
"MarbleStarsPlugin.so"  -  "/usr/lib/kde4/plugins/marble/MarbleStarsPlugin.so"
loading:  Marble::MarbleStarsPlugin(0x81a2a88) Marble::MarbleStarsPlugin(0x81ce6e0)
"NavigationFloatItem.so"  -  "/usr/lib/kde4/plugins/marble/NavigationFloatItem.so"
loading:  Marble::NavigationFloatItem(0x81b24c8) Marble::NavigationFloatItem(0x81998c8)
Time elapsed: 107 ms
Use workaround:  0
loadMapTheme "earth/citylights/citylights.dgml"
loadMapTheme "earth/bluemarble/bluemarble.dgml"
MarbleControlBox (sort): Time elapsed: 0 ms
QAbstractItemView::setSelectionModel() failed: Trying to set a selection model, which works on a different model than the view.
QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: No such file or directory
QFileSystemWatcher: failed to add paths: /home/rkrell/.marble/data/maps
marble(9269): Attempt to use QAction "show_crosshairs" with KXMLGUIFactory!
QSocketNotifier: Invalid socket 19 and type 'Read', disabling...
KCrash: Application 'marble' crashing...
sock_file=/home/rkrell/.kde4/socket-rkrell/kdeinit4__0
Comment 4 Torsten Rahn 2009-02-09 11:09:10 UTC
#6  QObject::connect (sender=0x8f746c0, signal=0x81cdd51 "lmbRequest(int,int)",
receiver=0x1, method=0xb7f2d28b "1showLmbMenu( int, int )",

No, this one looks more like a bug due to lazy initialization of the popup menu. We've fixed a crash resulting from the lazy init of the popup menu during the weekend. Could you check latest Marble (from Sunday, there should be new SUSE packages available) and tell me whether the issue is still there? 
Comment 5 René Krell 2009-02-09 11:24:30 UTC
The latest packages I use from the repository
download.opensuse.org/repositories/KDE:/KDE4:/Factory:/Desktop/openSUSE_11.1:
---
Name        : kde4-marble                  Relocations: (not relocatable)
Version     : 4.2.0                             Vendor: openSUSE Build Service
Release     : 47.1                          Build Date: Mon 09 Feb 2009 03:05:21 AM CET
Install Date: Mon 09 Feb 2009 09:57:48 AM CET      Build Host: build15
---
Name        : kde4-marble-data             Relocations: (not relocatable)
Version     : 4.2.0                             Vendor: openSUSE Build Service
Release     : 47.1                          Build Date: Mon 09 Feb 2009 02:25:12 AM CET
Install Date: Mon 09 Feb 2009 09:38:40 AM CET      Build Host: build14

Using this packages I reported the crash initially, no newer packages can be found at the moment.
Comment 6 René Krell 2009-02-09 11:26:41 UTC
See also the according SuSE/Novell BugZilla issue:
https://bugzilla.novell.com/show_bug.cgi?id=473807
Comment 7 Torsten Rahn 2009-02-09 11:54:53 UTC
Well, I just know that Stephan was recreating packages during the weekend. Is it possible for you to compile Marble from KDE 4.2 branch with DEBUG info, check whether the crash is still there and if so repost the backtrace? The current backtrace doesn't have any line numbers for the Marble source code, so it would be a bit like sooth saying to figure out where the crash happens ...
Comment 8 René Krell 2009-02-09 12:57:34 UTC
Actually not, because I cannot replicate the KDE SVN through our firewall.
I'd rather asked to provide some debuginfo package for kde4-marble for the distribution repository, which is missing at the moment.
Comment 9 Torsten Rahn 2009-02-09 14:16:48 UTC
SVN commit 923792 by rahn:


BUG: 183754
- Backport missing line from previous backport SVN commit 922866 
  Should fix the crash for real this time.



 M  +1 -0      MarbleWidget.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=923792
Comment 10 Torsten Rahn 2009-02-09 14:19:39 UTC
For whatever reason I missed the fact that the svnbackport script had omitted a single line that would initialize a pointer when I backported the fix for the same issue from trunk.

This explains why the crash still occured in KDE 4.2 branch. 

Please wait for SUSE to rebuild the packages and please confirm that this issue has been fixed.

Thanks for your feedback!

Comment 11 René Krell 2009-02-10 10:36:11 UTC
Works for me in the latest KDE 4.2 update for OpenSUSE 11.1 using the following packages:
- kde4-marble-4.2.0-48.1
- kde4-marble-data-4.2.0-48.1

Thanks to you and the OpenSUSE guys!