Bug 339593 - Crash on opening
Summary: Crash on opening
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Engine (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-02 03:23 UTC by s2g9h+ennz3zdcrvs88
Modified: 2020-08-30 15:51 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 7.1.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description s2g9h+ennz3zdcrvs88 2014-10-02 03:23:44 UTC
Directly after opening, Digikam shows thumb previews for up to 5 seconds then crashes. Crash log below. If there's way I can make a more verbose output, please reply to this bug report so I can do that. I checked the sqlite db and it doesn't seem corrupt.

Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
[Current thread is 1 (Thread 0x7f3893507ac0 (LWP 10050))]

Thread 5 (Thread 0x7f386c195700 (LWP 10077)):
#0  0x00007f388c0a4c6d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f387170e248 in ?? () from /lib/x86_64-linux-gnu/libusb-1.0.so.0
#2  0x00007f3887ebe182 in start_thread (arg=0x7f386c195700) at pthread_create.c:312
#3  0x00007f388c0b1fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7f3862e66700 (LWP 10079)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f388ce93816 in wait (time=18446744073709551615, this=0x1a59d80) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1a59c90, mutex=mutex@entry=0x1a59c88, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000005f565e in Digikam::ScanController::run (this=0x1a59a00) at /build/buildd/digikam-4.3.0/core/digikam/database/scancontroller.cpp:725
#4  0x00007f388ce9332f in QThreadPrivate::start (arg=0x1a59a00) at thread/qthread_unix.cpp:349
#5  0x00007f3887ebe182 in start_thread (arg=0x7f3862e66700) at pthread_create.c:312
#6  0x00007f388c0b1fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f3862665700 (LWP 10080)):
#0  0x00007f3883ff462a in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f3883ff4989 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3883fb2699 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3883fb2f03 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f3883fb30ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f388cfc27be in QEventDispatcherGlib::processEvents (this=0x7f38540008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0x00007f388cf940af in QEventLoop::processEvents (this=this@entry=0x7f3862664ae0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f388cf943a5 in QEventLoop::exec (this=this@entry=0x7f3862664ae0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f388ce90c5f in QThread::exec (this=this@entry=0x1a5c2d0) at thread/qthread.cpp:537
#9  0x00007f388cf75823 in QInotifyFileSystemWatcherEngine::run (this=0x1a5c2d0) at io/qfilesystemwatcher_inotify.cpp:265
#10 0x00007f388ce9332f in QThreadPrivate::start (arg=0x1a5c2d0) at thread/qthread_unix.cpp:349
#11 0x00007f3887ebe182 in start_thread (arg=0x7f3862665700) at pthread_create.c:312
#12 0x00007f388c0b1fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f3852689700 (LWP 10112)):
[KCrash Handler]
#6  0x00007f3889036b62 in Exiv2::PreviewManager::getPreviewImage(Exiv2::PreviewProperties const&) const () from /usr/lib/libexiv2.so.12
#7  0x00007f3891224452 in KExiv2Iface::KExiv2Previews::data (this=this@entry=0x7f3852688750, index=index@entry=0) at ../../libkexiv2/kexiv2previews.cpp:162
#8  0x00007f38912246ab in KExiv2Iface::KExiv2Previews::image (this=this@entry=0x7f3852688750, index=index@entry=0) at ../../libkexiv2/kexiv2previews.cpp:174
#9  0x00007f3890b59fdb in Digikam::ThumbnailCreator::createThumbnail (this=this@entry=0x1f87b60, info=..., detailRect=...) at /build/buildd/digikam-4.3.0/core/libs/threadimageio/thumbnailcreator.cpp:528
#10 0x00007f3890b5cc76 in Digikam::ThumbnailCreator::load (this=0x1f87b60, path=..., rect=..., pregenerate=pregenerate@entry=true) at /build/buildd/digikam-4.3.0/core/libs/threadimageio/thumbnailcreator.cpp:261
#11 0x00007f3890b5d5c0 in Digikam::ThumbnailCreator::pregenerate (this=<optimized out>, path=...) at /build/buildd/digikam-4.3.0/core/libs/threadimageio/thumbnailcreator.cpp:184
#12 0x00007f3890b6c040 in Digikam::ThumbnailLoadingTask::execute (this=0x791d900) at /build/buildd/digikam-4.3.0/core/libs/threadimageio/thumbnailtask.cpp:82
#13 0x00007f3890b441a6 in Digikam::LoadSaveThread::run (this=0x1f69590) at /build/buildd/digikam-4.3.0/core/libs/threadimageio/loadsavethread.cpp:136
#14 0x00007f3890b7dffe in Digikam::DynamicThread::DynamicThreadPriv::run (this=0x1f9e5e0) at /build/buildd/digikam-4.3.0/core/libs/threads/dynamicthread.cpp:186
#15 0x00007f388ce86fee in QThreadPoolThread::run (this=0x320b310) at concurrent/qthreadpool.cpp:108
#16 0x00007f388ce9332f in QThreadPrivate::start (arg=0x320b310) at thread/qthread_unix.cpp:349
#17 0x00007f3887ebe182 in start_thread (arg=0x7f3852689700) at pthread_create.c:312
#18 0x00007f388c0b1fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f3893507ac0 (LWP 10050)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f388ce93816 in wait (time=18446744073709551615, this=0x1d25ee0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1aee440, mutex=mutex@entry=0x1aee418, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f388ce86242 in QThreadPoolPrivate::waitForDone (this=0x1aee390, msecs=msecs@entry=-1) at concurrent/qthreadpool.cpp:295
#4  0x00007f388ce876b5 in QThreadPool::~QThreadPool (this=0x1d180f0, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:438
#5  0x00007f388ce876e9 in QThreadPool::~QThreadPool (this=0x1d180f0, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:440
#6  0x00007f388cfac168 in QObjectPrivate::deleteChildren (this=this@entry=0x1d184c0) at kernel/qobject.cpp:1907
#7  0x00007f388cfae6ff in QObject::~QObject (this=0x1b204a0, __in_chrg=<optimized out>) at kernel/qobject.cpp:926
#8  0x00007f3890b7b177 in ~ThreadManagerCreator (this=0x1b204a0, __in_chrg=<optimized out>) at /build/buildd/digikam-4.3.0/core/libs/threads/threadmanager.cpp:236
#9  destroy () at /build/buildd/digikam-4.3.0/core/libs/threads/threadmanager.cpp:241
#10 0x00007f388bff3149 in __run_exit_handlers (status=1, listp=0x7f388c3766c8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#11 0x00007f388bff3195 in __GI_exit (status=<optimized out>) at exit.c:104
#12 0x00007f3878d82224 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#13 0x00007f388e6918d0 in KApplication::xioErrhandler (this=0x7fffb63b7540, dpy=0x17c7230) at ../../kdeui/kernel/kapplication.cpp:419
#14 0x00007f388a5a95ee in _XIOError () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#15 0x00007f388a5a6fed in _XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#16 0x00007f388a5990db in XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#17 0x00007f388da2962c in x11EventSourceCheck (s=0x1795ef0) at kernel/qguieventdispatcher_glib.cpp:85
#18 0x00007f3883fb2a61 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007f3883fb2f7b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007f3883fb30ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007f388cfc27a1 in QEventDispatcherGlib::processEvents (this=0x16b5030, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#22 0x00007f388da29bb6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#23 0x00007f388cf940af in QEventLoop::processEvents (this=this@entry=0x7fffb63b7020, flags=...) at kernel/qeventloop.cpp:149
#24 0x00007f388cf943a5 in QEventLoop::exec (this=this@entry=0x7fffb63b7020, flags=...) at kernel/qeventloop.cpp:204
#25 0x00007f388cf99b79 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#26 0x00007f388d98637c in QApplication::exec () at kernel/qapplication.cpp:3828
#27 0x00000000004963b0 in main (argc=<optimized out>, argv=<optimized out>) at /build/buildd/digikam-4.3.0/core/digikam/main/main.cpp:236



Reproducible: Always

Steps to Reproduce:
1. Open Digikam
2. Wait 5 seconds, do nothing
3. Crash

Actual Results:  
It crashed

Expected Results:  
It shouldn't have crashed

Running on Ubuntu 14.04 x64 using PPA: 4:4.3.0-trusty~ppa1
Comment 1 Michael Reed 2014-10-02 06:14:02 UTC
This might be related to the problem that I am having. At the moment I can't access the main, root directory in the album view. As usual, the thumbnails momentarily appear before sorting themselves into my chosen order (descending), but then it segfaults.  

I've had a bit of intermittent crashy behaviour since I changed camera to the Olympus. The folder in question contains 12,000+ files of Olympus (.orf), Canon (.cr2), Panasonic (.rw2), png, jpg, wav, mov, idx, xmp (from Darktable) type. "P7012188_v2.PNG.xmp" is an example of one of the filenames that Darktable has generated.

I have just tried unchecking all of the optional information in the Album View section of the settings, but it hasn't made a difference.

I am also on 4.3 from the PPA on Kubuntu 14.04. As far as I can see, 4.2 could open the folder, but as I say, things have been a bit crashy ever since I got the Olympus earlier in the year.

Crash report below. Let me know if there's anything you'd like me to try.

Backtrace of the crash I experienced:

Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
[Current thread is 1 (Thread 0x7ff8fcc02ac0 (LWP 3039))]

Thread 5 (Thread 0x7ff8d6172700 (LWP 3040)):
#0  0x00007ff8f57a9c6d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ff8daca8248 in ?? () from /lib/x86_64-linux-gnu/libusb-1.0.so.0
#2  0x00007ff8f15ce182 in start_thread (arg=0x7ff8d6172700) at pthread_create.c:312
#3  0x00007ff8f57b6fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7ff8cfacb700 (LWP 3041)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ff8f6598816 in wait (time=18446744073709551615, this=0x25a6ca0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x25a6bb0, mutex=mutex@entry=0x25a6ba8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000005f565e in Digikam::ScanController::run (this=0x269d0a0) at /build/buildd/digikam-4.3.0/core/digikam/database/scancontroller.cpp:725
#4  0x00007ff8f659832f in QThreadPrivate::start (arg=0x269d0a0) at thread/qthread_unix.cpp:349
#5  0x00007ff8f15ce182 in start_thread (arg=0x7ff8cfacb700) at pthread_create.c:312
#6  0x00007ff8f57b6fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7ff8cf2ca700 (LWP 3042)):
#0  0x00007ff8ed70462a in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007ff8ed7049b9 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ff8ed6c2718 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ff8ed6c2f03 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ff8ed6c30ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ff8f66c77be in QEventDispatcherGlib::processEvents (this=0x7ff8c00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#6  0x00007ff8f66990af in QEventLoop::processEvents (this=this@entry=0x7ff8cf2c9ae0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007ff8f66993a5 in QEventLoop::exec (this=this@entry=0x7ff8cf2c9ae0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007ff8f6595c5f in QThread::exec (this=this@entry=0x25aa050) at thread/qthread.cpp:537
#9  0x00007ff8f667a823 in QInotifyFileSystemWatcherEngine::run (this=0x25aa050) at io/qfilesystemwatcher_inotify.cpp:265
#10 0x00007ff8f659832f in QThreadPrivate::start (arg=0x25aa050) at thread/qthread_unix.cpp:349
#11 0x00007ff8f15ce182 in start_thread (arg=0x7ff8cf2ca700) at pthread_create.c:312
#12 0x00007ff8f57b6fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7ff891ffb700 (LWP 3070)):
[KCrash Handler]
#6  0x00007ff8f27420e2 in Exiv2::PreviewManager::getPreviewImage(Exiv2::PreviewProperties const&) const () from /usr/lib/libexiv2.so.12
#7  0x00007ff8fa929452 in KExiv2Iface::KExiv2Previews::data(int) () from /usr/lib/libkexiv2.so.11
#8  0x00007ff8fa9296ab in KExiv2Iface::KExiv2Previews::image(int) () from /usr/lib/libkexiv2.so.11
#9  0x00007ff8fa25efdb in Digikam::ThumbnailCreator::createThumbnail (this=this@entry=0x2bc1aa0, info=..., detailRect=...) at /build/buildd/digikam-4.3.0/core/libs/threadimageio/thumbnailcreator.cpp:528
#10 0x00007ff8fa261c76 in Digikam::ThumbnailCreator::load (this=0x2bc1aa0, path=..., rect=..., pregenerate=pregenerate@entry=true) at /build/buildd/digikam-4.3.0/core/libs/threadimageio/thumbnailcreator.cpp:261
#11 0x00007ff8fa2625c0 in Digikam::ThumbnailCreator::pregenerate (this=<optimized out>, path=...) at /build/buildd/digikam-4.3.0/core/libs/threadimageio/thumbnailcreator.cpp:184
#12 0x00007ff8fa271040 in Digikam::ThumbnailLoadingTask::execute (this=0x77e6030) at /build/buildd/digikam-4.3.0/core/libs/threadimageio/thumbnailtask.cpp:82
#13 0x00007ff8fa2491a6 in Digikam::LoadSaveThread::run (this=0x2bbe170) at /build/buildd/digikam-4.3.0/core/libs/threadimageio/loadsavethread.cpp:136
#14 0x00007ff8fa282ffe in Digikam::DynamicThread::DynamicThreadPriv::run (this=0x2bfdc60) at /build/buildd/digikam-4.3.0/core/libs/threads/dynamicthread.cpp:186
#15 0x00007ff8f658bfee in QThreadPoolThread::run (this=0x450c630) at concurrent/qthreadpool.cpp:108
#16 0x00007ff8f659832f in QThreadPrivate::start (arg=0x450c630) at thread/qthread_unix.cpp:349
#17 0x00007ff8f15ce182 in start_thread (arg=0x7ff891ffb700) at pthread_create.c:312
#18 0x00007ff8f57b6fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7ff8fcc02ac0 (LWP 3039)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ff8f6598816 in wait (time=18446744073709551615, this=0x2cf7bd0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x2ce8040, mutex=mutex@entry=0x2ce8018, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007ff8f658b242 in QThreadPoolPrivate::waitForDone (this=0x2ce7f90, msecs=msecs@entry=-1) at concurrent/qthreadpool.cpp:295
#4  0x00007ff8f658c6b5 in QThreadPool::~QThreadPool (this=0x2de09b0, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:438
#5  0x00007ff8f658c6e9 in QThreadPool::~QThreadPool (this=0x2de09b0, __in_chrg=<optimized out>) at concurrent/qthreadpool.cpp:440
#6  0x00007ff8f66b1168 in QObjectPrivate::deleteChildren (this=this@entry=0x2e94d10) at kernel/qobject.cpp:1907
#7  0x00007ff8f66b36ff in QObject::~QObject (this=0x2e0cd70, __in_chrg=<optimized out>) at kernel/qobject.cpp:926
#8  0x00007ff8fa280177 in ~ThreadManagerCreator (this=0x2e0cd70, __in_chrg=<optimized out>) at /build/buildd/digikam-4.3.0/core/libs/threads/threadmanager.cpp:236
#9  destroy () at /build/buildd/digikam-4.3.0/core/libs/threads/threadmanager.cpp:241
#10 0x00007ff8f56f8149 in __run_exit_handlers (status=1, listp=0x7ff8f5a7b6c8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#11 0x00007ff8f56f8195 in __GI_exit (status=<optimized out>) at exit.c:104
#12 0x00007ff8f70f3878 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:783
#13 0x00007ff8f7d968d0 in KApplication::xioErrhandler (this=0x7fff0c95f550, dpy=0x24c4b30) at ../../kdeui/kernel/kapplication.cpp:419
#14 0x00007ff8f3cae5ee in _XIOError () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#15 0x00007ff8f3cabfed in _XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#16 0x00007ff8f3c9e0db in XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#17 0x00007ff8f712e62c in x11EventSourceCheck (s=0x24b2c50) at kernel/qguieventdispatcher_glib.cpp:85
#18 0x00007ff8ed6c2a61 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ff8ed6c2f7b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007ff8ed6c30ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007ff8f66c77a1 in QEventDispatcherGlib::processEvents (this=0x23df030, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#22 0x00007ff8f712ebb6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#23 0x00007ff8f66990af in QEventLoop::processEvents (this=this@entry=0x7fff0c95f030, flags=...) at kernel/qeventloop.cpp:149
#24 0x00007ff8f66993a5 in QEventLoop::exec (this=this@entry=0x7fff0c95f030, flags=...) at kernel/qeventloop.cpp:204
#25 0x00007ff8f669eb79 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#26 0x00007ff8f708b37c in QApplication::exec () at kernel/qapplication.cpp:3828
#27 0x00000000004963b0 in main (argc=<optimized out>, argv=<optimized out>) at /build/buildd/digikam-4.3.0/core/digikam/main/main.cpp:236
Comment 2 caulier.gilles 2014-10-02 06:28:59 UTC

*** This bug has been marked as a duplicate of bug 339144 ***
Comment 3 caulier.gilles 2020-08-30 15:51:58 UTC
Fixed with #339144