Application: digikam (2.0.0-beta1) KDE Platform Version: 4.5.1 (KDE 4.5.1) Qt Version: 4.7.0 Operating System: Linux 2.6.35-24-generic i686 Distribution: Ubuntu 10.10 -- Information about the crash: - What I was doing when the application crashed: I closed digikam after playing a bit with non destructive editing and gps location of pictures. The crash does not seem to be reproducible. -- Backtrace: Application: digiKam (digikam), signal: Segmentation fault [Current thread is 1 (Thread 0xb522aac0 (LWP 29314))] Thread 10 (Thread 0xb2fe2b70 (LWP 29315)): #0 0x0033d416 in __kernel_vsyscall () #1 0x005544dc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169 #2 0x054fc9c7 in wait (this=0x9b4e7c4, mutex=0x9b4e7c0, time=4294967295) at thread/qwaitcondition_unix.cpp:88 #3 QWaitCondition::wait (this=0x9b4e7c4, mutex=0x9b4e7c0, time=4294967295) at thread/qwaitcondition_unix.cpp:160 #4 0x082a28de in Digikam::ScanController::run (this=0x9b43a18) at /home/jnarboux/digikam-2.0.0-beta1/core/digikam/scancontroller.cpp:599 #5 0x054fbdf9 in QThreadPrivate::start (arg=0x9b43a18) at thread/qthread_unix.cpp:266 #6 0x0054fcc9 in start_thread (arg=0xb2fe2b70) at pthread_create.c:304 #7 0x019eb69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 9 (Thread 0xb27e1b70 (LWP 29321)): #0 0x0033d416 in __kernel_vsyscall () #1 0x005544dc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169 #2 0x054fc9c7 in wait (this=0x9cd45a0, mutex=0x9cd459c, time=4294967295) at thread/qwaitcondition_unix.cpp:88 #3 QWaitCondition::wait (this=0x9cd45a0, mutex=0x9cd459c, time=4294967295) at thread/qwaitcondition_unix.cpp:160 #4 0x063280d3 in Digikam::ParkingThread::run (this=0x9cd4590) at /home/jnarboux/digikam-2.0.0-beta1/core/libs/threads/threadmanager.cpp:119 #5 0x054fbdf9 in QThreadPrivate::start (arg=0x9cd4590) at thread/qthread_unix.cpp:266 #6 0x0054fcc9 in start_thread (arg=0xb27e1b70) at pthread_create.c:304 #7 0x019eb69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 8 (Thread 0xb0c8fb70 (LWP 29322)): #0 0x0229fe36 in clock_gettime (clock_id=36323316, tp=0xb0c8ee10) at ../sysdeps/unix/clock_gettime.c:100 #1 0x0555750b in do_gettime () at tools/qelapsedtimer_unix.cpp:105 #2 qt_gettime () at tools/qelapsedtimer_unix.cpp:119 #3 0x0562e6e5 in QTimerInfoList::updateCurrentTime (this=0xa1891b4) at kernel/qeventdispatcher_unix.cpp:339 #4 0x0562e72a in QTimerInfoList::timerWait (this=0xa1891b4, tm=...) at kernel/qeventdispatcher_unix.cpp:442 #5 0x0562c7a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb0c8ef3c) at kernel/qeventdispatcher_glib.cpp:136 #6 0x0562c83d in timerSourcePrepare (source=0x0, timeout=0x22a3ff4) at kernel/qeventdispatcher_glib.cpp:169 #7 0x07c10e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0 #8 0x07c11279 in ?? () from /lib/libglib-2.0.so.0 #9 0x07c11848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #10 0x0562c59f in QEventDispatcherGlib::processEvents (this=0xa188f98, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #11 0x055fc609 in QEventLoop::processEvents (this=0xb0c8f110, flags=) at kernel/qeventloop.cpp:149 #12 0x055fca8a in QEventLoop::exec (this=0xb0c8f110, flags=...) at kernel/qeventloop.cpp:201 #13 0x054f8b7e in QThread::exec (this=0xa050548) at thread/qthread.cpp:490 #14 0x055db35b in QInotifyFileSystemWatcherEngine::run (this=0xa050548) at io/qfilesystemwatcher_inotify.cpp:248 #15 0x054fbdf9 in QThreadPrivate::start (arg=0xa050548) at thread/qthread_unix.cpp:266 #16 0x0054fcc9 in start_thread (arg=0xb0c8fb70) at pthread_create.c:304 #17 0x019eb69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 7 (Thread 0xaa45db70 (LWP 29323)): #0 0x0033d416 in __kernel_vsyscall () #1 0x00554884 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:236 #2 0x03b1eb3f in ?? () from /usr/lib/libxine.so.1 Backtrace stopped: previous frame inner to this frame (corrupt stack?) Thread 6 (Thread 0xa9851b70 (LWP 29324)): #0 0x0033d416 in __kernel_vsyscall () #1 0x019e4371 in select () at ../sysdeps/unix/syscall-template.S:82 #2 0x03b4af1c in xine_usec_sleep () from /usr/lib/libxine.so.1 #3 0x00000000 in ?? () Thread 5 (Thread 0xa9050b70 (LWP 29325)): #0 0x005537df in __pthread_mutex_unlock_usercnt (mutex=0xa716ae4, decr=0) at pthread_mutex_unlock.c:77 #1 0x07c10e58 in g_main_context_prepare () from /lib/libglib-2.0.so.0 #2 0x07c11279 in ?? () from /lib/libglib-2.0.so.0 #3 0x07c11848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #4 0x0562c59f in QEventDispatcherGlib::processEvents (this=0xa716a60, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #5 0x055fc609 in QEventLoop::processEvents (this=0xa9050100, flags=) at kernel/qeventloop.cpp:149 #6 0x055fca8a in QEventLoop::exec (this=0xa9050100, flags=...) at kernel/qeventloop.cpp:201 #7 0x054f8b7e in QThread::exec (this=0xa716668) at thread/qthread.cpp:490 #8 0x043c681a in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so #9 0x054fbdf9 in QThreadPrivate::start (arg=0xa716668) at thread/qthread_unix.cpp:266 #10 0x0054fcc9 in start_thread (arg=0xa9050b70) at pthread_create.c:304 #11 0x019eb69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 4 (Thread 0xa884fb70 (LWP 29326)): #0 0x01a7f88a in ?? () from /usr/lib/libpulse.so.0 #1 0x01a96a44 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0 #2 0x01a96b44 in pa_mainloop_run () from /usr/lib/libpulse.so.0 #3 0x01aa8303 in ?? () from /usr/lib/libpulse.so.0 #4 0x02408bd5 in ?? () from /usr/lib/libpulsecommon-0.9.21.so #5 0x0054fcc9 in start_thread (arg=0xa884fb70) at pthread_create.c:304 #6 0x019eb69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 3 (Thread 0xa404db70 (LWP 29327)): #0 0x0033d416 in __kernel_vsyscall () #1 0x005544dc in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169 #2 0x03b30b54 in ?? () from /usr/lib/libxine.so.1 Backtrace stopped: previous frame inner to this frame (corrupt stack?) Thread 2 (Thread 0x97e4ab70 (LWP 29389)): #0 0x0229fe36 in clock_gettime (clock_id=36323316, tp=0x97e49e10) at ../sysdeps/unix/clock_gettime.c:100 #1 0x0555750b in do_gettime () at tools/qelapsedtimer_unix.cpp:105 #2 qt_gettime () at tools/qelapsedtimer_unix.cpp:119 #3 0x0562e6e5 in QTimerInfoList::updateCurrentTime (this=0xd1a2e54) at kernel/qeventdispatcher_unix.cpp:339 #4 0x0562e72a in QTimerInfoList::timerWait (this=0xd1a2e54, tm=...) at kernel/qeventdispatcher_unix.cpp:442 #5 0x0562c7a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x97e49f3c) at kernel/qeventdispatcher_glib.cpp:136 #6 0x0562c83d in timerSourcePrepare (source=0x0, timeout=0x22a3ff4) at kernel/qeventdispatcher_glib.cpp:169 #7 0x07c10e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0 #8 0x07c11279 in ?? () from /lib/libglib-2.0.so.0 #9 0x07c11848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #10 0x0562c59f in QEventDispatcherGlib::processEvents (this=0xc4a5608, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #11 0x055fc609 in QEventLoop::processEvents (this=0x97e4a110, flags=) at kernel/qeventloop.cpp:149 #12 0x055fca8a in QEventLoop::exec (this=0x97e4a110, flags=...) at kernel/qeventloop.cpp:201 #13 0x054f8b7e in QThread::exec (this=0xcafeca0) at thread/qthread.cpp:490 #14 0x055db35b in QInotifyFileSystemWatcherEngine::run (this=0xcafeca0) at io/qfilesystemwatcher_inotify.cpp:248 #15 0x054fbdf9 in QThreadPrivate::start (arg=0xcafeca0) at thread/qthread_unix.cpp:266 #16 0x0054fcc9 in start_thread (arg=0x97e4ab70) at pthread_create.c:304 #17 0x019eb69e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 Thread 1 (Thread 0xb522aac0 (LWP 29314)): [KCrash Handler] #7 Marble::MarbleWidget::centerLongitude (this=0x0) at ../../../../marble/src/lib/MarbleWidget.cpp:768 #8 0x002c4183 in KMap::BackendMarble::getCenter (this=0xabc99d8) at /home/jnarboux/digikam-2.0.0-beta1/extra/libkmap/libkmap/backend-marble.cpp:276 #9 0x002a36c1 in KMap::KMapWidget::getCenter (this=0xabc1110) at /home/jnarboux/digikam-2.0.0-beta1/extra/libkmap/libkmap/kmap_widget.cpp:560 #10 0x002a3acc in KMap::KMapWidget::saveSettingsToGroup (this=0xabc1110, group=0xbf957238) at /home/jnarboux/digikam-2.0.0-beta1/extra/libkmap/libkmap/kmap_widget.cpp:620 #11 0x081a9b6e in Digikam::GPSSearchView::doSaveState (this=0xabc0b18) at /home/jnarboux/digikam-2.0.0-beta1/core/utilities/gpssearch/gpssearchview.cpp:311 #12 0x0637488c in Digikam::StateSavingObject::saveState (this=0xabc0b2c) at /home/jnarboux/digikam-2.0.0-beta1/core/libs/widgets/common/statesavingobject.cpp:203 #13 0x0828bba1 in Digikam::GPSSearchSideBarWidget::doSaveState (this=0xabc0940) at /home/jnarboux/digikam-2.0.0-beta1/core/digikam/leftsidebarwidgets.cpp:1057 #14 0x0637488c in Digikam::StateSavingObject::saveState (this=0xabc0954) at /home/jnarboux/digikam-2.0.0-beta1/core/libs/widgets/common/statesavingobject.cpp:203 #15 0x08254b98 in Digikam::DigikamView::saveViewState (this=0x9cd69f8) at /home/jnarboux/digikam-2.0.0-beta1/core/digikam/digikamview.cpp:624 #16 0x08253016 in Digikam::DigikamView::~DigikamView (this=0x9cd69f8, __in_chrg=<value optimized out>) at /home/jnarboux/digikam-2.0.0-beta1/core/digikam/digikamview.cpp:287 #17 0x0822f07e in Digikam::DigikamApp::~DigikamApp (this=0x9cbe4a8, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /home/jnarboux/digikam-2.0.0-beta1/core/digikam/digikamapp.cpp:307 #18 0x0560e9a5 in qDeleteInEventHandler (o=0x0) at kernel/qobject.cpp:3988 #19 0x056106c8 in QObject::event (this=0x9cbe4a8, e=0xabc99d8) at kernel/qobject.cpp:1202 #20 0x087d3936 in QWidget::event (this=0x9cbe4a8, event=0xc3ac1e8) at kernel/qwidget.cpp:8646 #21 0x08c14917 in QMainWindow::event (this=0x9cbe4a8, event=0xc3ac1e8) at widgets/qmainwindow.cpp:1417 #22 0x015848a4 in KMainWindow::event (this=0x9cbe4a8, ev=0xc3ac1e8) at ../../kdeui/widgets/kmainwindow.cpp:1100 #23 0x015cd14f in KXmlGuiWindow::event (this=0x9cbe4a8, ev=0xc3ac1e8) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:130 #24 0x08775fdc in QApplicationPrivate::notify_helper (this=0x9a53300, receiver=0x9cbe4a8, e=0xc3ac1e8) at kernel/qapplication.cpp:4396 #25 0x0877c0e9 in QApplication::notify (this=0xbf957ef0, receiver=0x9cbe4a8, e=0xc3ac1e8) at kernel/qapplication.cpp:4361 #26 0x0148e68a in KApplication::notify (this=0xbf957ef0, receiver=0x9cbe4a8, event=0xc3ac1e8) at ../../kdeui/kernel/kapplication.cpp:310 #27 0x055fdb3b in QCoreApplication::notifyInternal (this=0xbf957ef0, receiver=0x9cbe4a8, event=0xc3ac1e8) at kernel/qcoreapplication.cpp:732 #28 0x05600d8b in sendEvent (receiver=0x0, event_type=0, data=0x9a203d0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #29 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x9a203d0) at kernel/qcoreapplication.cpp:1373 #30 0x05600f4d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1266 #31 0x0562ca74 in sendPostedEvents (s=0x9a55710) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #32 postEventSourceDispatch (s=0x9a55710) at kernel/qeventdispatcher_glib.cpp:277 #33 0x07c0d855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #34 0x07c11668 in ?? () from /lib/libglib-2.0.so.0 #35 0x07c11848 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #36 0x0562c565 in QEventDispatcherGlib::processEvents (this=0x9a1fe98, flags=...) at kernel/qeventdispatcher_glib.cpp:415 #37 0x08837be5 in QGuiEventDispatcherGlib::processEvents (this=0x9a1fe98, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #38 0x055fc609 in QEventLoop::processEvents (this=0xbf957dc4, flags=) at kernel/qeventloop.cpp:149 #39 0x055fca8a in QEventLoop::exec (this=0xbf957dc4, flags=...) at kernel/qeventloop.cpp:201 #40 0x0560100f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009 #41 0x08774e07 in QApplication::exec () at kernel/qapplication.cpp:3672 #42 0x0830df4b in main (argc=5, argv=0xbf958144) at /home/jnarboux/digikam-2.0.0-beta1/core/digikam/main.cpp:232 Reported using DrKonqi
It's probably marble stuff... Michael ? Gilles Caulier
Created attachment 55550 [details] New crash information added by DrKonqi digikam (2.0.0-beta1) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0 - What I was doing when the application crashed: closing digikam again. Here is another trace. -- Backtrace (Reduced): #7 Marble::MarbleWidget::centerLongitude (this=0x0) at ../../../../marble/src/lib/MarbleWidget.cpp:768 #8 0x00464183 in KMap::BackendMarble::getCenter (this=0x9d6c4f0) at /home/jnarboux/digikam-2.0.0-beta1/extra/libkmap/libkmap/backend-marble.cpp:276 #9 0x004436c1 in KMap::KMapWidget::getCenter (this=0x9d63c78) at /home/jnarboux/digikam-2.0.0-beta1/extra/libkmap/libkmap/kmap_widget.cpp:560 #10 0x00443acc in KMap::KMapWidget::saveSettingsToGroup (this=0x9d63c78, group=0xbfe1ce58) at /home/jnarboux/digikam-2.0.0-beta1/extra/libkmap/libkmap/kmap_widget.cpp:620 #11 0x081a9b6e in Digikam::GPSSearchView::doSaveState (this=0x9d63680) at /home/jnarboux/digikam-2.0.0-beta1/core/utilities/gpssearch/gpssearchview.cpp:311
Julien can you test with this patch ? Index: extra/libkmap/libkmap/kmap_widget.cpp =================================================================== --- extra/libkmap/libkmap/kmap_widget.cpp (révision 1211669) +++ extra/libkmap/libkmap/kmap_widget.cpp (copie de travail) @@ -613,6 +613,9 @@ if (!group) return; + if (!d->marbleWidget) + return; + if (!d->currentBackendName.isEmpty()) { group->writeEntry("Backend", d->currentBackendName);
hum forget this one :/
i can't reproduce but what about this patch ? (it compiles this time :) ) Index: extra/libkmap/libkmap/kmap_widget.cpp =================================================================== --- extra/libkmap/libkmap/kmap_widget.cpp (révision 1211669) +++ extra/libkmap/libkmap/kmap_widget.cpp (copie de travail) @@ -613,6 +613,10 @@ if (!group) return; + + if (!d->currentBackendReady) + return; + if (!d->currentBackendName.isEmpty()) { group->writeEntry("Backend", d->currentBackendName);
SVN commit 1211735 by mghansen: Better checks for ready backends. CCBUG: 262067 M +4 -3 backend-googlemaps.cpp M +8 -3 backend-marble.cpp M +44 -25 kmap_widget.cpp M +3 -2 kmap_widget.h M +2 -2 map-backend.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1211735
Created attachment 55579 [details] Check whether backends are ready Hi Julien, could you please test again with this patch? I also applied it to SVN, in case you use that. Michael
Created attachment 55599 [details] New crash information added by DrKonqi digikam (2.0.0-beta1 (rev.: 1211962)) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0 Here is another trace using current svn. The crash occured while drawing a selection in the map view. Julien -- Backtrace (Reduced): #10 0x0147f305 in __libc_message (do_abort=2, fmt=0x1557280 "*** glibc detected *** %s: %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:189 #11 0x01489501 in malloc_printerr (action=<value optimized out>, str=0x6 <Address 0x6 out of bounds>, ptr=0xd351348) at malloc.c:6283 #12 0x0148c679 in _int_malloc (av=<value optimized out>, bytes=<value optimized out>) at malloc.c:4308 #13 0x0148df33 in __libc_malloc (bytes=104) at malloc.c:3660 [...] #15 0x031e571e in QBrush::init (this=0xd37a288, color=..., style=Qt::SolidPattern) at painting/qbrush.cpp:407
Hi Julien, your new report looks like a different issue, could you please re-file it as a new bug? Did the patch fix the other problem about the crash at shutdown that you reported? Thanks, Michael
I can not reproduce the crash at shutdown. I hope it is fixed. Let's close the bug and we will see. Thanks for the quick fix. Julien
On 01/05/2011 01:06 PM, Julien Narboux wrote: > Thanks for the quick fix. Thanks for extensive testing ;-) Michael