Summary: | gpsd position provider plugin causes plasma to crash when it is unloaded | ||
---|---|---|---|
Product: | [Applications] marble | Reporter: | Mark Purcell <msp> |
Component: | general | Assignee: | 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
Sound like crash is in Marble, not digiKam... Gilles Caulier A backport of this patch [1] should fix it. [1] http://reviewboard.kde.org/r/3794/ 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.
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 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 Should be fixed, please reopen if not. 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 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 Created attachment 43445 [details]
New crash information added by DrKonqi
Crash on exit.
digikam 1.2.0 KDE SC 4.4.3
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 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 on attachment 43022 [details]
marble-blocking-gps-backport-4.4.diff
Sorry for the bugspam.
*** Bug 246640 has been marked as a duplicate of this bug. *** *** Bug 270020 has been marked as a duplicate of this bug. *** *** Bug 255562 has been marked as a duplicate of this bug. *** *** Bug 233360 has been marked as a duplicate of this bug. *** *** Bug 241810 has been marked as a duplicate of this bug. *** Please anyone provide a backtrace with debug symbols also from Marble. |