Bug 234311

Summary: gpsd position provider plugin causes plasma to crash when it is unloaded
Product: [Applications] marble Reporter: Mark Purcell <msp>
Component: generalAssignee: marble-bugs
Status: RESOLVED BACKTRACE    
Severity: crash CC: caulier.gilles, iamsunilk, landry.minoza, michel.franckart, msp, news, nienhueser, shentey, yvwatier
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian unstable   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: marble-blocking-gps-backport-4.4.diff
New crash information added by DrKonqi

Description Mark Purcell 2010-04-14 06:38:15 UTC
Application: digikam (1.2.0)
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-3-amd64 x86_64
Distribution: Debian GNU/Linux unstable (sid)

-- Information about the crash:
Consistently digikam crashes on exit.

Kernel: Linux 2.6.32-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages digikam depends on:
ii  kdebase-runtime     4:4.4.2-1            runtime components from the offici
ii  kdepim-runtime      4:4.4.2-1            Runtime components for akonadi-kde
ii  libc6               2.11-0exp6           Embedded GNU C Library: Shared lib
ii  libgcc1             1:4.4.3-7            GCC support library
ii  libglib2.0-0        2.24.0-1             The GLib library of C routines
ii  libgphoto2-2        2.4.6-1              gphoto2 digital camera library
ii  libgphoto2-port0    2.4.6-1              gphoto2 digital camera port librar
ii  libjasper1          1.900.1-7            The JasPer JPEG-2000 runtime libra
ii  libjpeg62           6b-16.1              The Independent JPEG Group's JPEG
ii  libkabc4            4:4.4.2-1            library for handling address book
ii  libkdcraw8          4:4.4.2-1            RAW picture decoding C++ library (
ii  libkde3support4     4:4.4.2-1            the KDE 3 Support Library for the
ii  libkdecore5         4:4.4.2-1            the KDE Platform Core Library
ii  libkdeui5           4:4.4.2-1            the KDE Platform User Interface Li
ii  libkexiv2-7         4:4.3.4-1+b1         Qt like interface for the libexiv2
ii  libkfile4           4:4.4.2-1            the File Selection Dialog Library
ii  libkhtml5           4:4.4.2-1            the KHTML Web Content Rendering En
ii  libkio5             4:4.4.2-1            the Network-enabled File Managemen
ii  libkipi7            4:4.4.2-1            library for apps that want to use
ii  libkjsapi4          4:4.4.2-1            the KJS API Library for the KDE De
ii  libknotifyconfig4   4:4.4.2-1            library for configuring KDE Notifi
ii  libkparts4          4:4.4.2-1            the Framework for the KDE Platform
ii  libkresources4      4:4.4.2-1            the KDE Resource framework library
ii  libkutils4          4:4.4.2-1            various utility classes for the KD
ii  liblcms1            1.18.dfsg-1.2+b1     Color management library
ii  liblensfun0         0.2.4-1              Lens Correction library - Runtime
ii  liblqr-1-0          0.4.1-1              converts plain array images into m
ii  libmarblewidget4    4:4.4.2-1            Marble globe widget library
ii  libnepomuk4         4:4.4.2-1            the Nepomuk Meta Data Library
ii  libphonon4          4:4.6.0really4.4.0-1 the core library of the Phonon mul
ii  libpng12-0          1.2.43-1             PNG library - runtime
ii  libqt4-dbus         4:4.6.2-3            Qt 4 D-Bus module
ii  libqt4-network      4:4.6.2-3            Qt 4 network module
ii  libqt4-qt3support   4:4.6.2-3            Qt 3 compatibility library for Qt
ii  libqt4-sql          4:4.6.2-3            Qt 4 SQL module
ii  libqt4-sql-sqlite   4:4.6.2-3            Qt 4 SQLite 3 database driver
ii  libqt4-svg          4:4.6.2-3            Qt 4 SVG module
ii  libqt4-xml          4:4.6.2-3            Qt 4 XML module
ii  libqtcore4          4:4.6.2-3            Qt 4 core module
ii  libqtgui4           4:4.6.2-3            Qt 4 GUI module
ii  libsolid4           4:4.4.2-1            Solid Library for KDE Platform
ii  libsoprano4         2.4.1+dfsg.1-1       libraries for the Soprano RDF fram
ii  libstdc++6          4.4.3-7              The GNU Standard C++ Library v3
ii  libtiff4            3.9.2-3+b1           Tag Image File Format (TIFF) libra
ii  libx11-6            2:1.3.3-3            X11 client-side library
ii  libxau6             1:1.0.5-2            X11 authorisation library
ii  libxdmcp6           1:1.0.3-2            X11 Display Manager Control Protoc
ii  phonon              4:4.5.3-4            Qt 4 Phonon module metapackage
ii  zlib1g              1:1.2.3.5.dfsg-1     compression library - runtime

Versions of packages digikam recommends:
ii  iceweasel [www-browser]       3.6.3-1    Web browser based on Firefox
ii  kipi-plugins                  1.2.0-1    image manipulation/handling plugin
ii  konqueror [www-browser]       4:4.4.2-1  KDE 4's advanced file manager, web


The crash can be reproduced every time.

 -- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fa3b6bb17c0 (LWP 3617))]

Thread 16 (Thread 0x7fa3a0a5f710 (LWP 3618)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fa3b021858b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0xf48b50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xf48b50, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00000000006e205b in Digikam::ScanController::run (this=0xdd2150) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/digikam/scancontroller.cpp:516
#4  0x00007fa3b02175c5 in QThreadPrivate::start (arg=0xdd2150) at thread/qthread_unix.cpp:248
#5  0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7fa39ce85710 (LWP 3620)):
#0  0x00007fa3af4c9283 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fa3ac177299 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fa3ac1776ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007fa3b03353c6 in QEventDispatcherGlib::processEvents (this=0xf186b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#4  0x00007fa3b030a842 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007fa3b030ac1c in QEventLoop::exec (this=0x7fa39ce84dc0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007fa3b0214bc9 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007fa3b02175c5 in QThreadPrivate::start (arg=0xe4b820) at thread/qthread_unix.cpp:248
#8  0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7fa397fff710 (LWP 3621)):
#0  __pthread_mutex_lock (mutex=0x10753a8) at pthread_mutex_lock.c:54
#1  0x00007fa3ac176927 in g_main_context_check () from /lib/libglib-2.0.so.0
#2  0x00007fa3ac1772b3 in ?? () from /lib/libglib-2.0.so.0
#3  0x00007fa3ac1776ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x00007fa3b03353c6 in QEventDispatcherGlib::processEvents (this=0x10762a0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#5  0x00007fa3b030a842 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007fa3b030ac1c in QEventLoop::exec (this=0x7fa397ffedc0, flags=) at kernel/qeventloop.cpp:201
#7  0x00007fa3b0214bc9 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#8  0x00007fa3b02175c5 in QThreadPrivate::start (arg=0xe45cd0) at thread/qthread_unix.cpp:248
#9  0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7fa3977fe710 (LWP 3622)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fa3b021858b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x10993b8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x10993b8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fa3b3bd44a2 in Digikam::LoadSaveThread::run (this=0x10993a0) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#4  0x00007fa3b02175c5 in QThreadPrivate::start (arg=0x10993a0) at thread/qthread_unix.cpp:248
#5  0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7fa396ffd710 (LWP 3623)):
#0  0xffffffffff600132 in ?? ()
#1  0x00007fff5f3ff6fb in ?? ()
#2  0x00007fa3a7ea8e7f in *__GI_clock_gettime (clock_id=-1761621232, tp=0x7fa396ffcb10) at ../sysdeps/unix/clock_gettime.c:100
#3  0x00007fa3b03327ff in qt_gettime () at kernel/qcore_unix.cpp:111
#4  0x00007fa3b03375ad in QTimerInfoList::updateCurrentTime (this=0x7fa396ffcb10) at kernel/qeventdispatcher_unix.cpp:340
#5  0x00007fa3b03375d5 in QTimerInfoList::timerWait (this=0x7fa396ffcb10, tm=...) at kernel/qeventdispatcher_unix.cpp:443
#6  0x00007fa3b03355bd in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x7fa396ffcc2c) at kernel/qeventdispatcher_glib.cpp:136
#7  0x00007fa3b0335665 in timerSourcePrepare (source=0x7fa396ffcb10, timeout=0x7fa396ffcb10) at kernel/qeventdispatcher_glib.cpp:169
#8  0x00007fa3ac176ca1 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#9  0x00007fa3ac177108 in ?? () from /lib/libglib-2.0.so.0
#10 0x00007fa3ac1776ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#11 0x00007fa3b03353c6 in QEventDispatcherGlib::processEvents (this=0x10f0f00, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#12 0x00007fa3b030a842 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#13 0x00007fa3b030ac1c in QEventLoop::exec (this=0x7fa396ffcdc0, flags=) at kernel/qeventloop.cpp:201
#14 0x00007fa3b0214bc9 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#15 0x00007fa3b02175c5 in QThreadPrivate::start (arg=0x10eb900) at thread/qthread_unix.cpp:248
#16 0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#17 0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#18 0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7fa3967fc710 (LWP 3624)):
#0  0x00007fa3ad5e847e in __pthread_mutex_unlock_usercnt (mutex=0x10f18a8, decr=<value optimized out>) at pthread_mutex_unlock.c:52
#1  0x00007fa3ac176c95 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#2  0x00007fa3ac177108 in ?? () from /lib/libglib-2.0.so.0
#3  0x00007fa3ac1776ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x00007fa3b03353c6 in QEventDispatcherGlib::processEvents (this=0x10f17b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#5  0x00007fa3b030a842 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007fa3b030ac1c in QEventLoop::exec (this=0x7fa3967fbdc0, flags=) at kernel/qeventloop.cpp:201
#7  0x00007fa3b0214bc9 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#8  0x00007fa3b02175c5 in QThreadPrivate::start (arg=0x10effc0) at thread/qthread_unix.cpp:248
#9  0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7fa39017c710 (LWP 3630)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:211
#1  0x00007fa38f4cbf41 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7fa390b88710 (LWP 3631)):
#0  0x00007fa3af4cda93 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fa38f4f4a15 in xine_usec_sleep () from /usr/lib/libxine.so.1
#2  0x00007fa38f4d98e9 in ?? () from /usr/lib/libxine.so.1
#3  0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7fa38a031710 (LWP 3632)):
#0  QTimerInfoList::updateCurrentTime (this=0x1768c60) at kernel/qeventdispatcher_unix.cpp:339
#1  0x00007fa3b03375d5 in QTimerInfoList::timerWait (this=0x1768c60, tm=...) at kernel/qeventdispatcher_unix.cpp:443
#2  0x00007fa3b03355bd in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x7fa38a030bdc) at kernel/qeventdispatcher_glib.cpp:136
#3  0x00007fa3ac176ca1 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#4  0x00007fa3ac177108 in ?? () from /lib/libglib-2.0.so.0
#5  0x00007fa3ac1776ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#6  0x00007fa3b03353c6 in QEventDispatcherGlib::processEvents (this=0x17674e0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#7  0x00007fa3b030a842 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#8  0x00007fa3b030ac1c in QEventLoop::exec (this=0x7fa38a030d70, flags=) at kernel/qeventloop.cpp:201
#9  0x00007fa3b0214bc9 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#10 0x00007fa38f7272ce in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#11 0x00007fa3b02175c5 in QThreadPrivate::start (arg=0x1766f40) at thread/qthread_unix.cpp:248
#12 0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#13 0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#14 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fa389627710 (LWP 3635)):
#0  0x00007fa3af4c801d in read () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fa394bcd055 in ?? () from /usr/lib/libasound.so.2
#2  0x00007fa394bc7ec8 in snd_hctl_handle_events () from /usr/lib/libasound.so.2
#3  0x00007fa394bd1a99 in snd_mixer_handle_events () from /usr/lib/libasound.so.2
#4  0x00007fa38962c846 in ?? () from /usr/lib/xine/plugins/1.28/xineplug_ao_out_alsa.so
#5  0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fa388e26710 (LWP 3636)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fa38f4dca3b in ?? () from /usr/lib/libxine.so.1
#2  0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fa385f46710 (LWP 3638)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fa3b021858b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x189ec08, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x189ec08, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fa3b3bd44a2 in Digikam::LoadSaveThread::run (this=0x189ebf0) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#4  0x00007fa3b02175c5 in QThreadPrivate::start (arg=0x189ebf0) at thread/qthread_unix.cpp:248
#5  0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fa383741710 (LWP 3644)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fa3b021858b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x1c641b8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x1c641b8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fa3b3bd44a2 in Digikam::LoadSaveThread::run (this=0x1c641a0) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#4  0x00007fa3b02175c5 in QThreadPrivate::start (arg=0x1c641a0) at thread/qthread_unix.cpp:248
#5  0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fa383f42710 (LWP 3645)):
#0  0x00007fa3af4c9283 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=603) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fa3ac177299 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fa3ac1776ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007fa3b03353c6 in QEventDispatcherGlib::processEvents (this=0x1d11690, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#4  0x00007fa3b030a842 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007fa3b030ac1c in QEventLoop::exec (this=0x7fa383f41d50, flags=) at kernel/qeventloop.cpp:201
#6  0x00007fa3b0214bc9 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007fa387c0f86d in ?? () from /usr/lib/kde4/plugins/marble/GpsdPositionProviderPlugin.so
#8  0x00007fa3b02175c5 in QThreadPrivate::start (arg=0x1d11ab0) at thread/qthread_unix.cpp:248
#9  0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fa385745710 (LWP 3646)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fa3b021858b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x1cfe508, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x1cfe508, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fa3b3bd44a2 in Digikam::LoadSaveThread::run (this=0x1cfe4f0) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#4  0x00007fa3b02175c5 in QThreadPrivate::start (arg=0x1cfe4f0) at thread/qthread_unix.cpp:248
#5  0x00007fa3ad5e48ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007fa3af4d425d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fa3b6bb17c0 (LWP 3617)):
[KCrash Handler]
#5  0x00007fa3b0321869 in ~QObject (this=<value optimized out>, __in_chrg=<value optimized out>) at kernel/qobject.cpp:952
#6  0x00007fa3b0214e49 in ~QThread (this=0x18d3ae0, __in_chrg=<value optimized out>) at thread/qthread.cpp:411
#7  0x00007fa387c0f8c3 in ?? () from /usr/lib/kde4/plugins/marble/GpsdPositionProviderPlugin.so
#8  0x00007fa387c0f4b1 in ?? () from /usr/lib/kde4/plugins/marble/GpsdPositionProviderPlugin.so
#9  0x00007fa3b031a86c in QObjectPrivate::deleteChildren (this=0x1890900) at kernel/qobject.cpp:1986
#10 0x00007fa3b03218f4 in ~QObject (this=<value optimized out>, __in_chrg=<value optimized out>) at kernel/qobject.cpp:975
#11 0x00007fa3b30fe9f3 in ?? () from /usr/lib/libmarblewidget.so.4
#12 0x00007fa3b031a86c in QObjectPrivate::deleteChildren (this=0x1895350) at kernel/qobject.cpp:1986
#13 0x00007fa3b03218f4 in ~QObject (this=<value optimized out>, __in_chrg=<value optimized out>) at kernel/qobject.cpp:975
#14 0x00007fa3b3103f24 in ?? () from /usr/lib/libmarblewidget.so.4
#15 0x00007fa3b306394a in Marble::MarbleModel::~MarbleModel() () from /usr/lib/libmarblewidget.so.4
#16 0x00007fa3b306912e in Marble::MarbleMap::~MarbleMap() () from /usr/lib/libmarblewidget.so.4
#17 0x00007fa3b305e280 in Marble::MarbleWidget::~MarbleWidget() () from /usr/lib/libmarblewidget.so.4
#18 0x00007fa3b3cdc614 in ~MarbleSubClassWidget (this=0x1887aa0, __in_chrg=<value optimized out>)
    at /home/mark/src/kde-extras/build-area/digikam-1.2.0/obj-x86_64-linux-gnu/digikam/../../libs/imageproperties/markerclusterholder.h:469
#19 0x00007fa3b031a86c in QObjectPrivate::deleteChildren (this=0x1886970) at kernel/qobject.cpp:1986
#20 0x00007fa3b1290995 in ~QWidget (this=0x18861e0, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#21 0x00007fa3b3cd424f in ~WorldMapWidget (this=0x18861e0, __in_chrg=<value optimized out>) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/libs/imageproperties/worldmapwidget.cpp:215
#22 0x00007fa3b031a86c in QObjectPrivate::deleteChildren (this=0x18862d0) at kernel/qobject.cpp:1986
#23 0x00007fa3b1290995 in ~QWidget (this=0x1885b90, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#24 0x00007fa3b3cd1076 in ~ImagePropertiesGPSTab (this=0x1885b90, __in_chrg=<value optimized out>)
    at /home/mark/src/kde-extras/build-area/digikam-1.2.0/libs/imageproperties/imagepropertiesgpstab.cpp:206
#25 0x00007fa3b031a86c in QObjectPrivate::deleteChildren (this=0x17734e0) at kernel/qobject.cpp:1986
#26 0x00007fa3b1290995 in ~QWidget (this=0x110c340, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#27 0x00007fa3b16911d1 in ~QStackedWidget (this=0xcbb800, __in_chrg=<value optimized out>) at widgets/qstackedwidget.cpp:151
#28 0x00007fa3b031a86c in QObjectPrivate::deleteChildren (this=0xf55de0) at kernel/qobject.cpp:1986
#29 0x00007fa3b1290995 in ~QWidget (this=0xe50090, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#30 0x00007fa3b3c6502c in ~SidebarSplitter (this=0xe50090, __in_chrg=<value optimized out>) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/libs/widgets/common/sidebar.cpp:453
#31 0x00007fa3b031a86c in QObjectPrivate::deleteChildren (this=0xfde6a0) at kernel/qobject.cpp:1986
#32 0x00007fa3b1290995 in ~QWidget (this=0x1063240, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#33 0x000000000069b2a7 in ~DigikamView (this=0x1063240, __in_chrg=<value optimized out>) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/digikam/digikamview.cpp:258
#34 0x000000000067b99c in ~DigikamApp (this=0xf68310, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>)
    at /home/mark/src/kde-extras/build-area/digikam-1.2.0/digikam/digikamapp.cpp:293
#35 0x00007fa3b031bb7d in QObject::event (this=0xf68310, e=0x34dc410) at kernel/qobject.cpp:1231
#36 0x00007fa3b128929f in QWidget::event (this=0xf68310, event=0x34dc410) at kernel/qwidget.cpp:8455
#37 0x00007fa3b164af6b in QMainWindow::event (this=0xf68310, event=0x34dc410) at widgets/qmainwindow.cpp:1433
#38 0x00007fa3b22b9ad3 in KXmlGuiWindow::event (this=0xcbb800, ev=0x7fa386746da0) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:131
#39 0x00007fa3b12338fc in QApplicationPrivate::notify_helper (this=0xcb5270, receiver=0xf68310, e=0x34dc410) at kernel/qapplication.cpp:4300
#40 0x00007fa3b1239ddb in QApplication::notify (this=0x7fff5f33db10, receiver=0xf68310, e=0x34dc410) at kernel/qapplication.cpp:4183
#41 0x00007fa3b21a3356 in KApplication::notify (this=0x7fff5f33db10, receiver=0xf68310, event=0x34dc410) at ../../kdeui/kernel/kapplication.cpp:302
#42 0x00007fa3b030bf1c in QCoreApplication::notifyInternal (this=0x7fff5f33db10, receiver=0xf68310, event=0x34dc410) at kernel/qcoreapplication.cpp:704
#43 0x00007fa3b030e697 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0xc7bbc0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#44 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0xc7bbc0) at kernel/qcoreapplication.cpp:1345
#45 0x00007fa3b0335833 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#46 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#47 0x00007fa3ac1736c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#48 0x00007fa3ac177538 in ?? () from /lib/libglib-2.0.so.0
#49 0x00007fa3ac1776ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#50 0x00007fa3b0335373 in QEventDispatcherGlib::processEvents (this=0xc7b2b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#51 0x00007fa3b12e33de in QGuiEventDispatcherGlib::processEvents (this=0xcbb800, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#52 0x00007fa3b030a842 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#53 0x00007fa3b030ac1c in QEventLoop::exec (this=0x7fff5f33da40, flags=) at kernel/qeventloop.cpp:201
#54 0x00007fa3b030e95b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#55 0x000000000077ff3b in main (argc=<value optimized out>, argv=<value optimized out>) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/digikam/main.cpp:193

Reported using DrKonqi
Comment 1 caulier.gilles 2010-04-14 08:59:49 UTC
Sound like crash is in Marble, not digiKam...

Gilles Caulier
Comment 2 Dennis Nienhüser 2010-04-25 11:09:59 UTC
A backport of this patch [1] should fix it.

[1] http://reviewboard.kde.org/r/3794/
Comment 3 Dennis Nienhüser 2010-04-25 11:52:37 UTC
Created attachment 43022 [details]
marble-blocking-gps-backport-4.4.diff

Hi Mark,

attached is a backport of the patch for KDE 4.4. Would be cool if you can test it. If we get it in before Thursday, it will be part of KDE 4.4.3.

Tested behavior without the patch and libgps-dev 2.92 is that Marble shuts down cleanly when GPS data is coming in, but hangs at shutdown if no GPS device is attached.

With the patch applied, Marble should shut down cleanly regardless of the state of any GPS devices. This should also affect the shutdown behavior of digikam.
Comment 4 Dennis Nienhüser 2010-04-28 21:27:05 UTC
SVN commit 1120287 by nienhueser:

Use a non-blocking call to determine if data is available to avoid that the thread cannot be terminated properly when it's blocked by gpsd.
CCBUG: 234311

 M  +7 -5      GpsdConnection.cpp  
 M  +4 -6      GpsdPositionProviderPlugin.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1120287
Comment 5 Dennis Nienhüser 2010-04-28 21:36:19 UTC
SVN commit 1120292 by nienhueser:

Use a non-blocking call to determine if data is available to avoid that the thread cannot be terminated properly when it's blocked by gpsd. Backport of commit 1120287.
CCBUG: 234311


 M  +7 -5      GpsdConnection.cpp  
 M  +4 -6      GpsdPositionProviderPlugin.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1120292
Comment 6 Dennis Nienhüser 2010-05-10 22:56:00 UTC
Should be fixed, please reopen if not.
Comment 7 Mark Purcell 2010-05-10 23:33:42 UTC
Dennis,

The problem is still present with KDE SC 4.4.3/ digikam 1.2.0:

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages digikam depends on:
ii  kdebase-runtime     4:4.4.3-1            runtime components from the offici
ii  kdepim-runtime      4:4.4.3-1            Runtime components for akonadi-kde
ii  libc6               2.10.2-7             Embedded GNU C Library: Shared lib
ii  libgcc1             1:4.4.4-1            GCC support library
ii  libglib2.0-0        2.24.1-1             The GLib library of C routines
ii  libgphoto2-2        2.4.6-1              gphoto2 digital camera library
ii  libgphoto2-port0    2.4.6-1              gphoto2 digital camera port librar
ii  libice6             2:1.0.6-1            X11 Inter-Client Exchange library
ii  libjasper1          1.900.1-7            The JasPer JPEG-2000 runtime libra
ii  libjpeg62           6b-16.1              The Independent JPEG Group's JPEG
ii  libkabc4            4:4.4.3-1            library for handling address book
ii  libkdcraw8          4:4.4.3-1            RAW picture decoding C++ library (
ii  libkde3support4     4:4.4.3-1            the KDE 3 Support Library for the
ii  libkdecore5         4:4.4.3-1            the KDE Platform Core Library
ii  libkdeui5           4:4.4.3-1            the KDE Platform User Interface Li
ii  libkexiv2-8         4:4.4.3-1            Qt like interface for the libexiv2
ii  libkfile4           4:4.4.3-1            the File Selection Dialog Library
ii  libkhtml5           4:4.4.3-1            the KHTML Web Content Rendering En
ii  libkio5             4:4.4.3-1            the Network-enabled File Managemen
ii  libkipi7            4:4.4.3-1            library for apps that want to use
ii  libkjsapi4          4:4.4.3-1            the KJS API Library for the KDE De
ii  libknotifyconfig4   4:4.4.3-1            library for configuring KDE Notifi
ii  libkparts4          4:4.4.3-1            the Framework for the KDE Platform
ii  libkresources4      4:4.4.3-1            the KDE Resource framework library
ii  libkutils4          4:4.4.3-1            various utility classes for the KD
ii  liblcms1            1.18.dfsg-1.2+b1     Color management library
ii  liblensfun0         0.2.5-1              Lens Correction library - Runtime
ii  liblqr-1-0          0.4.1-1              converts plain array images into m
ii  libmarblewidget4    4:4.4.3-1            Marble globe widget library
ii  libnepomuk4         4:4.4.3-1            the Nepomuk Meta Data Library
ii  libphonon4          4:4.6.0really4.4.1-2 the core library of the Phonon mul
ii  libpng12-0          1.2.43-1             PNG library - runtime
ii  libqt4-dbus         4:4.6.2-4            Qt 4 D-Bus module
ii  libqt4-network      4:4.6.2-4            Qt 4 network module
ii  libqt4-qt3support   4:4.6.2-4            Qt 3 compatibility library for Qt
ii  libqt4-sql          4:4.6.2-4            Qt 4 SQL module
ii  libqt4-sql-sqlite   4:4.6.2-4            Qt 4 SQLite 3 database driver
ii  libqt4-svg          4:4.6.2-4            Qt 4 SVG module
ii  libqt4-xml          4:4.6.2-4            Qt 4 XML module
ii  libqtcore4          4:4.6.2-4            Qt 4 core module
ii  libqtgui4           4:4.6.2-4            Qt 4 GUI module
ii  libsm6              2:1.1.1-1            X11 Session Management library
ii  libsolid4           4:4.4.3-1            Solid Library for KDE Platform
ii  libsoprano4         2.4.2+dfsg.1-1       libraries for the Soprano RDF fram
ii  libstdc++6          4.4.4-1              The GNU Standard C++ Library v3
ii  libtiff4            3.9.2-3+b1           Tag Image File Format (TIFF) libra
ii  libx11-6            2:1.3.3-3            X11 client-side library
ii  libxau6             1:1.0.5-2            X11 authorisation library
ii  libxdmcp6           1:1.0.3-2            X11 Display Manager Control Protoc
ii  libxext6            2:1.1.1-3            X11 miscellaneous extension librar
ii  libxft2             2.1.14-2             FreeType-based font drawing librar
ii  libxpm4             1:3.5.8-1            X11 pixmap library
ii  phonon              4:4.6.0really4.4.1-2 metapackage for the Phonon multime
ii  zlib1g              1:1.2.3.4.dfsg-3     compression library - runtime

Versions of packages digikam recommends:
ii  iceweasel [www-browser]       3.6.3-1    Web browser based on Firefox
ii  kipi-plugins                  1.2.0-2    image manipulation/handling plugin
ii  konqueror [www-browser]       4:4.4.3-1  KDE 4's advanced file manager, web
ii  w3m [www-browser]             0.5.2-4    WWW browsable pager with excellent

Versions of packages digikam suggests:
pn  digikam-doc                   <none>     (no description available)

-- no debconf information
Comment 8 Mark Purcell 2010-05-10 23:39:38 UTC
Application: digiKam (digikam), signal: Aborted
__lll_lock_wait_private ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
	in ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
[Current thread is 1 (Thread 0x7f4582b877c0 (LWP 20094))]

Thread 16 (Thread 0x7f456d47e910 (LWP 20095)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f457c1a858b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x15a0c60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x15a0c60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00000000006e205b in Digikam::ScanController::run (this=0x160d640) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/digikam/scancontroller.cpp:516
#4  0x00007f457c1a75c5 in QThreadPrivate::start (arg=0x160d640) at thread/qthread_unix.cpp:248
#5  0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7f4563fff910 (LWP 20099)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f457c1a858b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x17c44e8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x17c44e8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f457fb658b2 in Digikam::LoadSaveThread::run (this=0x17c44d0) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#4  0x00007f457c1a75c5 in QThreadPrivate::start (arg=0x17c44d0) at thread/qthread_unix.cpp:248
#5  0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7f45637fe910 (LWP 20100)):
#0  0x00007f457978ad75 in __pthread_mutex_lock (mutex=0x1907408) at pthread_mutex_lock.c:61
#1  0x00007f4577ad3927 in g_main_context_check () from /lib/libglib-2.0.so.0
#2  0x00007f4577ad42b3 in ?? () from /lib/libglib-2.0.so.0
#3  0x00007f4577ad46ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x00007f457c2c53c6 in QEventDispatcherGlib::processEvents (this=0x18bcfe0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#5  0x00007f457c29a842 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007f457c29ac1c in QEventLoop::exec (this=0x7f45637fdfd0, flags=) at kernel/qeventloop.cpp:201
#7  0x00007f457c1a4bc9 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#8  0x00007f457c1a75c5 in QThreadPrivate::start (arg=0x184a5b0) at thread/qthread_unix.cpp:248
#9  0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7f4562ffd910 (LWP 20101)):
#0  0x00007f457b463633 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f4577ad4299 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f4577ad46ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f457c2c53c6 in QEventDispatcherGlib::processEvents (this=0x18d3530, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#4  0x00007f457c29a842 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f457c29ac1c in QEventLoop::exec (this=0x7f4562ffcfd0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f457c1a4bc9 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007f457c1a75c5 in QThreadPrivate::start (arg=0x18ce4c0) at thread/qthread_unix.cpp:248
#8  0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7f4557ffe910 (LWP 20105)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:220
#1  0x00007f4560cf9f41 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f4560ce4910 (LWP 20106)):
#0  0x00007f457b467e32 in select () from /lib/libc.so.6
#1  0x00007f4560d22a15 in xine_usec_sleep () from /usr/lib/libxine.so.1
#2  0x00007f4560d078e9 in ?? () from /usr/lib/libxine.so.1
#3  0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f455676c910 (LWP 20107)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007f457b41a748 in _L_lock_9464 () from /lib/libc.so.6
#2  0x00007f457b418b31 in *__GI___libc_free (mem=0x7f457b6f2e60) at malloc.c:3736
#3  0x00007f457c2c8e84 in QTimerInfoList::unregisterTimer (this=0x1ec0350, timerId=50331683) at kernel/qeventdispatcher_unix.cpp:500
#4  0x00007f4560f6b89c in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#5  0x00007f457c2ab873 in QObject::event (this=0x238da80, e=0x7f455676bd00) at kernel/qobject.cpp:1212
#6  0x00007f457d1c38fc in QApplicationPrivate::notify_helper (this=0x14b3750, receiver=0x238da80, e=0x7f455676bd00) at kernel/qapplication.cpp:4300
#7  0x00007f457d1c9ddb in QApplication::notify (this=0x7fff7b8cfbe0, receiver=0x238da80, e=0x7f455676bd00) at kernel/qapplication.cpp:4183
#8  0x00007f457e133366 in KApplication::notify (this=0x7fff7b8cfbe0, receiver=0x238da80, event=0x7f455676bd00) at ../../kdeui/kernel/kapplication.cpp:302
#9  0x00007f457c29bf1c in QCoreApplication::notifyInternal (this=0x7fff7b8cfbe0, receiver=0x238da80, event=0x7f455676bd00) at kernel/qcoreapplication.cpp:704
#10 0x00007f457c2c8a82 in QCoreApplication::sendEvent (this=0x1ec0350) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#11 QTimerInfoList::activateTimers (this=0x1ec0350) at kernel/qeventdispatcher_unix.cpp:603
#12 0x00007f457c2c56a8 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#13 idleTimerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:231
#14 0x00007f4577ad06c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#15 0x00007f4577ad4538 in ?? () from /lib/libglib-2.0.so.0
#16 0x00007f4577ad46ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#17 0x00007f457c2c53c6 in QEventDispatcherGlib::processEvents (this=0x1ebf840, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#18 0x00007f457c29a842 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#19 0x00007f457c29ac1c in QEventLoop::exec (this=0x7f455676bf70, flags=) at kernel/qeventloop.cpp:201
#20 0x00007f457c1a4bc9 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#21 0x00007f4560f55400 in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#22 0x00007f457c1a75c5 in QThreadPrivate::start (arg=0x1ebf2a0) at thread/qthread_unix.cpp:248
#23 0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#24 0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#25 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f4555d62910 (LWP 20110)):
#0  0x00007f457b463633 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=333) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f4555d67805 in ?? () from /usr/lib/xine/plugins/1.28/xineplug_ao_out_alsa.so
#2  0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f4555561910 (LWP 20111)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f4560d0aa3b in ?? () from /usr/lib/libxine.so.1
#2  0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f45526ba910 (LWP 20113)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f457c1a858b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x200c508, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x200c508, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f457fb658b2 in Digikam::LoadSaveThread::run (this=0x200c4f0) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#4  0x00007f457c1a75c5 in QThreadPrivate::start (arg=0x200c4f0) at thread/qthread_unix.cpp:248
#5  0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f4551eb9910 (LWP 20119)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f457c1a858b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x235db08, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x235db08, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f457fb658b2 in Digikam::LoadSaveThread::run (this=0x235daf0) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#4  0x00007f457c1a75c5 in QThreadPrivate::start (arg=0x235daf0) at thread/qthread_unix.cpp:248
#5  0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f454feb5910 (LWP 20120)):
[KCrash Handler]
#5  0x00007f457b3d4f05 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007f457b3d7d10 in *__GI_abort () at abort.c:88
#7  0x00007f457b40a6a5 in __libc_message (do_abort=2, 
    fmt=0x7f454feb4810 "kde4/kipiplugin_timeadjust.so\n7f4540672000-7f4540872000 ---p 0001b000 08:03 246475", ' ' <repeats 21 times>, "/usr/lib/kde4/kipiplugin_timeadjust.so\n7f4540872000-7f4540874000 rw-p 0001b000 08:03 246475      "...) at ../sysdeps/unix/sysv/linux/libc_fatal.c:173
#8  0x00007f457b413e96 in malloc_printerr (action=3, str=0x7f457b4be798 "double free or corruption (!prev)", ptr=<value optimized out>) at malloc.c:6239
#9  0x00007f457b418b3c in *__GI___libc_free (mem=<value optimized out>) at malloc.c:3738
#10 0x00007f455413cff3 in gps_close () from /usr/lib/libgps.so.19
#11 0x00007f45541403a0 in gpsmm::~gpsmm() () from /usr/lib/libgps.so.19
#12 0x00007f455434a850 in ?? () from /usr/lib/kde4/plugins/marble/GpsdPositionProviderPlugin.so
#13 0x00007f457c1a75c5 in QThreadPrivate::start (arg=0x2416520) at thread/qthread_unix.cpp:248
#14 0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#15 0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#16 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f45506b6910 (LWP 20121)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f457c1a858b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x240e528, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x240e528, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f457fb658b2 in Digikam::LoadSaveThread::run (this=0x240e510) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#4  0x00007f457c1a75c5 in QThreadPrivate::start (arg=0x240e510) at thread/qthread_unix.cpp:248
#5  0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f454deb1910 (LWP 20130)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007f457b41a748 in _L_lock_9464 () from /lib/libc.so.6
#2  0x00007f457b418b31 in *__GI___libc_free (mem=0x7f457b6f2e60) at malloc.c:3736
#3  0x00007f4577acffba in ?? () from /lib/libglib-2.0.so.0
#4  0x00007f457c2c5e73 in ~QEventDispatcherGlib (this=0x3a5ad40, __in_chrg=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:366
#5  0x00007f457c1a71b4 in QThreadPrivate::finish (arg=<value optimized out>) at thread/qthread_unix.cpp:284
#6  0x00007f457c1a75cd in ~__pthread_cleanup_class (arg=0x2321be0) at /usr/include/pthread.h:535
#7  QThreadPrivate::start (arg=0x2321be0) at thread/qthread_unix.cpp:253
#8  0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f45516b8910 (LWP 20131)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f457c1a858b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x238b468, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x238b468, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f457fb658b2 in Digikam::LoadSaveThread::run (this=0x238b450) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#4  0x00007f457c1a75c5 in QThreadPrivate::start (arg=0x238b450) at thread/qthread_unix.cpp:248
#5  0x00007f45797887aa in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f457b46e59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f4582b877c0 (LWP 20094)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007f457b41a748 in _L_lock_9464 () from /lib/libc.so.6
#2  0x00007f457b418b31 in *__GI___libc_free (mem=0x7f457b6f2e60) at malloc.c:3736
#3  0x00007f455434a475 in ?? () from /usr/lib/kde4/plugins/marble/GpsdPositionProviderPlugin.so
#4  0x00007f457c2aa86c in QObjectPrivate::deleteChildren (this=0x23fabd0) at kernel/qobject.cpp:1986
#5  0x00007f457c2b18f4 in ~QObject (this=<value optimized out>, __in_chrg=<value optimized out>) at kernel/qobject.cpp:975
#6  0x00007f457f08f9f3 in ?? () from /usr/lib/libmarblewidget.so.4
#7  0x00007f457c2aa86c in QObjectPrivate::deleteChildren (this=0x23fa6a0) at kernel/qobject.cpp:1986
#8  0x00007f457c2b18f4 in ~QObject (this=<value optimized out>, __in_chrg=<value optimized out>) at kernel/qobject.cpp:975
#9  0x00007f457f094f24 in ?? () from /usr/lib/libmarblewidget.so.4
#10 0x00007f457eff494a in Marble::MarbleModel::~MarbleModel() () from /usr/lib/libmarblewidget.so.4
#11 0x00007f457effa12e in Marble::MarbleMap::~MarbleMap() () from /usr/lib/libmarblewidget.so.4
#12 0x00007f457efef280 in Marble::MarbleWidget::~MarbleWidget() () from /usr/lib/libmarblewidget.so.4
#13 0x00007f457fc6e1b4 in ~MarbleSubClassWidget (this=0x23f6710, __in_chrg=<value optimized out>)
    at /home/mark/src/kde-extras/build-area/digikam-1.2.0/obj-x86_64-linux-gnu/digikam/../../libs/imageproperties/markerclusterholder.h:469
#14 0x00007f457c2aa86c in QObjectPrivate::deleteChildren (this=0x23f56c0) at kernel/qobject.cpp:1986
#15 0x00007f457d220995 in ~QWidget (this=0x23f5680, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#16 0x0000000000593bf3 in ~GPSSearchWidget (this=0x23f5680, __in_chrg=<value optimized out>) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/utilities/gpssearch/gpssearchwidget.cpp:79
#17 0x00007f457c2aa86c in QObjectPrivate::deleteChildren (this=0x23f5130) at kernel/qobject.cpp:1986
#18 0x00007f457d220995 in ~QWidget (this=0x23f5100, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#19 0x00007f457d5bf9b1 in ~QFrame (this=0x7f457b6f2e60, __in_chrg=<value optimized out>) at widgets/qframe.cpp:242
#20 0x00007f457c2aa86c in QObjectPrivate::deleteChildren (this=0x24b9600) at kernel/qobject.cpp:1986
#21 0x00007f457d220995 in ~QWidget (this=0x24b9530, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#22 0x00007f457d5bf9b1 in ~QFrame (this=0x7f457b6f2e60, __in_chrg=<value optimized out>) at widgets/qframe.cpp:242
#23 0x00007f457c2aa86c in QObjectPrivate::deleteChildren (this=0x24b92f0) at kernel/qobject.cpp:1986
#24 0x00007f457d220995 in ~QWidget (this=0x24b8f00, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#25 0x00007f457d61f940 in ~QSplitter (this=0x24b8f00, __in_chrg=<value optimized out>) at widgets/qsplitter.cpp:1029
#26 0x00007f457c2aa86c in QObjectPrivate::deleteChildren (this=0x23f4b10) at kernel/qobject.cpp:1986
#27 0x00007f457d220995 in ~QWidget (this=0x23f3f90, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#28 0x000000000058fbd7 in ~GPSSearchView (this=0x23f3f90, __in_chrg=<value optimized out>) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/utilities/gpssearch/gpssearchview.cpp:287
#29 0x00007f457c2aa86c in QObjectPrivate::deleteChildren (this=0x23f4890) at kernel/qobject.cpp:1986
#30 0x00007f457d220995 in ~QWidget (this=0x2357e10, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#31 0x00000000006c75cc in ~GPSSearchSideBarWidget (this=0x2357e10, __in_chrg=<value optimized out>) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/digikam/leftsidebarwidgets.cpp:1052
#32 0x00007f457c2aa86c in QObjectPrivate::deleteChildren (this=0x1875e10) at kernel/qobject.cpp:1986
#33 0x00007f457d220995 in ~QWidget (this=0x186c4f0, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#34 0x00007f457d6211d1 in ~QStackedWidget (this=0x7f457b6f2e60, __in_chrg=<value optimized out>) at widgets/qstackedwidget.cpp:151
#35 0x00007f457c2aa86c in QObjectPrivate::deleteChildren (this=0x17c5a80) at kernel/qobject.cpp:1986
#36 0x00007f457d220995 in ~QWidget (this=0x17a4dd0, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#37 0x00007f457fbf643c in ~SidebarSplitter (this=0x17a4dd0, __in_chrg=<value optimized out>) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/libs/widgets/common/sidebar.cpp:453
#38 0x00007f457c2aa86c in QObjectPrivate::deleteChildren (this=0x18629a0) at kernel/qobject.cpp:1986
#39 0x00007f457d220995 in ~QWidget (this=0x1880c30, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1469
#40 0x000000000069b2a7 in ~DigikamView (this=0x1880c30, __in_chrg=<value optimized out>) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/digikam/digikamview.cpp:258
#41 0x000000000067b99c in ~DigikamApp (this=0x1712470, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>)
    at /home/mark/src/kde-extras/build-area/digikam-1.2.0/digikam/digikamapp.cpp:293
#42 0x00007f457c2abb7d in QObject::event (this=0x1712470, e=0x51805a0) at kernel/qobject.cpp:1231
#43 0x00007f457d21929f in QWidget::event (this=0x1712470, event=0x51805a0) at kernel/qwidget.cpp:8455
#44 0x00007f457d5daf6b in QMainWindow::event (this=0x1712470, event=0x51805a0) at widgets/qmainwindow.cpp:1433
#45 0x00007f457e249b63 in KXmlGuiWindow::event (this=0x7f457b6f2e60, ev=0x80) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:131
#46 0x00007f457d1c38fc in QApplicationPrivate::notify_helper (this=0x14b3750, receiver=0x1712470, e=0x51805a0) at kernel/qapplication.cpp:4300
#47 0x00007f457d1c9ddb in QApplication::notify (this=0x7fff7b8cfbe0, receiver=0x1712470, e=0x51805a0) at kernel/qapplication.cpp:4183
#48 0x00007f457e133366 in KApplication::notify (this=0x7fff7b8cfbe0, receiver=0x1712470, event=0x51805a0) at ../../kdeui/kernel/kapplication.cpp:302
#49 0x00007f457c29bf1c in QCoreApplication::notifyInternal (this=0x7fff7b8cfbe0, receiver=0x1712470, event=0x51805a0) at kernel/qcoreapplication.cpp:704
#50 0x00007f457c29e697 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x1479bc0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#51 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x1479bc0) at kernel/qcoreapplication.cpp:1345
#52 0x00007f457c2c5833 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#53 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#54 0x00007f4577ad06c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#55 0x00007f4577ad4538 in ?? () from /lib/libglib-2.0.so.0
#56 0x00007f4577ad46ec in g_main_context_iteration () from /lib/libglib-2.0.so.0
#57 0x00007f457c2c5373 in QEventDispatcherGlib::processEvents (this=0x14792b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#58 0x00007f457d2733de in QGuiEventDispatcherGlib::processEvents (this=0x7f457b6f2e60, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#59 0x00007f457c29a842 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#60 0x00007f457c29ac1c in QEventLoop::exec (this=0x7fff7b8cfb10, flags=) at kernel/qeventloop.cpp:201
#61 0x00007f457c29e95b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#62 0x000000000077ff9b in main (argc=<value optimized out>, argv=<value optimized out>) at /home/mark/src/kde-extras/build-area/digikam-1.2.0/digikam/main.cpp:193
Comment 9 Mark Purcell 2010-05-10 23:43:43 UTC
Created attachment 43445 [details]
New crash information added by DrKonqi

Crash on exit.

digikam 1.2.0  KDE SC 4.4.3
Comment 10 Dennis Nienhüser 2010-05-11 19:20:04 UTC
SVN commit 1125543 by nienhueser:

Plugins are shared among QPluginLoader instances. The root components must not be deleted in the PluginManager dtor, otherwise dangling pointers appear in other PluginManager instances (leads to double deletion attempts). This affects at least applications using more than one MarbleWidget (e.g. digikam).
CCBUG: 235238
Backport of commit 1123153.
CCBUG: 234311


 M  +7 -2      PluginManager.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1125543
Comment 11 Dennis Nienhüser 2010-05-11 19:29:07 UTC
Mark, if you have a chance to test this, please report back. From the backtrace I'd say the fix committed above is not directly related, but it may have a side effect.
Comment 12 Dennis Nienhüser 2010-05-11 19:29:40 UTC
Comment on attachment 43022 [details]
marble-blocking-gps-backport-4.4.diff

Sorry for the bugspam.
Comment 13 Dennis Nienhüser 2010-08-08 20:09:18 UTC
*** Bug 246640 has been marked as a duplicate of this bug. ***
Comment 14 Bernhard Beschow 2011-08-19 20:03:14 UTC
*** Bug 270020 has been marked as a duplicate of this bug. ***
Comment 15 Bernhard Beschow 2011-08-19 20:59:54 UTC
*** Bug 255562 has been marked as a duplicate of this bug. ***
Comment 16 Bernhard Beschow 2011-08-20 22:38:54 UTC
*** Bug 233360 has been marked as a duplicate of this bug. ***
Comment 17 Bernhard Beschow 2011-08-20 22:58:42 UTC
*** Bug 241810 has been marked as a duplicate of this bug. ***
Comment 18 Bernhard Beschow 2011-08-20 23:06:05 UTC
Please anyone provide a backtrace with debug symbols also from Marble.