https://bugs.kde.org/show_bug.cgi?id=386098
Bug ID: 386098 Summary: crash when adding pictures to a running digikam Product: digikam Version: 5.8.0 Platform: Gentoo Packages OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: Albums-Engine Assignee: digikam-bugs-n...@kde.org Reporter: johannes.hi...@datenkhaos.de Target Milestone: --- This is rather hard to reproduce. It happens when adding pictures into a collection of a running digikam. In this case I've moved with dolphin several folders with pictures into a digikam collection. This kicked in digikams scan for new items an after some time it crashed. the backtrace: *** Error in `/usr/bin/digikam': malloc(): smallbin double linked list corrupted: 0x0000000003481f90 *** Thread 1 "digikam" received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 #1 0x00007ffff3d00506 in __GI_abort () at abort.c:90 #2 0x00007ffff3d447b7 in __libc_message (action=action@entry=(do_abort | do_backtrace), fmt=fmt@entry=0x7ffff3e540a0 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:181 #3 0x00007ffff3d4c2e9 in malloc_printerr (action=<optimized out>, str=0x7ffff3e547c0 "malloc(): smallbin double linked list corrupted", ptr=<optimized out>, ar_ptr=<optimized out>) at malloc.c:5423 #4 0x00007ffff3d4faf9 in _int_malloc (av=0x7ffff4084c20 <main_arena>, bytes=<optimized out>) at malloc.c:3593 #5 0x00007ffff3d51525 in __GI___libc_malloc (bytes=24) at malloc.c:3083 #6 0x00007ffff4746d51 in QArrayData::allocate (objectSize=objectSize@entry=1, alignment=alignment@entry=8, capacity=capacity@entry=0, options=..., options@entry=...) at tools/qarraydata.cpp:118 #7 0x00007ffff474d730 in QTypedArrayData<char>::allocate (options=..., capacity=0) at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:223 #8 QTypedArrayData<char>::fromRawData (options=..., n=17, data=0x7fffffffb5f0 "resetInternalData()") at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:244 #9 QByteArray::fromRawData (data=data@entry=0x7fffffffb5f0 "resetInternalData()", size=size@entry=17) at tools/qbytearray.cpp:4230 #10 0x00007ffff48f4660 in QMetaObjectPrivate::decodeMethodSignature (signature=0x7fffffffb5f0 "resetInternalData()", types=...) at kernel/qmetaobject.cpp:688 #11 0x00007ffff48f8880 in QMetaObject::indexOfMethod (this=this@entry=0x7ffff5662480 <QCompletionModel::staticMetaObject>, method=<optimized out>) at kernel/qmetaobject.cpp:645 #12 0x00007ffff48fa97b in QMetaObject::invokeMethod (obj=obj@entry=0x126a1f0, member=member@entry=0x7ffff4994c1e "resetInternalData", type=type@entry=Qt::AutoConnection, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1475 #13 0x00007ffff489435b in QMetaObject::invokeMethod (val9=..., val8=..., val7=..., val6=..., val5=..., val4=..., val3=..., val2=..., val1=..., val0=..., member=0x7ffff4994c1e "resetInternalData", obj=0x126a1f0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs.h:467 #14 QAbstractItemModel::endResetModel (this=this@entry=0x126a1f0) at itemmodels/qabstractitemmodel.cpp:3229 #15 0x00007ffff54bd3a7 in QCompletionModel::filter (this=0x126a1f0, parts=...) at util/qcompleter.cpp:423 #16 0x00007ffff491345d in QMetaObject::activate (sender=sender@entry=0x1264c20, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffba10) at kernel/qobject.cpp:3766 #17 0x00007ffff4913b67 in QMetaObject::activate (sender=sender@entry=0x1264c20, m=m@entry=0x7ffff4b34680 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffba10) at kernel/qobject.cpp:3628 #18 0x00007ffff489254c in QAbstractItemModel::dataChanged (this=this@entry=0x1264c20, _t1=..., _t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:568 #19 0x00007ffff48bb614 in QSortFilterProxyModelPrivate::_q_sourceDataChanged (this=<optimized out>, source_top_left=..., source_bottom_right=..., roles=...) at itemmodels/qsortfilterproxymodel.cpp:1258 #20 0x00007ffff48bc138 in QSortFilterProxyModel::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qsortfilterproxymodel.cpp:204 #21 0x00007ffff491345d in QMetaObject::activate (sender=sender@entry=0x1263d20, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffbd00) at kernel/qobject.cpp:3766 #22 0x00007ffff4913b67 in QMetaObject::activate (sender=sender@entry=0x1263d20, m=m@entry=0x7ffff4b34680 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffbd00) at kernel/qobject.cpp:3628 #23 0x00007ffff489254c in QAbstractItemModel::dataChanged (this=this@entry=0x1263d20, _t1=..., _t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:568 #24 0x00007ffff48bb614 in QSortFilterProxyModelPrivate::_q_sourceDataChanged (this=<optimized out>, source_top_left=..., source_bottom_right=..., roles=...) at itemmodels/qsortfilterproxymodel.cpp:1258 #25 0x00007ffff48bc138 in QSortFilterProxyModel::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qsortfilterproxymodel.cpp:204 #26 0x00007ffff491345d in QMetaObject::activate (sender=sender@entry=0x1263670, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffbff0) at kernel/qobject.cpp:3766 #27 0x00007ffff4913b67 in QMetaObject::activate (sender=sender@entry=0x1263670, m=m@entry=0x7ffff4b34680 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffbff0) at kernel/qobject.cpp:3628 #28 0x00007ffff489254c in QAbstractItemModel::dataChanged (this=this@entry=0x1263670, _t1=..., _t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:568 #29 0x00007ffff76eb3c4 in Digikam::AbstractCountingAlbumModel::updateCount (this=this@entry=0x1263670, album=album@entry=0x5654820) at /var/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/models/abstractalbummodel.cpp:742 #30 0x00007ffff76ebf9f in Digikam::AbstractCountingAlbumModel::includeChildrenCount (this=this@entry=0x1263670, index=...) at /var/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/models/abstractalbummodel.cpp:680 #31 0x00007ffff770cd07 in Digikam::AbstractCountingAlbumTreeView::slotCollapsed (this=<optimized out>, index=...) at /var/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/album/albumtreeview.cpp:1242 #32 0x00007ffff770cde5 in Digikam::AbstractCountingAlbumTreeView::updateShowCountState (this=0x1257b50, index=..., recurse=<optimized out>) at /var/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/album/albumtreeview.cpp:1226 #33 0x00007ffff7713f63 in Digikam::AbstractCountingAlbumTreeView::rowsInserted (this=this@entry=0x1257b50, parent=..., start=start@entry=42, end=end@entry=42) at /var/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/album/albumtreeview.cpp:1262 #34 0x00007ffff7713fbc in Digikam::AbstractCheckableAlbumTreeView::rowsInserted (this=0x1257b50, parent=..., start=42, end=42) at /var/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/album/albumtreeview.cpp:1417 #35 0x00007ffff53bc482 in QAbstractItemView::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qabstractitemview.cpp:412 #36 0x00007ffff491345d in QMetaObject::activate (sender=sender@entry=0x1264c20, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7fffffffc370) at kernel/qobject.cpp:3766 #37 0x00007ffff4913b67 in QMetaObject::activate (sender=sender@entry=0x1264c20, m=m@entry=0x7ffff4b34680 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7fffffffc370) at kernel/qobject.cpp:3628 #38 0x00007ffff489278e in QAbstractItemModel::rowsInserted (this=this@entry=0x1264c20, _t1=..., _t2=<optimized out>, _t3=<optimized out>, _t4=...) at .moc/moc_qabstractitemmodel.cpp:603 #39 0x00007ffff48995eb in QAbstractItemModel::endInsertRows (this=0x1264c20) at itemmodels/qabstractitemmodel.cpp:2709 #40 0x00007ffff48b5efd in QSortFilterProxyModelPrivate::insert_source_items (this=this@entry=0x1264c70, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=orient@entry=Qt::Vertical, emit_signal=true) at itemmodels/qsortfilterproxymodel.cpp:722 #41 0x00007ffff48b931e in QSortFilterProxyModelPrivate::source_items_inserted (this=this@entry=0x1264c70, source_parent=..., start=<optimized out>, end=<optimized out>, orient=orient@entry=Qt::Vertical) at itemmodels/qsortfilterproxymodel.cpp:833 #42 0x00007ffff48b95ef in QSortFilterProxyModelPrivate::_q_sourceRowsInserted (this=0x1264c70, source_parent=..., start=<optimized out>, end=<optimized out>) at itemmodels/qsortfilterproxymodel.cpp:1398 #43 0x00007ffff48bc1b9 in QSortFilterProxyModel::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qsortfilterproxymodel.cpp:211 #44 0x00007ffff491345d in QMetaObject::activate (sender=sender@entry=0x1263d20, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7fffffffc700) at kernel/qobject.cpp:3766 #45 0x00007ffff4913b67 in QMetaObject::activate (sender=sender@entry=0x1263d20, m=m@entry=0x7ffff4b34680 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7fffffffc700) at kernel/qobject.cpp:3628 #46 0x00007ffff489278e in QAbstractItemModel::rowsInserted (this=this@entry=0x1263d20, _t1=..., _t2=<optimized out>, _t3=<optimized out>, _t4=...) at .moc/moc_qabstractitemmodel.cpp:603 #47 0x00007ffff48995eb in QAbstractItemModel::endInsertRows (this=0x1263d20) at itemmodels/qabstractitemmodel.cpp:2709 #48 0x00007ffff48b5efd in QSortFilterProxyModelPrivate::insert_source_items (this=this@entry=0x1263d80, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=orient@entry=Qt::Vertical, emit_signal=true) at itemmodels/qsortfilterproxymodel.cpp:722 ---Type <return> to continue, or q <return> to quit--- #49 0x00007ffff48b931e in QSortFilterProxyModelPrivate::source_items_inserted (this=this@entry=0x1263d80, source_parent=..., start=<optimized out>, end=<optimized out>, orient=orient@entry=Qt::Vertical) at itemmodels/qsortfilterproxymodel.cpp:833 #50 0x00007ffff48b95ef in QSortFilterProxyModelPrivate::_q_sourceRowsInserted (this=0x1263d80, source_parent=..., start=<optimized out>, end=<optimized out>) at itemmodels/qsortfilterproxymodel.cpp:1398 #51 0x00007ffff48bc1b9 in QSortFilterProxyModel::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qsortfilterproxymodel.cpp:211 #52 0x00007ffff491345d in QMetaObject::activate (sender=sender@entry=0x1263670, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7fffffffca90) at kernel/qobject.cpp:3766 #53 0x00007ffff4913b67 in QMetaObject::activate (sender=sender@entry=0x1263670, m=m@entry=0x7ffff4b34680 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=10, argv=argv@entry=0x7fffffffca90) at kernel/qobject.cpp:3628 #54 0x00007ffff489278e in QAbstractItemModel::rowsInserted (this=this@entry=0x1263670, _t1=..., _t2=<optimized out>, _t3=<optimized out>, _t4=...) at .moc/moc_qabstractitemmodel.cpp:603 #55 0x00007ffff48995eb in QAbstractItemModel::endInsertRows (this=this@entry=0x1263670) at itemmodels/qabstractitemmodel.cpp:2709 #56 0x00007ffff76e953b in Digikam::AbstractAlbumModel::slotAlbumAdded (this=0x1263670, album=<optimized out>) at /var/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/models/abstractalbummodel.cpp:459 #57 0x00007ffff491345d in QMetaObject::activate (sender=sender@entry=0x7ffff7dd6460 <_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fffffffcc60) at kernel/qobject.cpp:3766 #58 0x00007ffff4913b67 in QMetaObject::activate (sender=sender@entry=0x7ffff7dd6460 <_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>, m=m@entry=0x7ffff7dacec0 <Digikam::AlbumManager::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fffffffcc60) at kernel/qobject.cpp:3628 #59 0x00007ffff773c6b2 in Digikam::AlbumManager::signalAlbumAdded (this=this@entry=0x7ffff7dd6460 <_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>, _t1=<optimized out>, _t1@entry=0x5654820) at /var/tmp/portage/media-gfx/digikam-9999/work/digikam-9999_build/libs/album/digikamalbum_src_autogen/EWIEGA46WW/moc_albummanager.cpp:585 #60 0x00007ffff7727add in Digikam::AlbumManager::insertTAlbum (this=this@entry=0x7ffff7dd6460 <_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>, album=0x5654820, parent=parent@entry=0x2d3eed0) at /var/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/album/albummanager.cpp:3011 #61 0x00007ffff772a4d7 in Digikam::AlbumManager::scanTAlbums (this=0x7ffff7dd6460 <_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>) at /var/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/libs/album/albummanager.cpp:1650 #62 0x00007ffff773e57f in Digikam::AlbumManager::qt_static_metacall (_o=0x7ffff7dd6460 <_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /var/tmp/portage/media-gfx/digikam-9999/work/digikam-9999_build/libs/album/digikamalbum_src_autogen/EWIEGA46WW/moc_albummanager.cpp:336 #63 0x00007ffff491345d in QMetaObject::activate (sender=sender@entry=0x8ddb10, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffcf00) at kernel/qobject.cpp:3766 #64 0x00007ffff4913b67 in QMetaObject::activate (sender=sender@entry=0x8ddb10, m=m@entry=0x7ffff4b35e80 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffcf00) at kernel/qobject.cpp:3628 #65 0x00007ffff491f747 in QTimer::timeout (this=this@entry=0x8ddb10, _t1=...) at .moc/moc_qtimer.cpp:201 #66 0x00007ffff491fa28 in QTimer::timerEvent (this=0x8ddb10, e=<optimized out>) at kernel/qtimer.cpp:255 #67 0x00007ffff49141cb in QObject::event (this=0x8ddb10, e=<optimized out>) at kernel/qobject.cpp:1268 #68 0x00007ffff517785c in QApplicationPrivate::notify_helper (this=this@entry=0x703580, receiver=receiver@entry=0x8ddb10, e=e@entry=0x7fffffffd1f0) at kernel/qapplication.cpp:3722 #69 0x00007ffff517eee6 in QApplication::notify (this=0x7fffffffd580, receiver=0x8ddb10, e=0x7fffffffd1f0) at kernel/qapplication.cpp:3481 #70 0x00007ffff48ead96 in QCoreApplication::notifyInternal2 (receiver=0x8ddb10, event=event@entry=0x7fffffffd1f0) at kernel/qcoreapplication.cpp:1018 #71 0x00007ffff493a84b in QCoreApplication::sendEvent (event=0x7fffffffd1f0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:233 #72 QTimerInfoList::activateTimers (this=this@entry=0x734400) at kernel/qtimerinfo_unix.cpp:643 #73 0x00007ffff493b114 in timerSourceDispatch (source=source@entry=0x7343a0) at kernel/qeventdispatcher_glib.cpp:182 #74 0x00007fffec66ff5e in g_main_dispatch (context=0x7fffd4004fc0) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/glib/gmain.c:3234 #75 g_main_context_dispatch (context=context@entry=0x7fffd4004fc0) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/glib/gmain.c:3899 #76 0x00007fffec670190 in g_main_context_iterate (context=context@entry=0x7fffd4004fc0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/glib/gmain.c:3972 #77 0x00007fffec67021c in g_main_context_iteration (context=0x7fffd4004fc0, may_block=may_block@entry=1) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/glib/gmain.c:4033 #78 0x00007ffff493b53f in QEventDispatcherGlib::processEvents (this=0x759c60, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #79 0x00007ffff48e9ba2 in QEventLoop::exec (this=this@entry=0x7fffffffd440, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #80 0x00007ffff48f1fac in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1291 #81 0x00007ffff4c3341c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1679 #82 0x00007ffff51777b5 in QApplication::exec () at kernel/qapplication.cpp:2910 #83 0x0000000000406761 in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/media-gfx/digikam-9999/work/digikam-9999/app/main/main.cpp:285 This time it was SIGABRT cause glibc was involved directly, but I think the SIGSEGV I've seen before could be the same bug. It looks like another concurrency problem and is not reliable reproducible. It may need thousands of pictures, moving into the collection of a running digikam, maybe several folders. -- You are receiving this mail because: You are watching all bug changes.