Bug 218021

Summary: digiKam crashed while closing. a camera was connected via USB [__libc_message, malloc_printerr, QObjectPrivate::deleteChildren]
Product: [Applications] digikam Reporter: felix <out.there>
Component: Import-UMSAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: andresbajotierra, caulier.gilles, juan.info
Priority: NOR    
Version: 1.0.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 7.6.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description felix 2009-12-09 19:38:00 UTC
Application: digikam (rc..-rc)
KDE Platform Version: 4.3.80 (KDE 4.3.80 (KDE 4.4 Beta1))
Qt Version: 4.6.0
Operating System: Linux 2.6.32-7-generic x86_64
Distribution: Ubuntu lucid (development branch)

-- Information about the crash:
After i quitted digiKam it crashed. I started the instance with a digital camera connected to my laptop via USB. digiKam was launched from the lower right menu for new connected devices..

 -- Backtrace:
Application: digiKam (digikam), signal: Aborted
[Current thread is 1 (Thread 0x7f0252dd17f0 (LWP 6220))]

Thread 10 (Thread 0x7f023c966910 (LWP 6222)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f024c35166b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x1bda540, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x1bda540, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00000000006cedf3 in ?? ()
#4  0x00007f024c3506b5 in QThreadPrivate::start (arg=0x1bda350) at thread/qthread_unix.cpp:244
#5  0x00007f024b5a6a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f024b89c07d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f0239056910 (LWP 6231)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f024c35166b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x1f4b218, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x1f4b218, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f024fe795c2 in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#4  0x00007f024c3506b5 in QThreadPrivate::start (arg=0x1f4b200) at thread/qthread_unix.cpp:244
#5  0x00007f024b5a6a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f024b89c07d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 8 (Thread 0x7f0238855910 (LWP 6232)):
#0  0x00007f024b5a90bf in __pthread_mutex_lock (mutex=0x1f57a88) at pthread_mutex_lock.c:62
#1  0x00007f0245e545a3 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f0245e54840 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f024c46d0a6 in QEventDispatcherGlib::processEvents (this=0x1f52e10, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:409
#4  0x00007f024c4423e2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f024c4427bc in QEventLoop::exec (this=0x7f0238854fa0, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f024c34dc79 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007f024c3506b5 in QThreadPrivate::start (arg=0x1efef30) at thread/qthread_unix.cpp:244
#8  0x00007f024b5a6a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f024b89c07d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f0238054910 (LWP 6233)):
#0  0x00007f024b5aa6dd in __pthread_mutex_unlock_usercnt (mutex=0x1f591d8) at pthread_mutex_unlock.c:52
#1  __pthread_mutex_unlock (mutex=0x1f591d8) at pthread_mutex_unlock.c:289
#2  0x00007f0245e53f2e in g_main_context_prepare () from /lib/libglib-2.0.so.0
#3  0x00007f0245e54311 in ?? () from /lib/libglib-2.0.so.0
#4  0x00007f0245e54840 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x00007f024c46d0a6 in QEventDispatcherGlib::processEvents (this=0x1f4bb50, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:409
#6  0x00007f024c4423e2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#7  0x00007f024c4427bc in QEventLoop::exec (this=0x7f0238053fa0, flags=) at kernel/qeventloop.cpp:201
#8  0x00007f024c34dc79 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#9  0x00007f024c3506b5 in QThreadPrivate::start (arg=0x1f1af20) at thread/qthread_unix.cpp:244
#10 0x00007f024b5a6a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007f024b89c07d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()
The current source language is "auto; currently c".

Thread 6 (Thread 0x7f0237853910 (LWP 6236)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f024c35166b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x1f6bfe8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x1f6bfe8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f024fe795c2 in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#4  0x00007f024c3506b5 in QThreadPrivate::start (arg=0x1f6bfd0) at thread/qthread_unix.cpp:244
#5  0x00007f024b5a6a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f024b89c07d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f022e6b6910 (LWP 6243)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f024c35166b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x24e5258, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x24e5258, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f024fe795c2 in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#4  0x00007f024c3506b5 in QThreadPrivate::start (arg=0x24e5240) at thread/qthread_unix.cpp:244
#5  0x00007f024b5a6a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f024b89c07d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 4 (Thread 0x7f022deb5910 (LWP 6256)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f024c35166b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x385ae78, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x385ae78, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f024fe795c2 in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#4  0x00007f024c3506b5 in QThreadPrivate::start (arg=0x385ae60) at thread/qthread_unix.cpp:244
#5  0x00007f024b5a6a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f024b89c07d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f022b6b0910 (LWP 6258)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f024c35166b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x3af0c78, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x3af0c78, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f024fe795c2 in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#4  0x00007f024c3506b5 in QThreadPrivate::start (arg=0x3af0c60) at thread/qthread_unix.cpp:244
#5  0x00007f024b5a6a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f024b89c07d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f02285a9910 (LWP 6291)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f024c35166b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x445bc98, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x445bc98, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f024fe795c2 in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#4  0x00007f024c3506b5 in QThreadPrivate::start (arg=0x445bc80) at thread/qthread_unix.cpp:244
#5  0x00007f024b5a6a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f024b89c07d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f0252dd17f0 (LWP 6220)):
[KCrash Handler]
#5  0x00007f024b7ef4c5 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007f024b7f2f60 in *__GI_abort () at abort.c:92
#7  0x00007f024b827ca7 in __libc_message (do_abort=<value optimized out>, fmt=<value optimized out>) at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#8  0x00007f024b831d56 in malloc_printerr (action=3, str=0x7f024b8f1170 "free(): invalid pointer", ptr=<value optimized out>) at malloc.c:6239
#9  0x0000000000694bf8 in ?? ()
#10 0x000000000069c248 in ?? ()
#11 0x00007f024c4524fc in QObjectPrivate::deleteChildren (this=0x1e84120) at kernel/qobject.cpp:1998
#12 0x00007f024d0a02bd in ~QWidget (this=0x1e913e0, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1459
#13 0x0000000000674a3e in ?? ()
#14 0x00007f024c4524fc in QObjectPrivate::deleteChildren (this=0x1de86b0) at kernel/qobject.cpp:1998
#15 0x00007f024d0a02bd in ~QWidget (this=0x1c2fe90, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1459
#16 0x0000000000646554 in ?? ()
#17 0x00007f024c4524fc in QObjectPrivate::deleteChildren (this=0x1bf4d80) at kernel/qobject.cpp:1998
#18 0x00007f024d0a02bd in ~QWidget (this=0x1c11540, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1459
#19 0x00007f024d456b81 in ~QMainWindow (this=0x184c, __in_chrg=<value optimized out>) at widgets/qmainwindow.cpp:342
#20 0x00007f024c4524fc in QObjectPrivate::deleteChildren (this=0x1eba6d0) at kernel/qobject.cpp:1998
#21 0x00007f024d0a02bd in ~QWidget (this=0x1e81bd0, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1459
#22 0x00007f024feeb25c in Digikam::SidebarSplitter::~SidebarSplitter() () from /usr/lib/libdigikamcore.so.1
#23 0x00007f024c4524fc in QObjectPrivate::deleteChildren (this=0x1e8afb0) at kernel/qobject.cpp:1998
#24 0x00007f024d0a02bd in ~QWidget (this=0x1e96330, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1459
#25 0x000000000067a666 in ?? ()
#26 0x00000000006589fc in ?? ()
#27 0x00007f024c4537ad in QObject::event (this=0x1d82ba0, e=0x3dd53f0) at kernel/qobject.cpp:1243
#28 0x00007f024d098c1f in QWidget::event (this=0x1d82ba0, event=0x3dd53f0) at kernel/qwidget.cpp:8428
#29 0x00007f024d4579ab in QMainWindow::event (this=0x1d82ba0, event=0x3dd53f0) at widgets/qmainwindow.cpp:1434
#30 0x00007f024e6249a3 in KXmlGuiWindow::event (this=0x184c, ev=0x184c) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:131
#31 0x00007f024d043f2c in QApplicationPrivate::notify_helper (this=0x19edca0, receiver=0x1d82ba0, e=0x3dd53f0) at kernel/qapplication.cpp:4242
#32 0x00007f024d04a53d in QApplication::notify (this=0x7fff44d63320, receiver=0x1d82ba0, e=0x3dd53f0) at kernel/qapplication.cpp:4125
#33 0x00007f024e50e7d6 in KApplication::notify (this=0x7fff44d63320, receiver=0x1d82ba0, event=0x3dd53f0) at ../../kdeui/kernel/kapplication.cpp:302
#34 0x00007f024c443abc in QCoreApplication::notifyInternal (this=0x7fff44d63320, receiver=0x1d82ba0, event=0x3dd53f0) at kernel/qcoreapplication.cpp:704
#35 0x00007f024c446237 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x19b2a40) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#36 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x19b2a40) at kernel/qcoreapplication.cpp:1345
#37 0x00007f024c46d513 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#38 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#39 0x00007f0245e50d4e in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#40 0x00007f0245e54718 in ?? () from /lib/libglib-2.0.so.0
#41 0x00007f0245e54840 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#42 0x00007f024c46d053 in QEventDispatcherGlib::processEvents (this=0x19b2490, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:407
#43 0x00007f024d0f23de in QGuiEventDispatcherGlib::processEvents (this=0x184c, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#44 0x00007f024c4423e2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#45 0x00007f024c4427bc in QEventLoop::exec (this=0x7fff44d63250, flags=) at kernel/qeventloop.cpp:201
#46 0x00007f024c4464fb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#47 0x000000000076ed62 in ?? ()
#48 0x00007f024b7daadd in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, 
    rtld_fini=<value optimized out>, stack_end=0x7fff44d64238) at libc-start.c:220
#49 0x00000000004723f9 in _start ()
The current source language is "auto; currently c".

Possible duplicates by query: bug 174991.

Reported using DrKonqi
Comment 1 caulier.gilles 2009-12-09 23:31:06 UTC
Sound like an indeep system crash...

Gilles Caulier
Comment 2 Marcel Wiesweg 2009-12-10 20:15:59 UTC
The question is what's in stack frames 9, 10, 25, 26. No debug info there at all, it could be digikam.
Comment 3 Dario Andres 2009-12-19 16:02:53 UTC
"malloc_printerr". This could be bug 196207.
- Have you tried to reproduce the issue ? Thanks
Comment 4 juan.info 2009-12-20 12:59:35 UTC
Created attachment 39188 [details]
New crash information added by DrKonqi
Comment 5 Dario Andres 2009-12-20 13:31:37 UTC
@juan.info: as you can reproduce this every time, can you check this:
- Close Digikam. 
- Open Konsole
- Write "export MALLOC_CHECK_=" +  Enter
- Write "digikam" + Enter
- Now use Digikam normaly and check if it crashes at closing it. 
Thanks
Comment 6 caulier.gilles 2009-12-25 20:11:00 UTC
digiKam 1.0.0 is out since few days...

http://www.digikam.org/drupal/node/491

Please try with this version coming with more than 400 bug-fixes.

Thanks in advance

Gilles Caulier
Comment 7 Pino Toscano 2009-12-27 01:28:42 UTC

*** This bug has been marked as a duplicate of bug 196207 ***
Comment 8 caulier.gilles 2022-01-27 16:14:48 UTC
Fixed with https://bugs.kde.org/show_bug.cgi?id=196207