Bug 221110

Summary: Writing Exif-Information (Tags) resulted in Segmentation Fault [mem2chunk_check, free_check, qFree]
Product: [Applications] digikam Reporter: Jonathan Weber <weber-jonathan>
Component: Thumbs-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: 1.0.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 6.3.0

Description Jonathan Weber 2010-01-03 14:51:45 UTC
Application: digikam (1.0.0)
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-16-generic i686
Distribution: Ubuntu 9.10

-- Information about the crash:
I applied some tags to an image and selected the next one in the album. I was asked if I want digiKam to save the changes I made. I checked the box to never ask this again and clicked "save". Afterwards, digikam crashed.

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

Thread 18 (Thread 0xb5108b70 (LWP 2745)):
[KCrash Handler]
#6  mem2chunk_check (mem=0xfc119340, magic_p=<value optimized out>) at hooks.c:166
#7  0x0798dc38 in free_check (mem=0xb119370, caller=0x1f6da1d) at hooks.c:279
#8  0x07990806 in *__GI___libc_free (mem=0xf0ffffd8) at malloc.c:3677
#9  0x01f6da1d in qFree(void*) () from /usr/lib/libQtCore.so.4
#10 0x01fbd8e0 in QString::free(QString::Data*) () from /usr/lib/libQtCore.so.4
#11 0x01f6ae8b in ?? () from /usr/lib/libQtCore.so.4
#12 0x01f8ce38 in QTime::fromString(QString const&, Qt::DateFormat) () from /usr/lib/libQtCore.so.4
#13 0x01f8da03 in QDateTime::fromString(QString const&, Qt::DateFormat) () from /usr/lib/libQtCore.so.4
#14 0x00a72381 in Digikam::AlbumDB::getItemScanInfos(int) () from /usr/lib/libdigikamdatabase.so.1
#15 0x00a83b37 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.1
#16 0x00a8424c in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.1
#17 0x00a85097 in Digikam::CollectionScanner::scanAlbumRoot(Digikam::CollectionLocation const&) () from /usr/lib/libdigikamdatabase.so.1
#18 0x00a85b67 in Digikam::CollectionScanner::partialScan(QString const&, QString const&) () from /usr/lib/libdigikamdatabase.so.1
#19 0x00a85e94 in Digikam::CollectionScanner::partialScan(QString const&) () from /usr/lib/libdigikamdatabase.so.1
#20 0x0830449d in ?? ()
#21 0x01f733ae in ?? () from /usr/lib/libQtCore.so.4
#22 0x0094580e in start_thread (arg=0xb5108b70) at pthread_create.c:300
#23 0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 17 (Thread 0xb48f6b70 (LWP 2747)):
#0  0x00947d4b in __pthread_mutex_lock (mutex=0x8b2ec5c) at pthread_mutex_lock.c:61
#1  0x0389ffcf in g_main_context_prepare () from /lib/libglib-2.0.so.0
#2  0x038a0351 in ?? () from /lib/libglib-2.0.so.0
#3  0x038a0863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x020a0c0f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x020734c9 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x0207391a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x01f70558 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x00afd1cd in ?? () from /usr/lib/libdigikamdatabase.so.1
#9  0x01f733ae in ?? () from /usr/lib/libQtCore.so.4
#10 0x0094580e in start_thread (arg=0xb48f6b70) at pthread_create.c:300
#11 0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 16 (Thread 0xb3ffbb70 (LWP 2748)):
#0  0x038a001b in g_main_context_prepare () from /lib/libglib-2.0.so.0
#1  0x038a0351 in ?? () from /lib/libglib-2.0.so.0
#2  0x038a0863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x020a0c0f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x020734c9 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x0207391a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x01f70558 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00afd1cd in ?? () from /usr/lib/libdigikamdatabase.so.1
#8  0x01f733ae in ?? () from /usr/lib/libQtCore.so.4
#9  0x0094580e in start_thread (arg=0xb3ffbb70) at pthread_create.c:300
#10 0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 15 (Thread 0xb37fab70 (LWP 2749)):
#0  0x00f59422 in __kernel_vsyscall ()
#1  0x00949e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x01f74307 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x068d615a in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#4  0x01f733ae in ?? () from /usr/lib/libQtCore.so.4
#5  0x0094580e in start_thread (arg=0xb37fab70) at pthread_create.c:300
#6  0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 14 (Thread 0xb2ff9b70 (LWP 2750)):
#0  0x00f59422 in __kernel_vsyscall ()
#1  0x079dfba6 in *__GI___poll (fds=0x7a60ff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0x038ad54b in g_poll () from /lib/libglib-2.0.so.0
#3  0x038a056b in ?? () from /lib/libglib-2.0.so.0
#4  0x038a0863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x020a0c0f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x020734c9 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x0207391a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0x01f70558 in QThread::exec() () from /usr/lib/libQtCore.so.4
#9  0x01f733ae in ?? () from /usr/lib/libQtCore.so.4
#10 0x0094580e in start_thread (arg=0xb2ff9b70) at pthread_create.c:300
#11 0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 13 (Thread 0xb27f8b70 (LWP 2751)):
#0  0x00947d06 in __pthread_mutex_lock (mutex=0x8b56f4c) at pthread_mutex_lock.c:47
#1  0x0389ffcf in g_main_context_prepare () from /lib/libglib-2.0.so.0
#2  0x038a0351 in ?? () from /lib/libglib-2.0.so.0
#3  0x038a0863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x020a0c0f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x020734c9 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x0207391a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x01f70558 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x01f733ae in ?? () from /usr/lib/libQtCore.so.4
#9  0x0094580e in start_thread (arg=0xb27f8b70) at pthread_create.c:300
#10 0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 12 (Thread 0xb1ff7b70 (LWP 2752)):
#0  0x00f59422 in __kernel_vsyscall ()
#1  0x00949e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x01f74307 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x068d615a in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#4  0x01f733ae in ?? () from /usr/lib/libQtCore.so.4
#5  0x0094580e in start_thread (arg=0xb1ff7b70) at pthread_create.c:300
#6  0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 11 (Thread 0xaf99fb70 (LWP 2753)):
#0  0x00f59422 in __kernel_vsyscall ()
#1  0x0094a142 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0x02ebf9ff in ?? () from /usr/lib/libxine.so.1
#3  0x0094580e in start_thread (arg=0xaf99fb70) at pthread_create.c:300
#4  0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 10 (Thread 0xaed93b70 (LWP 2754)):
#0  0x00f59422 in __kernel_vsyscall ()
#1  0x079e6981 in select () from /lib/tls/i686/cmov/libc.so.6
#2  0x02ee8be0 in xine_usec_sleep () from /usr/lib/libxine.so.1
#3  0x02ecd011 in ?? () from /usr/lib/libxine.so.1
#4  0x0094580e in start_thread (arg=0xaed93b70) at pthread_create.c:300
#5  0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 9 (Thread 0xae592b70 (LWP 2755)):
#0  __pthread_mutex_unlock_usercnt (mutex=0x8da24d4, decr=1) at pthread_mutex_unlock.c:41
#1  0x0389ff7e in g_main_context_prepare () from /lib/libglib-2.0.so.0
#2  0x038a0351 in ?? () from /lib/libglib-2.0.so.0
#3  0x038a0863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x020a0c0f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x020734c9 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x0207391a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x01f70558 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x065e5a5a in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#9  0x01f733ae in ?? () from /usr/lib/libQtCore.so.4
#10 0x0094580e in start_thread (arg=0xae592b70) at pthread_create.c:300
#11 0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 8 (Thread 0xadd91b70 (LWP 2756)):
#0  0x00f59422 in __kernel_vsyscall ()
#1  0x079dfba6 in *__GI___poll (fds=0x7a60ff4, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0x0379fcc2 in ?? () from /usr/lib/libpulse.so.0
#3  0x0378ce09 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#4  0x0378ec23 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#5  0x0378ecf4 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#6  0x0379fbc3 in ?? () from /usr/lib/libpulse.so.0
#7  0x037ecac2 in ?? () from /usr/lib/libpulsecommon-0.9.19.so
#8  0x0094580e in start_thread (arg=0xadd91b70) at pthread_create.c:300
#9  0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 7 (Thread 0xa9543b70 (LWP 2757)):
#0  0x00f59422 in __kernel_vsyscall ()
#1  0x00949e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x02ed05ee in ?? () from /usr/lib/libxine.so.1
#3  0x0094580e in start_thread (arg=0xa9543b70) at pthread_create.c:300
#4  0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 6 (Thread 0xa8bffb70 (LWP 2758)):
#0  0x00f59422 in __kernel_vsyscall ()
#1  0x00949e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x01f74307 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x068d615a in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#4  0x01f733ae in ?? () from /usr/lib/libQtCore.so.4
#5  0x0094580e in start_thread (arg=0xa8bffb70) at pthread_create.c:300
#6  0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 5 (Thread 0xa83feb70 (LWP 2765)):
#0  0x00f59422 in __kernel_vsyscall ()
#1  0x00949e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x01f74307 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x068d615a in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#4  0x01f733ae in ?? () from /usr/lib/libQtCore.so.4
#5  0x0094580e in start_thread (arg=0xa83feb70) at pthread_create.c:300
#6  0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 4 (Thread 0xa5bf8b70 (LWP 2766)):
#0  0x00f59422 in __kernel_vsyscall ()
#1  0x00949e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x01f74307 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x068d615a in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#4  0x01f733ae in ?? () from /usr/lib/libQtCore.so.4
#5  0x0094580e in start_thread (arg=0xa5bf8b70) at pthread_create.c:300
#6  0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0xa26c5b70 (LWP 2784)):
#0  0x00f59422 in __kernel_vsyscall ()
#1  0x00949e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x01f74307 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x068d615a in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#4  0x01f733ae in ?? () from /usr/lib/libQtCore.so.4
#5  0x0094580e in start_thread (arg=0xa26c5b70) at pthread_create.c:300
#6  0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0x9ff7db70 (LWP 2785)):
#0  0x00f59422 in __kernel_vsyscall ()
#1  0x00949e15 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0x01f74307 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x068d615a in Digikam::LoadSaveThread::run() () from /usr/lib/libdigikamcore.so.1
#4  0x01f733ae in ?? () from /usr/lib/libQtCore.so.4
#5  0x0094580e in start_thread (arg=0x9ff7db70) at pthread_create.c:300
#6  0x079ed7ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb67cd790 (LWP 2744)):
#0  0x00f59422 in __kernel_vsyscall ()
#1  0x079dfba6 in *__GI___poll (fds=0x7a60ff4, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0x061c3d80 in ?? () from /usr/lib/libxcb.so.1
#3  0x061c42eb in ?? () from /usr/lib/libxcb.so.1
#4  0x061c4687 in xcb_writev () from /usr/lib/libxcb.so.1
#5  0x07ee62e9 in _XSend () from /usr/lib/libX11.so.6
#6  0x07ee6900 in _XEventsQueued () from /usr/lib/libX11.so.6
#7  0x07ecf5ff in XEventsQueued () from /usr/lib/libX11.so.6
#8  0x0142cdce in ?? () from /usr/lib/libQtGui.so.4
#9  0x0389ff90 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#10 0x038a0351 in ?? () from /lib/libglib-2.0.so.0
#11 0x038a0863 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#12 0x020a0bd5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#13 0x0142cb75 in ?? () from /usr/lib/libQtGui.so.4
#14 0x020734c9 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#15 0x0207391a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#16 0x02077b0f in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#17 0x0136f237 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#18 0x083a59a5 in ?? ()
#19 0x07937b56 in __libc_start_main (main=0x83a28c0, argc=1, ubp_av=0xbf97ecd4, init=0x83a72e0 <__libc_csu_init>, fini=0x83a72d0 <__libc_csu_fini>, rtld_fini=0x807d20 <_dl_fini>, 
    stack_end=0xbf97eccc) at libc-start.c:220
#20 0x080a2411 in _start ()

Possible duplicates by query: bug 196994.

Reported using DrKonqi
Comment 1 caulier.gilles 2010-01-03 15:21:37 UTC

*** This bug has been marked as a duplicate of bug 220708 ***
Comment 2 Marcel Wiesweg 2010-01-03 16:35:59 UTC
Maybe that glibc bug? Happens in free()
Comment 3 caulier.gilles 2010-01-03 17:45:39 UTC
yes it is Marcel.

Question : why KDE team has switch on this option with glibc ???

Gilles
Comment 4 caulier.gilles 2019-08-15 12:54:24 UTC
Fixed with bug #220708