Bug 220172

Summary: Digikam crash on scanning directories [mem2chunk_check, free_check, QHashData::free_helper]
Product: [Applications] digikam Reporter: Olaf Piesche <opiesche>
Component: Database-ScanAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 7.0.0
Sentry Crash Report:

Description Olaf Piesche 2009-12-26 21:55:12 UTC
Application: digikam (rc..-rc)
KDE Platform Version: 4.3.85 (KDE 4.3.85 (KDE 4.4 Beta2))
Qt Version: 4.6.0
Operating System: Linux 2.6.31-17-generic x86_64
Distribution: Ubuntu 9.10

-- Information about the crash:
Starting digikam on KDE SC 4.4 beta 2 on Kubuntu karmic. Crashes almost everytime on scanning directories, sometimes (1/20) it starts but then crashes shortly afterwards during image editing (possibly a different bug, will report when I get it again). Kubuntu packages are a bit broken at the moment, but I've gotten things to work by removing libkdcraw7, libkipi6 and kipi-plugins, then running digikam with libkdcraw8 and libkipi7. 
I can run this through gdb and provide more information if necessary.

The crash can be reproduced everytime.

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

Thread 14 (Thread 0x7f49baf37910 (LWP 4379)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f49c7b9667b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00000000006c29c3 in ?? ()
#3  0x00007f49c7b956c5 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f49c7906a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#5  0x00007f49c6ec57bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7f49b76d4910 (LWP 4381)):
#0  0x00007fff0d7ff82c in clock_gettime ()
#1  0x00007f49c0340fdf in *__GI_clock_gettime (clock_id=1, tp=0x7f49b76d3c80) at ../sysdeps/unix/clock_gettime.c:100
#2  0x00007f49c7cafacf in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f49c7cb474d in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f49c7cb4775 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007f49c7cb286d in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007f49c7cb2915 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007f49c1499dba in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x00007f49c149a191 in ?? () from /lib/libglib-2.0.so.0
#9  0x00007f49c149a6c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x00007f49c7cb2676 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0x00007f49c7c87972 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#12 0x00007f49c7c87d4c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#13 0x00007f49c7b92c79 in QThread::exec() () from /usr/lib/libQtCore.so.4
#14 0x00007f49c7b956c5 in ?? () from /usr/lib/libQtCore.so.4
#15 0x00007f49c7906a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#16 0x00007f49c6ec57bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#17 0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 12 (Thread 0x7f49b5f5c910 (LWP 4382)):
#0  0x00007fff0d7ff82c in clock_gettime ()
#1  0x00007f49c0340fdf in *__GI_clock_gettime (clock_id=1, tp=0x7f49b5f5bc80) at ../sysdeps/unix/clock_gettime.c:100
#2  0x00007f49c7cafacf in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f49c7cb474d in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f49c7cb4775 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007f49c7cb286d in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007f49c7cb2915 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007f49c1499dba in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x00007f49c149a191 in ?? () from /lib/libglib-2.0.so.0
#9  0x00007f49c149a6c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x00007f49c7cb2676 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0x00007f49c7c87972 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#12 0x00007f49c7c87d4c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#13 0x00007f49c7b92c79 in QThread::exec() () from /usr/lib/libQtCore.so.4
#14 0x00007f49c7b956c5 in ?? () from /usr/lib/libQtCore.so.4
#15 0x00007f49c7906a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#16 0x00007f49c6ec57bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#17 0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f49b575b910 (LWP 4383)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f49c7b9667b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f49cb6a9d02 in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#3  0x00007f49c7b956c5 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f49c7906a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#5  0x00007f49c6ec57bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f49b4f5a910 (LWP 4384)):
#0  0x00007fff0d7ff82c in clock_gettime ()
#1  0x00007f49c0340fdf in *__GI_clock_gettime (clock_id=1, tp=0x7f49b4f59c80) at ../sysdeps/unix/clock_gettime.c:100
#2  0x00007f49c7cafacf in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f49c7cb474d in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f49c7cb4775 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007f49c7cb286d in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007f49c7cb2915 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007f49c1499dba in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x00007f49c149a191 in ?? () from /lib/libglib-2.0.so.0
#9  0x00007f49c149a6c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x00007f49c7cb2676 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0x00007f49c7c87972 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#12 0x00007f49c7c87d4c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#13 0x00007f49c7b92c79 in QThread::exec() () from /usr/lib/libQtCore.so.4
#14 0x00007f49c7b956c5 in ?? () from /usr/lib/libQtCore.so.4
#15 0x00007f49c7906a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#16 0x00007f49c6ec57bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#17 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f49b4759910 (LWP 4385)):
#0  0x00007fff0d7ff82c in clock_gettime ()
#1  0x00007f49c0340fdf in *__GI_clock_gettime (clock_id=1, tp=0x7f49b4758c80) at ../sysdeps/unix/clock_gettime.c:100
#2  0x00007f49c7cafacf in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f49c7cb474d in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f49c7cb4775 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007f49c7cb286d in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007f49c7cb2915 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007f49c1499dba in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x00007f49c149a191 in ?? () from /lib/libglib-2.0.so.0
#9  0x00007f49c149a6c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x00007f49c7cb2676 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0x00007f49c7c87972 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#12 0x00007f49c7c87d4c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#13 0x00007f49c7b92c79 in QThread::exec() () from /usr/lib/libQtCore.so.4
#14 0x00007f49c7b956c5 in ?? () from /usr/lib/libQtCore.so.4
#15 0x00007f49c7906a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#16 0x00007f49c6ec57bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#17 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f49b3f58910 (LWP 4386)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f49c7b9667b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f49cb6a9d02 in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#3  0x00007f49c7b956c5 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f49c7906a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#5  0x00007f49c6ec57bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f49abf79910 (LWP 4387)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:220
#1  0x00007f49b185ada1 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f49c7906a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f49c6ec57bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f49a9df5910 (LWP 4388)):
#0  0x00007f49c6ebe3c2 in select () from /lib/libc.so.6
#1  0x00007f49b1883815 in xine_usec_sleep () from /usr/lib/libxine.so.1
#2  0x00007f49b18689b7 in ?? () from /usr/lib/libxine.so.1
#3  0x00007f49c7906a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007f49c6ec57bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f49a95f4910 (LWP 4389)):
#0  0x00007fff0d7ff82c in clock_gettime ()
#1  0x00007f49c0340fdf in *__GI_clock_gettime (clock_id=1, tp=0x7f49a95f3c40) at ../sysdeps/unix/clock_gettime.c:100
#2  0x00007f49c7cafacf in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f49c7cb474d in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f49c7cb4775 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007f49c7cb286d in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007f49c1499dba in g_main_context_prepare () from /lib/libglib-2.0.so.0
#7  0x00007f49c149a191 in ?? () from /lib/libglib-2.0.so.0
#8  0x00007f49c149a6c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#9  0x00007f49c7cb2676 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#10 0x00007f49c7c87972 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0x00007f49c7c87d4c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#12 0x00007f49c7b92c79 in QThread::exec() () from /usr/lib/libQtCore.so.4
#13 0x00007f49b1ab6570 in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#14 0x00007f49c7b956c5 in ?? () from /usr/lib/libQtCore.so.4
#15 0x00007f49c7906a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#16 0x00007f49c6ec57bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#17 0x0000000000000000 in ?? ()
The current source language is "auto; currently c".

Thread 4 (Thread 0x7f49a8df3910 (LWP 4390)):
#0  0x00007f49c6eb9373 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f49ab35f20f in ?? () from /usr/lib/libpulse.so.0
#2  0x00007f49ab34f5e6 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#3  0x00007f49ab350eb9 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#4  0x00007f49ab350f70 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#5  0x00007f49ab35f12b in ?? () from /usr/lib/libpulse.so.0
#6  0x00007f49ab120050 in ?? () from /usr/lib/libpulsecommon-0.9.19.so
#7  0x00007f49c7906a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#8  0x00007f49c6ec57bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f49a45f1910 (LWP 4391)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f49b186baa3 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f49c7906a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007f49c6ec57bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f49a228b910 (LWP 4392)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f49c7b9667b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f49cb6a9d02 in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#3  0x00007f49c7b956c5 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f49c7906a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#5  0x00007f49c6ec57bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 1 (Thread 0x7f49ce660860 (LWP 4378)):
[KCrash Handler]
#5  mem2chunk_check (mem=0x2e14fa0, magic_p=0x0) at hooks.c:166
#6  0x00007f49c6e5da20 in free_check (mem=0x2e14fa0, caller=<value optimized out>) at hooks.c:279
#7  0x00007f49c7bb1968 in QHashData::free_helper(void (*)(QHashData::Node*)) () from /usr/lib/libQtCore.so.4
#8  0x00007f49c88e9896 in ?? () from /usr/lib/libQtGui.so.4
#9  0x00007f49c888242d in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#10 0x00007f49c9d47856 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#11 0x00007f49c7c8904c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#12 0x00007f49c88cfd98 in QWidgetPrivate::hideChildren(bool) () from /usr/lib/libQtGui.so.4
#13 0x00007f49c88cfce1 in QWidgetPrivate::hideChildren(bool) () from /usr/lib/libQtGui.so.4
#14 0x00007f49c88cfce1 in QWidgetPrivate::hideChildren(bool) () from /usr/lib/libQtGui.so.4
#15 0x00007f49c88cfce1 in QWidgetPrivate::hideChildren(bool) () from /usr/lib/libQtGui.so.4
#16 0x00007f49c88cfce1 in QWidgetPrivate::hideChildren(bool) () from /usr/lib/libQtGui.so.4
#17 0x00007f49c88cfea4 in QWidgetPrivate::hide_helper() () from /usr/lib/libQtGui.so.4
#18 0x00007f49c88d8910 in QWidget::setVisible(bool) () from /usr/lib/libQtGui.so.4
#19 0x00007f49c88d431b in QWidget::setParent(QWidget*, QFlags<Qt::WindowType>) () from /usr/lib/libQtGui.so.4
#20 0x00007f49c88d4562 in QWidget::setParent(QWidget*) () from /usr/lib/libQtGui.so.4
#21 0x00007f49cb71a5d4 in Digikam::Sidebar::appendTab(QWidget*, QPixmap const&, QString const&) () from /usr/lib/libdigikamcore.so.1
#22 0x00007f49cb7702b7 in Digikam::ImagePropertiesSideBar::ImagePropertiesSideBar(QWidget*, Digikam::SidebarSplitter*, KMultiTabBar::KMultiTabBarPosition, bool) () from /usr/lib/libdigikamcore.so.1
#23 0x00000000004827ed in _start ()
The current source language is "auto; currently c".

Reported using DrKonqi
Comment 1 caulier.gilles 2009-12-27 17:14:44 UTC

*** This bug has been marked as a duplicate of bug 220288 ***
Comment 2 caulier.gilles 2019-12-25 17:21:07 UTC
Not reproducible using digiKam 7.0.0 beta1.