Bug 386044

Summary: Digikam Segfault on Dropbox export
Product: [Applications] digikam Reporter: Brian Bernstein <bernie9998>
Component: Plugin-WebService-DropBoxAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR Keywords: drkonqi
Version First Reported In: 4.12.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 5.8.0
Sentry Crash Report:

Description Brian Bernstein 2017-10-21 22:46:55 UTC
Application: digikam (4.12.0)
KDE Platform Version: 4.14.16
Qt Version: 4.8.7
Operating System: Linux 4.4.0-83-generic x86_64
Distribution: Ubuntu 16.04.3 LTS

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

1. Select all files in an album.
2. Right click on album.
3. In the Export sub-menu, select 'Export to Dropbox. . .'

The segfault happens immediately.

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fedf4ed6b40 (LWP 13120))]

Thread 12 (Thread 0x7fed01ae7700 (LWP 13195)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fedeec863a6 in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x4f0c8d0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x4f0bac0, mutex=mutex@entry=0x4f0bab8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fed9c3c476e in KIPIPlugins::KPRawThumbThread::run (this=0x4f0bf40) at /build/digikam-J9prv3/digikam-4.12.0/extra/kipi-plugins/common/libkipiplugins/tools/kprawthumbthread.cpp:108
#4  0x00007fedeec85e3c in QThreadPrivate::start (arg=0x4f0bf40) at thread/qthread_unix.cpp:352
#5  0x00007fedeb6186ba in start_thread (arg=0x7fed01ae7700) at pthread_create.c:333
#6  0x00007fedee12d3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 11 (Thread 0x7fed9e7fc700 (LWP 13149)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007fedeec86384 in QWaitConditionPrivate::wait (time=30000, this=0x2ec84e0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=this@entry=0x2ec8290, mutex=mutex@entry=0x14269b8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fedeec78fe7 in QThreadPoolThread::run (this=0x2ec8280) at concurrent/qthreadpool.cpp:142
#4  0x00007fedeec85e3c in QThreadPrivate::start (arg=0x2ec8280) at thread/qthread_unix.cpp:352
#5  0x00007fedeb6186ba in start_thread (arg=0x7fed9e7fc700) at pthread_create.c:333
#6  0x00007fedee12d3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7fed9effd700 (LWP 13148)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007fedeec86384 in QWaitConditionPrivate::wait (time=30000, this=0x2ec7fa0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=this@entry=0x2ec7d50, mutex=mutex@entry=0x14269b8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fedeec78fe7 in QThreadPoolThread::run (this=0x2ec7d40) at concurrent/qthreadpool.cpp:142
#4  0x00007fedeec85e3c in QThreadPrivate::start (arg=0x2ec7d40) at thread/qthread_unix.cpp:352
#5  0x00007fedeb6186ba in start_thread (arg=0x7fed9effd700) at pthread_create.c:333
#6  0x00007fedee12d3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7feda57fa700 (LWP 13144)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007fedeec86384 in QWaitConditionPrivate::wait (time=30000, this=0x2ec6aa0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=this@entry=0x2ec6850, mutex=mutex@entry=0x14269b8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fedeec78fe7 in QThreadPoolThread::run (this=0x2ec6840) at concurrent/qthreadpool.cpp:142
#4  0x00007fedeec85e3c in QThreadPrivate::start (arg=0x2ec6840) at thread/qthread_unix.cpp:352
#5  0x00007fedeb6186ba in start_thread (arg=0x7feda57fa700) at pthread_create.c:333
#6  0x00007fedee12d3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7feda77fe700 (LWP 13140)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007fedeec86384 in QWaitConditionPrivate::wait (time=30000, this=0x2ec0ad0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=this@entry=0x2ec0880, mutex=mutex@entry=0x14269b8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fedeec78fe7 in QThreadPoolThread::run (this=0x2ec0870) at concurrent/qthreadpool.cpp:142
#4  0x00007fedeec85e3c in QThreadPrivate::start (arg=0x2ec0870) at thread/qthread_unix.cpp:352
#5  0x00007fedeb6186ba in start_thread (arg=0x7feda77fe700) at pthread_create.c:333
#6  0x00007fedee12d3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7feda7fff700 (LWP 13139)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007fedeec86384 in QWaitConditionPrivate::wait (time=30000, this=0x2ec0590) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=this@entry=0x2ec0340, mutex=mutex@entry=0x14269b8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fedeec78fe7 in QThreadPoolThread::run (this=0x2ec0330) at concurrent/qthreadpool.cpp:142
#4  0x00007fedeec85e3c in QThreadPrivate::start (arg=0x2ec0330) at thread/qthread_unix.cpp:352
#5  0x00007fedeb6186ba in start_thread (arg=0x7feda7fff700) at pthread_create.c:333
#6  0x00007fedee12d3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fedbb125700 (LWP 13127)):
#0  0x00007fedee11d24d in read () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fede7c146f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fede7bd0e74 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fede7bd1330 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fede7bd149c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fedeedc62ce in QEventDispatcherGlib::processEvents (this=0x7fedb40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#6  0x00007fedeed9418f in QEventLoop::processEvents (this=this@entry=0x7fedbb124a40, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fedeed944f5 in QEventLoop::exec (this=this@entry=0x7fedbb124a40, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007fedeec83549 in QThread::exec (this=this@entry=0x19a7610) at thread/qthread.cpp:538
#9  0x00007fedeed74223 in QInotifyFileSystemWatcherEngine::run (this=0x19a7610) at io/qfilesystemwatcher_inotify.cpp:265
#10 0x00007fedeec85e3c in QThreadPrivate::start (arg=0x19a7610) at thread/qthread_unix.cpp:352
#11 0x00007fedeb6186ba in start_thread (arg=0x7fedbb125700) at pthread_create.c:333
#12 0x00007fedee12d3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fedca4ad700 (LWP 13126)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fedeec863a6 in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x1426b50) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x15db0f0, mutex=mutex@entry=0x15db0e8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fedf3007202 in Digikam::ParkingThread::run (this=0x15db0d0) at /build/digikam-J9prv3/digikam-4.12.0/core/libs/threads/threadmanager.cpp:119
#4  0x00007fedeec85e3c in QThreadPrivate::start (arg=0x15db0d0) at thread/qthread_unix.cpp:352
#5  0x00007fedeb6186ba in start_thread (arg=0x7fedca4ad700) at pthread_create.c:333
#6  0x00007fedee12d3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fedcacae700 (LWP 13123)):
#0  0x00007fedee12170d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fede7bd138c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fede7bd149c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fedeedc62ce in QEventDispatcherGlib::processEvents (this=0x7fedbc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#4  0x00007fedeed9418f in QEventLoop::processEvents (this=this@entry=0x7fedcacada40, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fedeed944f5 in QEventLoop::exec (this=this@entry=0x7fedcacada40, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007fedeec83549 in QThread::exec (this=this@entry=0x13003b0) at thread/qthread.cpp:538
#7  0x00007fedeed74223 in QInotifyFileSystemWatcherEngine::run (this=0x13003b0) at io/qfilesystemwatcher_inotify.cpp:265
#8  0x00007fedeec85e3c in QThreadPrivate::start (arg=0x13003b0) at thread/qthread_unix.cpp:352
#9  0x00007fedeb6186ba in start_thread (arg=0x7fedcacae700) at pthread_create.c:333
#10 0x00007fedee12d3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fedcb4af700 (LWP 13122)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fedeec863a6 in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x12fd0c0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x12fcfd0, mutex=mutex@entry=0x12fcfc8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000005fff44 in Digikam::ScanController::run (this=0x12fcd40) at /build/digikam-J9prv3/digikam-4.12.0/core/app/database/scancontroller.cpp:725
#4  0x00007fedeec85e3c in QThreadPrivate::start (arg=0x12fcd40) at thread/qthread_unix.cpp:352
#5  0x00007fedeb6186ba in start_thread (arg=0x7fedcb4af700) at pthread_create.c:333
#6  0x00007fedee12d3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fedcf99b700 (LWP 13121)):
#0  0x00007fedee12170d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fedd9fbc64c in ?? () from /lib/x86_64-linux-gnu/libusb-1.0.so.0
#2  0x00007fedeb6186ba in start_thread (arg=0x7fedcf99b700) at pthread_create.c:333
#3  0x00007fedee12d3dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fedf4ed6b40 (LWP 13120)):
[KCrash Handler]
#6  QBasicAtomicInt::ref (this=0x30) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:121
#7  QString::operator= (this=this@entry=0x4f835d8, other=...) at tools/qstring.cpp:1410
#8  0x00007fed079c7f5d in KIPIDropboxPlugin::DBTalker::parseResponseRequestToken (this=this@entry=0x4f83580, data=...) at /build/digikam-J9prv3/digikam-4.12.0/extra/kipi-plugins/dropbox/dbtalker.cpp:510
#9  0x00007fed079c898c in KIPIDropboxPlugin::DBTalker::slotResult (this=0x4f83580, kjob=<optimized out>) at /build/digikam-J9prv3/digikam-4.12.0/extra/kipi-plugins/dropbox/dbtalker.cpp:448
#10 0x00007fed079c91fc in KIPIDropboxPlugin::DBTalker::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at /build/digikam-J9prv3/digikam-4.12.0/obj-x86_64-linux-gnu/extra/kipi-plugins/dropbox/dbtalker.moc:90
#11 0x00007fedeedaa010 in QMetaObject::activate (sender=sender@entry=0x4f836b0, m=m@entry=0x7fedef5d5b00 <KJob::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7ffc3ced1d10) at kernel/qobject.cpp:3567
#12 0x00007fedef22cc92 in KJob::result (this=this@entry=0x4f836b0, _t1=_t1@entry=0x4f836b0) at /build/kde4libs-_S4zyz/kde4libs-4.14.16/obj-x86_64-linux-gnu/kdecore/kjob.moc:207
#13 0x00007fedef22cce0 in KJob::emitResult (this=this@entry=0x4f836b0) at /build/kde4libs-_S4zyz/kde4libs-4.14.16/kdecore/jobs/kjob.cpp:318
#14 0x00007fedf0f94a1e in KIO::SimpleJob::slotFinished (this=this@entry=0x4f836b0) at /build/kde4libs-_S4zyz/kde4libs-4.14.16/kio/kio/job.cpp:496
#15 0x00007fedf0f95f21 in KIO::TransferJob::slotFinished (this=0x4f836b0) at /build/kde4libs-_S4zyz/kde4libs-4.14.16/kio/kio/job.cpp:1110
#16 0x00007fedeedaa010 in QMetaObject::activate (sender=0x4e9ea00, m=m@entry=0x7fedf135aba0 <KIO::SlaveInterface::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x0) at kernel/qobject.cpp:3567
#17 0x00007fedf1040713 in KIO::SlaveInterface::finished (this=<optimized out>) at /build/kde4libs-_S4zyz/kde4libs-4.14.16/obj-x86_64-linux-gnu/kio/slaveinterface.moc:184
#18 0x00007fedf1043546 in KIO::SlaveInterface::dispatch (this=<optimized out>, _cmd=104, rawdata=...) at /build/kde4libs-_S4zyz/kde4libs-4.14.16/kio/kio/slaveinterface.cpp:176
#19 0x00007fedf104039d in KIO::SlaveInterface::dispatch (this=0x4e9ea00) at /build/kde4libs-_S4zyz/kde4libs-4.14.16/kio/kio/slaveinterface.cpp:92
#20 0x00007fedf1032bc1 in KIO::Slave::gotInput (this=0x4e9ea00) at /build/kde4libs-_S4zyz/kde4libs-4.14.16/kio/kio/slave.cpp:344
#21 0x00007fedeedaa010 in QMetaObject::activate (sender=0x4fa0550, m=m@entry=0x7fedf13552c0 <KIO::Connection::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3567
#22 0x00007fedf0f5a600 in KIO::Connection::readyRead (this=<optimized out>) at /build/kde4libs-_S4zyz/kde4libs-4.14.16/obj-x86_64-linux-gnu/kio/connection.moc:105
#23 0x00007fedf0f5aba4 in KIO::ConnectionPrivate::dequeue (this=0x4f7dbe0) at /build/kde4libs-_S4zyz/kde4libs-4.14.16/kio/kio/connection.cpp:82
#24 0x00007fedeedafdb1 in QObject::event (this=0x4fa0550, e=<optimized out>) at kernel/qobject.cpp:1222
#25 0x00007fedef9ebfdc in QApplicationPrivate::notify_helper (this=this@entry=0x1177550, receiver=receiver@entry=0x4fa0550, e=e@entry=0x4ec3930) at kernel/qapplication.cpp:4570
#26 0x00007fedef9f2f16 in QApplication::notify (this=this@entry=0x7ffc3ced2dd0, receiver=receiver@entry=0x4fa0550, e=e@entry=0x4ec3930) at kernel/qapplication.cpp:4356
#27 0x00007fedf075164a in KApplication::notify (this=0x7ffc3ced2dd0, receiver=0x4fa0550, event=0x4ec3930) at /build/kde4libs-_S4zyz/kde4libs-4.14.16/kdeui/kernel/kapplication.cpp:311
#28 0x00007fedeed9590d in QCoreApplication::notifyInternal (this=0x7ffc3ced2dd0, receiver=receiver@entry=0x4fa0550, event=event@entry=0x4ec3930) at kernel/qcoreapplication.cpp:955
#29 0x00007fedeed993c6 in QCoreApplication::sendEvent (event=0x4ec3930, receiver=0x4fa0550) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#30 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x111ae70) at kernel/qcoreapplication.cpp:1579
#31 0x00007fedeed996a3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1472
#32 0x00007fedeedc613e in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#33 postEventSourceDispatch (s=0x1176f30) at kernel/qeventdispatcher_glib.cpp:300
#34 0x00007fede7bd1197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007fede7bd13f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007fede7bd149c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007fedeedc62ae in QEventDispatcherGlib::processEvents (this=0x10ebb70, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#38 0x00007fedefa99616 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#39 0x00007fedeed9418f in QEventLoop::processEvents (this=this@entry=0x7ffc3ced2930, flags=...) at kernel/qeventloop.cpp:149
#40 0x00007fedeed944f5 in QEventLoop::exec (this=this@entry=0x7ffc3ced2930, flags=...) at kernel/qeventloop.cpp:204
#41 0x00007fedeed9a4b9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1227
#42 0x00007fedef9ea22c in QApplication::exec () at kernel/qapplication.cpp:3828
#43 0x0000000000492e9e in main (argc=<optimized out>, argv=<optimized out>) at /build/digikam-J9prv3/digikam-4.12.0/core/app/main/main.cpp:230

Reported using DrKonqi
Comment 1 caulier.gilles 2017-10-22 03:30:37 UTC
4.x version are very old and non maintained since a long time. Use 5.x release instead. A Linux Universal AppImage is provided.

Gilles Caulier
Comment 2 caulier.gilles 2018-01-07 12:00:16 UTC
Git commit acae55991a4f51e727c09609216cfff85697724a by Maik Qualmann.
Committed on 07/01/2018 at 08:33.
Pushed by mqualmann into branch 'master'.

dropbox tool ported to API V2 and OAuth2
FIXED-IN: 5.8.0

M  +2    -1    NEWS
M  +3    -9    dropbox/dbalbum.cpp
M  +115  -282  dropbox/dbtalker.cpp
M  +30   -41   dropbox/dbtalker.h
M  +1    -12   dropbox/dbwidget.cpp
M  +44   -88   dropbox/dbwindow.cpp
M  +2    -8    dropbox/dbwindow.h
M  +2    -2    dropbox/mpform.cpp
M  +3    -3    dropbox/plugin_dropbox.cpp

https://commits.kde.org/kipi-plugins/acae55991a4f51e727c09609216cfff85697724a