Bug 227123 - digikam crashes when deleting pictures from camera
Summary: digikam crashes when deleting pictures from camera
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Import-Gphoto2 (show other bugs)
Version: 0.10.0
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-16 04:36 UTC by mikel
Modified: 2017-08-16 06:14 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 5.1.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description mikel 2010-02-16 04:36:52 UTC
Application that crashed: digikam
Version of the application: 0.10.0
KDE Version: 4.3.3 (KDE 4.3.3)
Qt Version: 4.5.3
Operating System: Linux 2.6.27.41-170.2.117.fc10.x86_64 x86_64
Distribution: "Fedora release 10 (Cambridge)"

What I was doing when the application crashed:
Connected Canon Powershot A620. When deleting pictures from camera it fails to delete them, and if there are more than a few pictures crashes digikam. Only happens with 64 bit version. Same hardware, same camera worked with 32 bit version before I upgraded to 64 bit Fedora (same version of Fedora, just went to 64 bit).

Is 100% repeatable.

 -- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f1de22d0810 (LWP 25128))]

Thread 14 (Thread 0x7f1dd9901950 (LWP 25129)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x0000003fa065b569 in QWaitConditionPrivate::wait () at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=0x269c198, mutex=0x269c190, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x0000000000646ab3 in Digikam::ScanController::run (this=0x269bdd0) at /usr/src/debug/digikam-0.10.0/digikam/scancontroller.cpp:412
#4  0x0000003fa065a585 in QThreadPrivate::start (arg=0x269bdd0) at thread/qthread_unix.cpp:188
#5  0x0000003849e073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#6  0x00000038492e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 13 (Thread 0x7f1dd8bd4950 (LWP 25130)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x0000003fa065b569 in QWaitConditionPrivate::wait () at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=0x26743b0, mutex=0x26743a8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00000035ccb3bc2c in Digikam::LoadSaveThread::run (this=0x2674390) at /usr/src/debug/digikam-0.10.0/libs/threadimageio/loadsavethread.cpp:131
#4  0x0000003fa065a585 in QThreadPrivate::start (arg=0x2674390) at thread/qthread_unix.cpp:188
#5  0x0000003849e073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#6  0x00000038492e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 12 (Thread 0x7f1dd81d3950 (LWP 25131)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x0000003fa065b569 in QWaitConditionPrivate::wait () at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=0x267c4d0, mutex=0x267c4c8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00000035ccb3bc2c in Digikam::LoadSaveThread::run (this=0x267c4b0) at /usr/src/debug/digikam-0.10.0/libs/threadimageio/loadsavethread.cpp:131
#4  0x0000003fa065a585 in QThreadPrivate::start (arg=0x267c4b0) at thread/qthread_unix.cpp:188
#5  0x0000003849e073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#6  0x00000038492e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 11 (Thread 0x7f1dd1f16950 (LWP 25137)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x0000003f5a213a91 in ?? () from /usr/lib64/libxine.so.1
#2  0x0000003849e073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#3  0x00000038492e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 10 (Thread 0x7f1dd04d7950 (LWP 25138)):
#0  0x00000038492deaa2 in select () from /lib64/libc.so.6
#1  0x0000003f5a23c0d4 in xine_usec_sleep () from /usr/lib64/libxine.so.1
#2  0x0000003f5a22192b in ?? () from /usr/lib64/libxine.so.1
#3  0x0000003849e073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#4  0x00000038492e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 9 (Thread 0x7f1dcfad6950 (LWP 25139)):
#0  0x0000003849e0a220 in __pthread_mutex_unlock_usercnt (mutex=0x2e89158, decr=1) at pthread_mutex_unlock.c:64
#1  0x0000003f54a394d5 in g_main_context_acquire () from /lib64/libglib-2.0.so.0
#2  0x0000003f54a3ab51 in ?? () from /lib64/libglib-2.0.so.0
#3  0x0000003f54a3b14b in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#4  0x0000003fa076ccde in QEventDispatcherGlib::processEvents (this=0x2e89080, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:329
#5  0x0000003fa0742022 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x0000003fa07423f4 in QEventLoop::exec (this=0x7f1dcfad5f50, flags=) at kernel/qeventloop.cpp:201
#7  0x0000003fa06575f8 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#8  0x00007f1dd5e3bd9c in Phonon::Xine::XineThread::run (this=0x2e88a50) at /usr/src/debug/phonon-4.3.1/xine/xinethread.cpp:143
#9  0x0000003fa065a585 in QThreadPrivate::start (arg=0x2e88a50) at thread/qthread_unix.cpp:188
#10 0x0000003849e073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#11 0x00000038492e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 8 (Thread 0x7f1dcf0d5950 (LWP 25140)):
#0  0x0000003fa2a1abc8 in pa_mainloop_poll () from /usr/lib64/libpulse.so.0
#1  0x0000003fa2a1b015 in pa_mainloop_iterate () from /usr/lib64/libpulse.so.0
#2  0x0000003fa2a1b08a in pa_mainloop_run () from /usr/lib64/libpulse.so.0
#3  0x0000003fa2a2a0a2 in ?? () from /usr/lib64/libpulse.so.0
#4  0x0000003fa2a5b22d in ?? () from /usr/lib64/libpulse.so.0
#5  0x0000003849e073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#6  0x00000038492e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 7 (Thread 0x7f1dca6d3950 (LWP 25141)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x0000003f5a224eb3 in ?? () from /usr/lib64/libxine.so.1
#2  0x0000003849e073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#3  0x00000038492e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 6 (Thread 0x7f1dc6dcd950 (LWP 25151)):
#0  0x00007fff1e1b97dc in clock_gettime ()
#1  0x000000384b20456d in clock_gettime (clock_id=1, tp=0x7f1dc6dcccb0) at ../sysdeps/unix/clock_gettime.c:100
#2  0x0000003fa076e84d in QTimerInfoList::getTime (this=<value optimized out>, t=@0x3a22890) at kernel/qeventdispatcher_unix.cpp:339
#3  0x0000003fa076ea41 in QTimerInfoList::updateCurrentTime (this=0x1) at kernel/qeventdispatcher_unix.cpp:297
#4  0x0000003fa076ebe5 in QTimerInfoList::timerWait (this=0x1, tm=@0x7f1dc6dcccb0) at kernel/qeventdispatcher_unix.cpp:420
#5  0x0000003fa076ce8c in timerSourcePrepare (source=<value optimized out>, timeout=0x7f1dc6dccda4) at kernel/qeventdispatcher_glib.cpp:141
#6  0x0000003f54a3a86a in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#7  0x0000003f54a3ac8a in ?? () from /lib64/libglib-2.0.so.0
#8  0x0000003f54a3b14b in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#9  0x0000003fa076ccde in QEventDispatcherGlib::processEvents (this=0x3a1fde0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:329
#10 0x0000003fa0742022 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#11 0x0000003fa07423f4 in QEventLoop::exec (this=0x7f1dc6dccf30, flags=) at kernel/qeventloop.cpp:201
#12 0x0000003fa06575f8 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#13 0x00007f1dc94c040e in Marble::GpsdThread::run (this=0x3a236a0) at /usr/src/debug/kdeedu-4.3.3/marble/src/plugins/positionprovider/gpsd/GpsdThread.cpp:27
#14 0x0000003fa065a585 in QThreadPrivate::start (arg=0x3a236a0) at thread/qthread_unix.cpp:188
#15 0x0000003849e073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#16 0x00000038492e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 5 (Thread 0x7f1dc59cb950 (LWP 25158)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x0000003fa065b569 in QWaitConditionPrivate::wait () at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=0x3aa34d0, mutex=0x3aa34c8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00000035ccb3bc2c in Digikam::LoadSaveThread::run (this=0x3aa34b0) at /usr/src/debug/digikam-0.10.0/libs/threadimageio/loadsavethread.cpp:131
#4  0x0000003fa065a585 in QThreadPrivate::start (arg=0x3aa34b0) at thread/qthread_unix.cpp:188
#5  0x0000003849e073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#6  0x00000038492e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 4 (Thread 0x7f1dc7874950 (LWP 25159)):
#0  0x00007fff1e1b97dc in clock_gettime ()
#1  0x000000384b20456d in clock_gettime (clock_id=1, tp=0x7f1dc7873cb0) at ../sysdeps/unix/clock_gettime.c:100
#2  0x0000003fa076e84d in QTimerInfoList::getTime (this=<value optimized out>, t=@0x4c323e0) at kernel/qeventdispatcher_unix.cpp:339
#3  0x0000003fa076ea41 in QTimerInfoList::updateCurrentTime (this=0x1) at kernel/qeventdispatcher_unix.cpp:297
#4  0x0000003fa076ebe5 in QTimerInfoList::timerWait (this=0x1, tm=@0x7f1dc7873cb0) at kernel/qeventdispatcher_unix.cpp:420
#5  0x0000003fa076ce8c in timerSourcePrepare (source=<value optimized out>, timeout=0x7f1dc7873da4) at kernel/qeventdispatcher_glib.cpp:141
#6  0x0000003f54a3a86a in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#7  0x0000003f54a3ac8a in ?? () from /lib64/libglib-2.0.so.0
#8  0x0000003f54a3b14b in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#9  0x0000003fa076ccde in QEventDispatcherGlib::processEvents (this=0x4c24170, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:329
#10 0x0000003fa0742022 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#11 0x0000003fa07423f4 in QEventLoop::exec (this=0x7f1dc7873f30, flags=) at kernel/qeventloop.cpp:201
#12 0x0000003fa06575f8 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#13 0x00007f1dc94c040e in Marble::GpsdThread::run (this=0x4c33670) at /usr/src/debug/kdeedu-4.3.3/marble/src/plugins/positionprovider/gpsd/GpsdThread.cpp:27
#14 0x0000003fa065a585 in QThreadPrivate::start (arg=0x4c33670) at thread/qthread_unix.cpp:188
#15 0x0000003849e073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#16 0x00000038492e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 3 (Thread 0x7f1db39bf950 (LWP 25180)):
#0  0x0000003f54a39481 in g_main_context_acquire () from /lib64/libglib-2.0.so.0
#1  0x0000003f54a3ab51 in ?? () from /lib64/libglib-2.0.so.0
#2  0x0000003f54a3b14b in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x0000003fa076ccde in QEventDispatcherGlib::processEvents (this=0x3017d80, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:329
#4  0x0000003fa0742022 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x0000003fa07423f4 in QEventLoop::exec (this=0x7f1db39bef30, flags=) at kernel/qeventloop.cpp:201
#6  0x0000003fa06575f8 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007f1dc94c040e in Marble::GpsdThread::run (this=0x4dfd060) at /usr/src/debug/kdeedu-4.3.3/marble/src/plugins/positionprovider/gpsd/GpsdThread.cpp:27
#8  0x0000003fa065a585 in QThreadPrivate::start (arg=0x4dfd060) at thread/qthread_unix.cpp:188
#9  0x0000003849e073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#10 0x00000038492e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 2 (Thread 0x7f1da99b3950 (LWP 25187)):
[KCrash Handler]
#5  find_child (file=0x7ee8f84 "154CANON", storage=65537, handle=3, camera=0xffffffff) at ptp2/library.c:2612
#6  0x00007f1da8b83a47 in delete_file_func (fs=<value optimized out>, folder=0x750daa8 "/store_00010001/DCIM/154CANON", filename=0x8234f68 "IMG_5414.JPG", data=0x7a936c0, context=0x816a240)
    at ptp2/library.c:3556
#7  0x0000003c0fa14689 in gp_filesystem_delete_file (fs=0x7a936f0, folder=0x750daa8 "/store_00010001/DCIM/154CANON", filename=0x8234f68 "IMG_5414.JPG", context=0x816a240) at gphoto2-filesys.c:1112
#8  0x0000003c0fa0a52f in gp_camera_file_delete (camera=0x7a936c0, folder=0x750daa8 "/store_00010001/DCIM/154CANON", file=0x8234f68 "IMG_5414.JPG", context=0x816a240) at gphoto2-camera.c:1321
#9  0x00000000004d15e9 in Digikam::GPCamera::deleteItem (this=0x7c64770, folder=@0x7f1da99b28e0, itemName=<value optimized out>) at /usr/src/debug/digikam-0.10.0/utilities/cameragui/gpcamera.cpp:1060
#10 0x00000000004f14aa in Digikam::CameraController::executeCommand (this=0x7a82bd0, cmd=<value optimized out>) at /usr/src/debug/digikam-0.10.0/utilities/cameragui/cameracontroller.cpp:631
#11 0x00000000004f2a2a in Digikam::CameraController::run (this=0x7a82bd0) at /usr/src/debug/digikam-0.10.0/utilities/cameragui/cameracontroller.cpp:333
#12 0x0000003fa065a585 in QThreadPrivate::start (arg=0x7a82bd0) at thread/qthread_unix.cpp:188
#13 0x0000003849e073da in start_thread (arg=<value optimized out>) at pthread_create.c:297
#14 0x00000038492e62bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Thread 1 (Thread 0x7f1de22d0810 (LWP 25128)):
#0  0x0000003849e0df5b in read () from /lib64/libpthread.so.0
#1  0x0000003f54a3a382 in g_main_context_check () from /lib64/libglib-2.0.so.0
#2  0x0000003f54a3ae71 in ?? () from /lib64/libglib-2.0.so.0
#3  0x0000003f54a3b14b in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#4  0x0000003fa076ccbf in QEventDispatcherGlib::processEvents (this=0x249d1e0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#5  0x0000003a6ba2753f in QGuiEventDispatcherGlib::processEvents (this=0x3, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#6  0x0000003fa0742022 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#7  0x0000003fa07423f4 in QEventLoop::exec (this=0x7fff1e0d4f00, flags=) at kernel/qeventloop.cpp:201
#8  0x0000003fa07446c4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#9  0x000000000066c947 in main (argc=<value optimized out>, argv=0x7fff1e0d5748) at /usr/src/debug/digikam-0.10.0/digikam/main.cpp:190

Reported using DrKonqi
Comment 1 Johannes Wienke 2010-02-16 09:01:37 UTC
Please update to a new digikam version. 0.10 is pretty old. The current stable is 1.1.0.
Comment 2 caulier.gilles 2010-04-04 10:46:35 UTC
digiKam and Kipi-plugins 1.2.0 are out. Please check if crash is still valid there.

Thanks in advance

Gilles Caulier
Comment 3 caulier.gilles 2010-10-06 11:03:41 UTC
We need feedback with 1.4.0 release

Gilles Caulier
Comment 4 caulier.gilles 2015-07-02 05:04:38 UTC
New digiKam 4.11.0 is available.

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

Can you reproduce the problem with this release ?

Gilles Caulier
Comment 5 caulier.gilles 2016-07-07 07:38:35 UTC
This problem is not reproducible with last 5.0.0
I close this file now. Re-open it is necessary.
Gilles Caulier