Summary: | digiKam crashes when selecting: Image - Geo-location option | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Kamil Stepinski <kamil.stepinski> |
Component: | Geolocation-Workflow | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | brylie, caulier.gilles, perso258741 |
Priority: | NOR | ||
Version: | 2.5.0 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 2.6.0 | |
Sentry Crash Report: | |||
Attachments: |
a Valgrind output of digiKam crashing when selecting option: "Image - Adjust Time & Date"
New crash information added by DrKonqi New crash information added by DrKonqi |
Description
Kamil Stepinski
2012-01-08 17:02:57 UTC
Crash appear in digiKam image properties. Not sure if libkgeomap is the problem... Gilles Caulier Crash occurs here: void ImagePropertiesSideBarDB::slotFileMetadataChanged(const KUrl& url) { if (url == m_currentURL) Pretty unusual, QUrl is implicitly shared full object. Usually, at some place the object must enter its life invalidly. Where does the QUrl come from? It can be found in KIPI::ImageInfoShared's member variable _url. So first and foremost, I would assume a binary incompatibility between digikam, libkipi and the kipi plugin, or a kipi plugin which uses invalid image infos. Created attachment 67626 [details]
a Valgrind output of digiKam crashing when selecting option: "Image - Adjust Time & Date"
Guys, I'm not sure but the crash below can also be related. digiKam crashes instantly (and every time) when I select option: "Image - Adjust Time & Date" CRASH REPORT: Application: digiKam (digikam), signal: Segmentation fault [Current thread is 1 (Thread 0x7f0e65d33a20 (LWP 12170))] Thread 5 (Thread 0x7f0e4478a700 (LWP 12171)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00007f0e606cd1ab in wait (time=18446744073709551615, this=0x1398ca0) at thread/qwaitcondition_unix.cpp:88 #2 QWaitCondition::wait (this=<optimized out>, mutex=0x1398b48, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160 #3 0x00000000005ca990 in Digikam::ScanController::run (this=0x1353ec0) at /home/emil/Downloads/digikam-2.5.0/core/digikam/database/scancontroller.cpp:647 #4 0x00007f0e606ccd05 in QThreadPrivate::start (arg=0x1353ec0) at thread/qthread_unix.cpp:331 #5 0x00007f0e5a9cdefc in start_thread (arg=0x7f0e4478a700) at pthread_create.c:304 #6 0x00007f0e5f47d89d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #7 0x0000000000000000 in ?? () Thread 4 (Thread 0x7f0e43f89700 (LWP 12172)): #0 0x00007f0e5f471773 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87 #1 0x00007f0e588b4f68 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f0e588b5429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f0e607def3e in QEventDispatcherGlib::processEvents (this=0x1355c40, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424 #4 0x00007f0e607b2cf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #5 0x00007f0e607b2ef7 in QEventLoop::exec (this=0x7f0e43f88b30, flags=...) at kernel/qeventloop.cpp:201 #6 0x00007f0e606ca27f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498 #7 0x00007f0e60795cbf in QInotifyFileSystemWatcherEngine::run (this=0x13878b0) at io/qfilesystemwatcher_inotify.cpp:248 #8 0x00007f0e606ccd05 in QThreadPrivate::start (arg=0x13878b0) at thread/qthread_unix.cpp:331 #9 0x00007f0e5a9cdefc in start_thread (arg=0x7f0e43f89700) at pthread_create.c:304 #10 0x00007f0e5f47d89d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #11 0x0000000000000000 in ?? () Thread 3 (Thread 0x7f0e43788700 (LWP 12174)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00007f0e606cd1ab in wait (time=18446744073709551615, this=0x1520d20) at thread/qwaitcondition_unix.cpp:88 #2 QWaitCondition::wait (this=<optimized out>, mutex=0x1520b38, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160 #3 0x00007f0e635e2927 in Digikam::ParkingThread::run (this=0x1520b20) at /home/emil/Downloads/digikam-2.5.0/core/libs/threads/threadmanager.cpp:119 #4 0x00007f0e606ccd05 in QThreadPrivate::start (arg=0x1520b20) at thread/qthread_unix.cpp:331 #5 0x00007f0e5a9cdefc in start_thread (arg=0x7f0e43788700) at pthread_create.c:304 #6 0x00007f0e5f47d89d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #7 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f0e40a49700 (LWP 12175)): #0 0x00007f0e5f471773 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87 #1 0x00007f0e588b4f68 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f0e588b5429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f0e607def3e in QEventDispatcherGlib::processEvents (this=0x1af4720, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424 #4 0x00007f0e607b2cf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #5 0x00007f0e607b2ef7 in QEventLoop::exec (this=0x7f0e40a48b30, flags=...) at kernel/qeventloop.cpp:201 #6 0x00007f0e606ca27f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498 #7 0x00007f0e60795cbf in QInotifyFileSystemWatcherEngine::run (this=0x1af3b00) at io/qfilesystemwatcher_inotify.cpp:248 #8 0x00007f0e606ccd05 in QThreadPrivate::start (arg=0x1af3b00) at thread/qthread_unix.cpp:331 #9 0x00007f0e5a9cdefc in start_thread (arg=0x7f0e40a49700) at pthread_create.c:304 #10 0x00007f0e5f47d89d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #11 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f0e65d33a20 (LWP 12170)): [KCrash Handler] #6 QDate::isValid (this=0x4) at tools/qdatetime.cpp:329 #7 0x00007f0e606dab50 in QDateTime::isValid (this=<optimized out>) at tools/qdatetime.cpp:2224 #8 0x00007f0e2ad491e5 in KIPITimeAdjustPlugin::TimeAdjustDialog::slotUpdateExample (this=0x7fff8c087cd0) at /home/emil/Downloads/digikam-2.5.0/extra/kipi-plugins/timeadjust/timeadjustdialog.cpp:753 #9 0x00007f0e2ad4c390 in KIPITimeAdjustPlugin::TimeAdjustDialog::readExampleTimestamps (this=0x7fff8c087cd0) at /home/emil/Downloads/digikam-2.5.0/extra/kipi-plugins/timeadjust/timeadjustdialog.cpp:520 #10 0x00007f0e2ad4c798 in KIPITimeAdjustPlugin::TimeAdjustDialog::setImages (this=0x7fff8c087cd0, imageURLs=...) at /home/emil/Downloads/digikam-2.5.0/extra/kipi-plugins/timeadjust/timeadjustdialog.cpp:497 #11 0x00007f0e2ad4726a in Plugin_TimeAdjust::slotActivate (this=0x3394c70) at /home/emil/Downloads/digikam-2.5.0/extra/kipi-plugins/timeadjust/plugin_timeadjust.cpp:96 #12 0x00007f0e2ad47340 in Plugin_TimeAdjust::qt_metacall (this=0x3394c70, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=<optimized out>) at /home/emil/Downloads/digikam-2.5.0/build/extra/kipi-plugins/timeadjust/plugin_timeadjust.moc:74 #13 0x00007f0e607c6eba in QMetaObject::activate (sender=0x1bc3000, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff8c087e70) at kernel/qobject.cpp:3278 #14 0x00007f0e611adb62 in QAction::triggered (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:263 #15 0x00007f0e611add4f in QAction::activate (this=0x1bc3000, event=<optimized out>) at kernel/qaction.cpp:1257 #16 0x00007f0e615e8609 in QMenuPrivate::activateCausedStack (this=0x30a7f10, causedStack=..., action=0x1bc3000, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1005 #17 0x00007f0e615ee252 in QMenuPrivate::activateAction (this=0x30a7f10, action=0x1bc3000, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1097 #18 0x00007f0e61f89cb0 in KMenu::mouseReleaseEvent (this=0x1f72ac0, e=0x7fff8c088880) at ../../kdeui/widgets/kmenu.cpp:464 #19 0x00007f0e61204c9a in QWidget::event (this=0x1f72ac0, event=0x7fff8c088880) at kernel/qwidget.cpp:8295 #20 0x00007f0e615ef7fb in QMenu::event (this=0x1f72ac0, e=0x7fff8c088880) at widgets/qmenu.cpp:2405 #21 0x00007f0e611b4424 in notify_helper (e=0x7fff8c088880, receiver=0x1f72ac0, this=0x11c4930) at kernel/qapplication.cpp:4486 #22 QApplicationPrivate::notify_helper (this=0x11c4930, receiver=0x1f72ac0, e=0x7fff8c088880) at kernel/qapplication.cpp:4458 #23 0x00007f0e611b9c6b in QApplication::notify (this=<optimized out>, receiver=0x1f72ac0, e=0x7fff8c088880) at kernel/qapplication.cpp:4047 #24 0x00007f0e61ec8126 in KApplication::notify (this=0x7fff8c0895f0, receiver=0x1f72ac0, event=0x7fff8c088880) at ../../kdeui/kernel/kapplication.cpp:311 #25 0x00007f0e607b3afc in QCoreApplication::notifyInternal (this=0x7fff8c0895f0, receiver=0x1f72ac0, event=0x7fff8c088880) at kernel/qcoreapplication.cpp:787 #26 0x00007f0e611b53f2 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #27 QApplicationPrivate::sendMouseEvent (receiver=0x1f72ac0, event=0x7fff8c088880, alienWidget=0x0, nativeWidget=0x1f72ac0, buttonDown=0x0, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3146 #28 0x00007f0e61235001 in QETWidget::translateMouseEvent (this=0x1f72ac0, event=<optimized out>) at kernel/qapplication_x11.cpp:4502 #29 0x00007f0e612338be in QApplication::x11ProcessEvent (this=0x7fff8c0895f0, event=0x7fff8c0890a0) at kernel/qapplication_x11.cpp:3690 #30 0x00007f0e6125c412 in x11EventSourceDispatch (s=0x11c8210, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #31 0x00007f0e588b4a5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #32 0x00007f0e588b5258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #33 0x00007f0e588b5429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #34 0x00007f0e607deed6 in QEventDispatcherGlib::processEvents (this=0x1168270, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422 #35 0x00007f0e6125c07e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #36 0x00007f0e607b2cf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #37 0x00007f0e607b2ef7 in QEventLoop::exec (this=0x7fff8c089470, flags=...) at kernel/qeventloop.cpp:201 #38 0x00007f0e607b7789 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064 #39 0x000000000048ba4d in main (argc=5, argv=<optimized out>) at /home/emil/Downloads/digikam-2.5.0/core/digikam/main/main.cpp:232 There is no reason to see a crash like this. Sound like a binary incompatibility between digiKam, kipi-plugins, and libkipi. Check your system... Gilles Caulier Created attachment 70564 [details]
New crash information added by DrKonqi
digikam (2.5.0) on KDE Platform 4.8.2 (4.8.2) "release 3" using Qt 4.8.1
- What I was doing when the application crashed:
I selected an image without geolocation and I clicked on "Image" menu -> "Geo-location"
Reproducible
-- Backtrace (Reduced):
#7 0x00007ff5d47926ed in KIPI::ImageInfo::attributes (this=<optimized out>) at /usr/src/debug/libkipi-4.8.2/libkipi/imageinfo.cpp:102
#8 0x00007ff58de485ab in KIPIGPSSyncPlugin::KipiImageItem::loadImageData (this=0x8a00040, fromInterface=<optimized out>, fromFile=false) at /usr/src/debug/digikam-2.5.0/extra/kipi-plugins/gpssync/kipiimageitem.cpp:201
#9 0x00007ff58de3ec4e in KIPIGPSSyncPlugin::GPSSyncDialog::setImages (this=0x5ca7eb0, images=...) at /usr/src/debug/digikam-2.5.0/extra/kipi-plugins/gpssync/gpssyncdialog.cpp:585
#10 0x00007ff58de43ffe in Plugin_GPSSync::slotGPSSync (this=0x30bf6f0) at /usr/src/debug/digikam-2.5.0/extra/kipi-plugins/gpssync/plugin_gpssync.cpp:107
#11 0x00007ff58de440d0 in Plugin_GPSSync::qt_metacall (this=0x30bf6f0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/digikam-2.5.0/build/extra/kipi-plugins/gpssync/plugin_gpssync.moc:74
Created attachment 70979 [details]
New crash information added by DrKonqi
digikam (2.1.1) on KDE Platform 4.8.2 (4.8.2) using Qt 4.8.1
- What I was doing when the application crashed: I am geo-tagging images from the thumbnail view.
I selected an image from the thumbnail view and clicked Image >> Geo-location.
-- Backtrace (Reduced):
#6 QUrlPrivate::parse (this=0x7fdb121a39c8, parseOptions=QUrlPrivate::ParseAndSet) at io/qurl.cpp:3822
#7 0x00007fdb0cb741da in QUrl::operator== (this=0x7fff21ec8608, url=...) at io/qurl.cpp:6038
#8 0x0000000000499c6d in Digikam::ImagePropertiesSideBarDB::slotFileMetadataChanged (this=0x2285d60, url=<optimized out>) at /build/buildd/digikam-2.1.1/core/libs/imageproperties/imagepropertiessidebardb.cpp:382
#9 0x000000000049c551 in Digikam::ImagePropertiesSideBarDB::qt_metacall (this=0x2285d60, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff21ec8240) at /build/buildd/digikam-2.1.1/obj-x86_64-linux-gnu/core/digikam/imagepropertiessidebardb.moc:118
[...]
#11 0x00000000005c8033 in Digikam::ImageAttributesWatch::signalFileMetadataChanged (this=<optimized out>, _t1=<optimized out>) at /build/buildd/digikam-2.1.1/obj-x86_64-linux-gnu/core/digikam/imageattributeswatch.moc:143
I've upgraded to Kubuntu 12.04, installed digiKam 2.6.0-beta3 (from tarball) and Geotagging works without problems. Shall I close this bug report then? |