Bug 302292

Summary: Crashes when batch editing EXIF data
Product: [Applications] digikam Reporter: Ben Vassie <vassie>
Component: Plugin-Generic-MetadataEditAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: adaptee, ahepas1999, caulier.gilles, f.presel, zmogas
Priority: NOR    
Version: 2.6.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 5.0.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Ben Vassie 2012-06-21 10:23:15 UTC
Application: gwenview (2.8.4)
KDE Platform Version: 4.8.4 (4.8.4)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-26-generic x86_64
Distribution: Ubuntu 12.04 LTS

-- Information about the crash:
- What I was doing when the application crashed:

I selected multiple photos, then clicked Plugins, Images, Metadata, Edit All Metadata, as soon as I click that, Gwenview crashes

The crash can be reproduced every time.

-- Backtrace:
Application: Gwenview (gwenview), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f8f13f6f780 (LWP 5463))]

Thread 4 (Thread 0x7f8efebdd700 (LWP 5465)):
#0  0x00007f8f0d1215b8 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f8f0d0e5b4e in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f8f0d0e5fd6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8f0d0e6164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f8f12dba426 in QEventDispatcherGlib::processEvents (this=0x7f8ef80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f8f12d89c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f8f12d89ed7 in QEventLoop::exec (this=0x7f8efebdcdd0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f8f12c88fa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x00007f8f12d699ff in QInotifyFileSystemWatcherEngine::run (this=0x1dc0750) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007f8f12c8bfcb in QThreadPrivate::start (arg=0x1dc0750) at thread/qthread_unix.cpp:298
#10 0x00007f8f0d7a6e9a in start_thread (arg=0x7f8efebdd700) at pthread_create.c:308
#11 0x00007f8f109414bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f8efdba5700 (LWP 5466)):
#0  0x00007f8f13fac70c in ?? ()
#1  0x00007f8f13fac959 in ?? ()
#2  0x00007f8f0d39715d in __GI_clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:116
#3  0x00007f8f12ce2bb4 in do_gettime (frac=0x7f8efdba4b98, sec=0x7f8efdba4b90) at tools/qelapsedtimer_unix.cpp:123
#4  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#5  0x00007f8f12dbab8d in QTimerInfoList::updateCurrentTime (this=0x7f8ef0002660) at kernel/qeventdispatcher_unix.cpp:343
#6  0x00007f8f12dbaec3 in QTimerInfoList::timerWait (this=0x7f8ef0002660, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#7  0x00007f8f12db997c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7f8efdba4c6c) at kernel/qeventdispatcher_glib.cpp:136
#8  0x00007f8f12db9a25 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#9  0x00007f8f0d0e5846 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007f8f0d0e5f5b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007f8f0d0e6164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007f8f12dba426 in QEventDispatcherGlib::processEvents (this=0x7f8ef00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#13 0x00007f8f12d89c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#14 0x00007f8f12d89ed7 in QEventLoop::exec (this=0x7f8efdba4dd0, flags=...) at kernel/qeventloop.cpp:204
#15 0x00007f8f12c88fa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#16 0x00007f8f12d699ff in QInotifyFileSystemWatcherEngine::run (this=0x1d982b0) at io/qfilesystemwatcher_inotify.cpp:248
#17 0x00007f8f12c8bfcb in QThreadPrivate::start (arg=0x1d982b0) at thread/qthread_unix.cpp:298
#18 0x00007f8f0d7a6e9a in start_thread (arg=0x7f8efdba5700) at pthread_create.c:308
#19 0x00007f8f109414bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#20 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f8ef77fe700 (LWP 5474)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f8f12c8c4db in wait (time=18446744073709551615, this=0x1d2fe00) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x1d3b078, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f8f138aa04e in Gwenview::SemanticInfoThread::run (this=0x1d3b060) at ../../lib/semanticinfo/nepomuksemanticinfobackend.cpp:145
#4  0x00007f8f12c8bfcb in QThreadPrivate::start (arg=0x1d3b060) at thread/qthread_unix.cpp:298
#5  0x00007f8f0d7a6e9a in start_thread (arg=0x7f8ef77fe700) at pthread_create.c:308
#6  0x00007f8f109414bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f8f13f6f780 (LWP 5463)):
[KCrash Handler]
#6  0x0000000000000000 in ?? ()
#7  0x00007f8ef488d617 in setting (name=..., this=<optimized out>) at /build/buildd/digikam-2.6.0/extra/kipi-plugins/common/libkipiplugins/tools/kphostsettings.cpp:68
#8  KIPIPlugins::KPHostSettings::metadataSettings (this=0x7fffc01fbb90) at /build/buildd/digikam-2.6.0/extra/kipi-plugins/common/libkipiplugins/tools/kphostsettings.cpp:153
#9  0x00007f8ef488395d in KIPIPlugins::KPMetadata::init (this=0x7fffc01fbbb0) at /build/buildd/digikam-2.6.0/extra/kipi-plugins/common/libkipiplugins/tools/kpmetadata.cpp:81
#10 0x00007f8ecf60d1c4 in KIPIMetadataEditPlugin::EXIFEditWidget::slotItemChanged (this=0x292e0c0) at /build/buildd/digikam-2.6.0/extra/kipi-plugins/metadataedit/exif/exifeditwidget.cpp:216
#11 0x00007f8ecf60e8e6 in KIPIMetadataEditPlugin::EXIFEditWidget::EXIFEditWidget (this=0x292e0c0, parent=<optimized out>) at /build/buildd/digikam-2.6.0/extra/kipi-plugins/metadataedit/exif/exifeditwidget.cpp:177
#12 0x00007f8ecf60c6ea in KIPIMetadataEditPlugin::MetadataEditDialog::MetadataEditDialog (this=0x28389d0, parent=<optimized out>, urls=...) at /build/buildd/digikam-2.6.0/extra/kipi-plugins/metadataedit/plugin/metadataedit.cpp:99
#13 0x00007f8ecf602559 in KIPIMetadataEditPlugin::Plugin_MetadataEdit::slotEditAllMetadata (this=<optimized out>) at /build/buildd/digikam-2.6.0/extra/kipi-plugins/metadataedit/plugin/plugin_metadataedit.cpp:154
#14 0x00007f8f12d9f281 in QMetaObject::activate (sender=0x26305d0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffc01fc270) at kernel/qobject.cpp:3547
#15 0x00007f8f115a9132 in QAction::triggered (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:277
#16 0x00007f8f115a931f in QAction::activate (this=0x26305d0, event=<optimized out>) at kernel/qaction.cpp:1257
#17 0x00007f8f119fb119 in QMenuPrivate::activateCausedStack (this=0x27017c0, causedStack=..., action=0x26305d0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1028
#18 0x00007f8f11a01272 in QMenuPrivate::activateAction (this=0x27017c0, action=0x26305d0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1120
#19 0x00007f8f123aa2d0 in KMenu::mouseReleaseEvent (this=0x270d610, e=0x7fffc01fce40) at ../../kdeui/widgets/kmenu.cpp:464
#20 0x00007f8f11600144 in QWidget::event (this=0x270d610, event=0x7fffc01fce40) at kernel/qwidget.cpp:8362
#21 0x00007f8f11a0280b in QMenu::event (this=0x270d610, e=0x7fffc01fce40) at widgets/qmenu.cpp:2469
#22 0x00007f8f115af894 in notify_helper (e=0x7fffc01fce40, receiver=0x270d610, this=0x1ba2450) at kernel/qapplication.cpp:4559
#23 QApplicationPrivate::notify_helper (this=0x1ba2450, receiver=0x270d610, e=0x7fffc01fce40) at kernel/qapplication.cpp:4531
#24 0x00007f8f115b50bf in QApplication::notify (this=<optimized out>, receiver=0x270d610, e=0x7fffc01fce40) at kernel/qapplication.cpp:4102
#25 0x00007f8f122e99e6 in KApplication::notify (this=0x7fffc01fdb50, receiver=0x270d610, event=0x7fffc01fce40) at ../../kdeui/kernel/kapplication.cpp:311
#26 0x00007f8f12d8ae9c in QCoreApplication::notifyInternal (this=0x7fffc01fdb50, receiver=0x270d610, event=0x7fffc01fce40) at kernel/qcoreapplication.cpp:876
#27 0x00007f8f115b0862 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#28 QApplicationPrivate::sendMouseEvent (receiver=0x270d610, event=0x7fffc01fce40, alienWidget=0x0, nativeWidget=0x270d610, buttonDown=0x0, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3170
#29 0x00007f8f116302c1 in QETWidget::translateMouseEvent (this=0x270d610, event=<optimized out>) at kernel/qapplication_x11.cpp:4551
#30 0x00007f8f1162ebae in QApplication::x11ProcessEvent (this=0x7fffc01fdb50, event=0x7fffc01fd710) at kernel/qapplication_x11.cpp:3732
#31 0x00007f8f116580d2 in x11EventSourceDispatch (s=0x1ba5410, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#32 0x00007f8f0d0e5d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007f8f0d0e60a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007f8f0d0e6164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007f8f12dba3bf in QEventDispatcherGlib::processEvents (this=0x1b7a770, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#36 0x00007f8f11657d5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#37 0x00007f8f12d89c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#38 0x00007f8f12d89ed7 in QEventLoop::exec (this=0x7fffc01fdab0, flags=...) at kernel/qeventloop.cpp:204
#39 0x00007f8f12d8ef67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#40 0x00000000004269c5 in main (argc=5, argv=0x7fffc01fde78) at ../../app/main.cpp:142

Reported using DrKonqi
Comment 1 caulier.gilles 2012-06-21 10:34:51 UTC
It crash here :

https://projects.kde.org/projects/extragear/graphics/kipi-plugins/repository/revisions/master/entry/common/libkipiplugins/tools/kphostsettings.cpp#L68

... which is probably a broken binary compatibilty  issue between libkipi compiled form digiKAm SC and Gwenview.

Recompile Gwenview with same libkipi than digiKam and try again.

Gilles Caulier
Comment 2 caulier.gilles 2012-08-26 14:20:49 UTC
*** Bug 305811 has been marked as a duplicate of this bug. ***
Comment 3 caulier.gilles 2012-09-19 05:09:26 UTC
*** Bug 306993 has been marked as a duplicate of this bug. ***
Comment 4 Jannis Liapis 2012-10-12 07:23:33 UTC
Created attachment 74490 [details]
New crash information added by DrKonqi

gwenview (2.9.1) on KDE Platform 4.9.2 using Qt 4.8.2

- What I was doing when the application crashed:
The same thing. I will also point out that Gwenview has a major UI or more than that, bug. The export plugins are shown in the batchprocessing tab!

-- Backtrace (Reduced):
#7  QVariant::operator= (this=0x7ffff19d4880, variant=...) at kernel/qvariant.cpp:1797
#8  0x00007f1bbd0e8d8c in setting (name=..., this=<optimized out>) at /build/buildd/digikam-2.6.0/extra/kipi-plugins/common/libkipiplugins/tools/kphostsettings.cpp:68
#9  KIPIPlugins::KPHostSettings::metadataSettings (this=0x7ffff19d4980) at /build/buildd/digikam-2.6.0/extra/kipi-plugins/common/libkipiplugins/tools/kphostsettings.cpp:154
#10 0x00007f1bbd0dec9d in KIPIPlugins::KPMetadata::init (this=0x7ffff19d4a40) at /build/buildd/digikam-2.6.0/extra/kipi-plugins/common/libkipiplugins/tools/kpmetadata.cpp:81
#11 0x00007f1ba9d26f6e in KIPIFacebookPlugin::FbWindow::prepareImageForUpload (this=0x2ff3e00, imgPath=..., isRAW=<optimized out>, caption=...) at /build/buildd/digikam-2.6.0/extra/kipi-plugins/facebook/fbwindow.cpp:691
Comment 5 caulier.gilles 2012-10-18 21:25:39 UTC
*** Bug 308607 has been marked as a duplicate of this bug. ***
Comment 6 caulier.gilles 2015-06-26 13:46:39 UTC
New Kipi-plugins 4.11.0 is available :

https://www.digikam.org/node/740

Can you reproduce the problem with this release ?

Gilles Caulier
Comment 7 caulier.gilles 2015-08-23 14:30:23 UTC
digiKam 4.12.0 is out :

https://www.digikam.org/node/741

We need a fresh feedback using this release please...
Thanks in advance.
Comment 8 caulier.gilles 2016-07-02 16:12:12 UTC
This tool is now moved to digiKam core. Problem is not reproducible.

Gilles Caulier