Bug 368965

Summary: Crash when clicking on Table button in top menu bar [patch]
Product: [Applications] digikam Reporter: Marko Käning <mk-lists>
Component: Albums-TableViewAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, metzpinguin, rjvbertin
Priority: NOR Keywords: drkonqi
Version: 5.1.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: macOS   
Latest Commit: Version Fixed In: 5.3.0
Sentry Crash Report:
Attachments: error message
TableViewItemDelegate.patch

Description Marko Käning 2016-09-17 18:22:51 UTC
Application: digikam (5.1.0)
 (Compiled from sources)
Qt Version: 5.6.1
Frameworks Version: 5.24.0
Operating System: Darwin 13.4.0 x86_64
Distribution (Platform): MacPorts Packages

-- Information about the crash:
- What I was doing when the application crashed:

1) freshly installed kf5-digikam on qt5-kde-based MacPorts system

2) clicking on "Table"-button in top menu bar

3) followed by some Qt5 crash message due to a database query

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault: 11
(lldb) process attach --pid 52527
Process 52527 stopped
Executable module set to "/Applications/MacPorts/KF5/digikam.app/Contents/MacOS/digikam".
Architecture set to: x86_64-apple-macosx.
(lldb) set set term-width 200
(lldb) thread info
thread #1: tid = 0x1583bd, 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP

(lldb) bt all
* thread #1: tid = 0x1583bd, 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff91abdc3b libsystem_pthread.dylib`_pthread_cond_wait + 727
    frame #2: 0x00000001085eb67b QtCore`QWaitConditionPrivate::wait(unsigned long) + 75
    frame #3: 0x00000001085eb532 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 162
    frame #4: 0x00000001085eacee QtCore`QThread::wait(unsigned long) + 110
    frame #5: 0x00000001009dc9a5 libdigikamgui.5.1.0.dylib`Digikam::ScanController::~ScanController() + 39
    frame #6: 0x00000001009dfcdc libdigikamgui.5.1.0.dylib`Digikam::(anonymous namespace)::Q_QGS_creator::innerFunction()::Cleanup::~Cleanup() + 26
    frame #7: 0x00007fff91dad7ad libsystem_c.dylib`__cxa_finalize + 177
    frame #8: 0x00007fff91dada58 libsystem_c.dylib`exit + 22
    frame #9: 0x00000001085d68e2 QtCore`qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&) + 962
    frame #10: 0x00000001085d8548 QtCore`QMessageLogger::fatal(char const*, ...) const + 232
    frame #11: 0x00000001085d2a75 QtCore`qt_assert_x(char const*, char const*, char const*, int) + 85
    frame #12: 0x0000000100aa3611 libdigikamgui.5.1.0.dylib`QList<Digikam::TableViewColumn*>::at(int) const + 77
    frame #13: 0x0000000100aa00ea libdigikamgui.5.1.0.dylib`Digikam::TableViewModel::getColumnObject(int) + 18
    frame #14: 0x0000000100a9e664 libdigikamgui.5.1.0.dylib`Digikam::TableViewItemDelegate::sizeHint(QStyleOptionViewItem const&, QModelIndex const&) const + 214
    frame #15: 0x00000001078f4507 QtWidgets`QTreeViewPrivate::paintAlternatingRowColors(QPainter*, QStyleOptionViewItem*, int, int) const + 183
    frame #16: 0x00000001078f41ed QtWidgets`QTreeView::drawTree(QPainter*, QRegion const&) const + 1725
    frame #17: 0x00000001078f3a6d QtWidgets`QTreeView::paintEvent(QPaintEvent*) + 349
    frame #18: 0x00000001076812b7 QtWidgets`QWidget::event(QEvent*) + 2055
    frame #19: 0x00000001077797bd QtWidgets`QFrame::event(QEvent*) + 45
    frame #20: 0x0000000107808e9a QtWidgets`QAbstractScrollArea::viewportEvent(QEvent*) + 170
    frame #21: 0x00000001078b10df QtWidgets`QAbstractItemView::viewportEvent(QEvent*) + 1439
    frame #22: 0x00000001078f37e1 QtWidgets`QTreeView::viewportEvent(QEvent*) + 513
    frame #23: 0x0000000107809b15 QtWidgets`QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) + 37
    frame #24: 0x00000001087a9dae QtCore`QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) + 222
    frame #25: 0x000000010763f4f1 QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 273
    frame #26: 0x0000000107642a7e QtWidgets`QApplication::notify(QObject*, QEvent*) + 8558
    frame #27: 0x00000001087a9aa7 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 167
    frame #28: 0x000000010767a9ef QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 3423
    frame #29: 0x000000010767b22a QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1226
    frame #30: 0x000000010767b0b0 QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 848
    frame #31: 0x000000010767aca1 QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 4113
    frame #32: 0x000000010767b22a QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1226
    frame #33: 0x000000010767aca1 QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 4113
    frame #34: 0x000000010767b22a QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1226
    frame #35: 0x000000010767aca1 QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 4113
    frame #36: 0x000000010767b22a QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1226
    frame #37: 0x000000010767aca1 QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 4113
    frame #38: 0x000000010767b22a QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1226
    frame #39: 0x000000010767aca1 QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 4113
    frame #40: 0x000000010767b22a QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1226
    frame #41: 0x000000010767aca1 QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 4113
    frame #42: 0x000000010767b22a QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 1226
    frame #43: 0x000000010767b0b0 QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 848
    frame #44: 0x000000010767b0b0 QtWidgets`QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 848
    frame #45: 0x000000010767aca1 QtWidgets`QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 4113
    frame #46: 0x000000010764d5fe QtWidgets`QWidgetBackingStore::doSync() + 5422
    frame #47: 0x000000010764b8e1 QtWidgets`QWidgetBackingStore::sync() + 97
    frame #48: 0x00000001076716ec QtWidgets`QWidgetPrivate::syncBackingStore() + 236
    frame #49: 0x00000001076814cb QtWidgets`QWidget::event(QEvent*) + 2587
    frame #50: 0x000000010779147a QtWidgets`QMainWindow::event(QEvent*) + 858
    frame #51: 0x0000000106121c2d libKF5XmlGui.5.dylib`KMainWindow::event(QEvent*) + 629
    frame #52: 0x0000000106153582 libKF5XmlGui.5.dylib`KXmlGuiWindow::event(QEvent*) + 24
    frame #53: 0x000000010763f506 QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 294
    frame #54: 0x0000000107642a7e QtWidgets`QApplication::notify(QObject*, QEvent*) + 8558
    frame #55: 0x00000001087a9aa7 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 167
    frame #56: 0x000000010764927a QtWidgets`QWidgetBackingStore::sendUpdateRequest(QWidget*, QWidgetBackingStore::UpdateTime) + 250
    frame #57: 0x0000000107649dc2 QtWidgets`QWidgetBackingStore::markDirty(QRect const&, QWidget*, QWidgetBackingStore::UpdateTime, QWidgetBackingStore::BufferState) + 1106
    frame #58: 0x000000010768489f QtWidgets`QWidget::repaint(QRect const&) + 207
    frame #59: 0x00000001076847c4 QtWidgets`QWidget::repaint() + 52
    frame #60: 0x000000010772e350 QtWidgets`QAbstractButtonPrivate::click() + 208
    frame #61: 0x000000010772f40e QtWidgets`QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 270
    frame #62: 0x000000010780546f QtWidgets`QToolButton::mouseReleaseEvent(QMouseEvent*) + 15
    frame #63: 0x00000001076810e7 QtWidgets`QWidget::event(QEvent*) + 1591
    frame #64: 0x000000010772f163 QtWidgets`QAbstractButton::event(QEvent*) + 179
    frame #65: 0x0000000107805aa4 QtWidgets`QToolButton::event(QEvent*) + 324
    frame #66: 0x000000010763f506 QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 294
    frame #67: 0x0000000107643256 QtWidgets`QApplication::notify(QObject*, QEvent*) + 10566
    frame #68: 0x00000001087a9aa7 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 167
    frame #69: 0x000000010763ff10 QtWidgets`QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) + 1072
    frame #70: 0x00000001076a25bc QtWidgets`QWidgetWindow::handleMouseEvent(QMouseEvent*) + 1404
    frame #71: 0x00000001076a15c9 QtWidgets`QWidgetWindow::event(QEvent*) + 185
    frame #72: 0x000000010763f506 QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 294
    frame #73: 0x0000000107642a7e QtWidgets`QApplication::notify(QObject*, QEvent*) + 8558
    frame #74: 0x00000001087a9aa7 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 167
    frame #75: 0x0000000107efefa5 QtGui`QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 2581
    frame #76: 0x0000000107efde0e QtGui`QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) + 126
    frame #77: 0x0000000107ee856b QtGui`QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 411
    frame #78: 0x0000000110df1b81 libqcocoa.dylib`QCocoaEventDispatcherPrivate::postedEventsSourceCallback(void*) + 33
    frame #79: 0x00007fff923a15b1 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #80: 0x00007fff92392c62 CoreFoundation`__CFRunLoopDoSources0 + 242
    frame #81: 0x00007fff923923ef CoreFoundation`__CFRunLoopRun + 831
    frame #82: 0x00007fff92391e75 CoreFoundation`CFRunLoopRunSpecific + 309
    frame #83: 0x00007fff8ffbaa0d HIToolbox`RunCurrentEventLoopInMode + 226
    frame #84: 0x00007fff8ffba685 HIToolbox`ReceiveNextEventCommon + 173
    frame #85: 0x00007fff8ffba5bc HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 65
    frame #86: 0x00007fff8e29424e AppKit`_DPSNextEvent + 1434
    frame #87: 0x00007fff8e29389b AppKit`-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
    frame #88: 0x00007fff8e28799c AppKit`-[NSApplication run] + 553
    frame #89: 0x0000000110df09dd libqcocoa.dylib`QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2189
    frame #90: 0x00000001087a5e71 QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 401
    frame #91: 0x00000001087aa18a QtCore`QCoreApplication::exec() + 346
    frame #92: 0x00000001009acc16 digikam`main + 8758
    frame #93: 0x00007fff8c3c05fd libdyld.dylib`start + 1

  thread #2: tid = 0x1583d2, 0x00007fff8af8e662 libsystem_kernel.dylib`kevent64 + 10, queue = 'com.apple.libdispatch-manager'
    frame #0: 0x00007fff8af8e662 libsystem_kernel.dylib`kevent64 + 10
    frame #1: 0x00007fff906b5421 libdispatch.dylib`_dispatch_mgr_invoke + 239
    frame #2: 0x00007fff906b5136 libdispatch.dylib`_dispatch_mgr_thread + 52

  thread #3: tid = 0x1583e1, 0x00007fff8af8d9aa libsystem_kernel.dylib`__select + 10, name = 'QDBusConnectionManager'
    frame #0: 0x00007fff8af8d9aa libsystem_kernel.dylib`__select + 10
    frame #1: 0x00000001087ff684 QtCore`qt_safe_select(int, fd_set*, fd_set*, fd_set*, timespec const*) + 596
    frame #2: 0x0000000108800550 QtCore`QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timespec*) + 672
    frame #3: 0x0000000108801603 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 227
    frame #4: 0x00000001087a5e71 QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 401
    frame #5: 0x00000001085e65e5 QtCore`QThread::exec() + 117
    frame #6: 0x00000001066a1843 QtDBus`QDBusConnectionManager::run() + 19
    frame #7: 0x00000001085ea01b QtCore`QThreadPrivate::start(void*) + 363
    frame #8: 0x00007fff91abb899 libsystem_pthread.dylib`_pthread_body + 138
    frame #9: 0x00007fff91abb72a libsystem_pthread.dylib`_pthread_start + 137
    frame #10: 0x00007fff91abffc9 libsystem_pthread.dylib`thread_start + 13

  thread #4: tid = 0x1583e3, 0x00007fff8af8d9aa libsystem_kernel.dylib`__select + 10, name = 'com.apple.CFSocket.private'
    frame #0: 0x00007fff8af8d9aa libsystem_kernel.dylib`__select + 10
    frame #1: 0x00007fff923dea03 CoreFoundation`__CFSocketManager + 867
    frame #2: 0x00007fff91abb899 libsystem_pthread.dylib`_pthread_body + 138
    frame #3: 0x00007fff91abb72a libsystem_pthread.dylib`_pthread_start + 137
    frame #4: 0x00007fff91abffc9 libsystem_pthread.dylib`thread_start + 13

  thread #5: tid = 0x1583f6, 0x00007fff8af89a1a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #0: 0x00007fff8af89a1a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff8af88d18 libsystem_kernel.dylib`mach_msg + 64
    frame #2: 0x00007fff92392f15 CoreFoundation`__CFRunLoopServiceMachPort + 181
    frame #3: 0x00007fff92392539 CoreFoundation`__CFRunLoopRun + 1161
    frame #4: 0x00007fff92391e75 CoreFoundation`CFRunLoopRunSpecific + 309
    frame #5: 0x00007fff8e43405e AppKit`_NSEventThread + 144
    frame #6: 0x00007fff91abb899 libsystem_pthread.dylib`_pthread_body + 138
    frame #7: 0x00007fff91abb72a libsystem_pthread.dylib`_pthread_start + 137
    frame #8: 0x00007fff91abffc9 libsystem_pthread.dylib`thread_start + 13

  thread #6: tid = 0x15844a, 0x00007fff8af8de22 libsystem_kernel.dylib`__wait4 + 10, name = 'Digikam::ScanController'
    frame #0: 0x00007fff8af8de22 libsystem_kernel.dylib`__wait4 + 10
    frame #1: 0x00000001026abfe2 libKF5Crash.5.dylib`KCrash::startProcess(int, char const**, bool) + 135
    frame #2: 0x00000001026abe06 libKF5Crash.5.dylib`KCrash::defaultCrashHandler(int) + 1049
    frame #3: 0x00007fff86af75aa libsystem_platform.dylib`_sigtramp + 26
    frame #4: 0x00000001085e477e QtCore`QReadWriteLock::lockForWrite() + 14
    frame #5: 0x0000000102bbf986 QtSql`QSqlDatabasePrivate::removeDatabase(QString const&) + 54
    frame #6: 0x00000001012b8345 libdigikamcore.5.1.0.dylib`Digikam::DbEngineThreadData::closeDatabase() + 369
    frame #7: 0x00000001012b812c libdigikamcore.5.1.0.dylib`Digikam::DbEngineThreadData::~DbEngineThreadData() + 366
    frame #8: 0x00000001012bfc7c libdigikamcore.5.1.0.dylib`QThreadStorage<Digikam::DbEngineThreadData*>::deleteData(void*) + 22
    frame #9: 0x00000001085e97aa QtCore`QThreadStorageData::finish(void**) + 314
    frame #10: 0x00000001085ea187 QtCore`QThreadPrivate::finish(void*) + 103
    frame #11: 0x00000001085ea02a QtCore`QThreadPrivate::start(void*) + 378
    frame #12: 0x00007fff91abb899 libsystem_pthread.dylib`_pthread_body + 138
    frame #13: 0x00007fff91abb72a libsystem_pthread.dylib`_pthread_start + 137
    frame #14: 0x00007fff91abffc9 libsystem_pthread.dylib`thread_start + 13

  thread #7: tid = 0x15849a, 0x00007fff8af8d9aa libsystem_kernel.dylib`__select + 10, name = 'Qt bearer thread'
    frame #0: 0x00007fff8af8d9aa libsystem_kernel.dylib`__select + 10
    frame #1: 0x00007fff91dcbbec libsystem_c.dylib`pselect$1050 + 183
    frame #2: 0x00000001087ff498 QtCore`qt_safe_select(int, fd_set*, fd_set*, fd_set*, timespec const*) + 104
    frame #3: 0x0000000108800550 QtCore`QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timespec*) + 672
    frame #4: 0x0000000108801603 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 227
    frame #5: 0x00000001087a5e71 QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 401
    frame #6: 0x00000001085e65e5 QtCore`QThread::exec() + 117
    frame #7: 0x00000001085ea01b QtCore`QThreadPrivate::start(void*) + 363
    frame #8: 0x00007fff91abb899 libsystem_pthread.dylib`_pthread_body + 138
    frame #9: 0x00007fff91abb72a libsystem_pthread.dylib`_pthread_start + 137
    frame #10: 0x00007fff91abffc9 libsystem_pthread.dylib`thread_start + 13

  thread #8: tid = 0x15849c, 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'JavaScriptCore::BlockFree'
    frame #0: 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff91abdc3b libsystem_pthread.dylib`_pthread_cond_wait + 727
    frame #2: 0x0000000103dc69d8 QtWebKit`JSC::BlockAllocator::blockFreeingThreadMain() + 264
    frame #3: 0x00000001040b4d8f QtWebKit`WTF::wtfThreadEntryPoint(void*) + 15
    frame #4: 0x00007fff91abb899 libsystem_pthread.dylib`_pthread_body + 138
    frame #5: 0x00007fff91abb72a libsystem_pthread.dylib`_pthread_start + 137
    frame #6: 0x00007fff91abffc9 libsystem_pthread.dylib`thread_start + 13

  thread #9: tid = 0x15849d, 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'JavaScriptCore::Marking'
    frame #0: 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff91abdc3b libsystem_pthread.dylib`_pthread_cond_wait + 727
    frame #2: 0x0000000103dc7867 QtWebKit`JSC::GCThread::waitForNextPhase() + 119
    frame #3: 0x0000000103dc78f8 QtWebKit`JSC::GCThread::gcThreadMain() + 88
    frame #4: 0x00000001040b4d8f QtWebKit`WTF::wtfThreadEntryPoint(void*) + 15
    frame #5: 0x00007fff91abb899 libsystem_pthread.dylib`_pthread_body + 138
    frame #6: 0x00007fff91abb72a libsystem_pthread.dylib`_pthread_start + 137
    frame #7: 0x00007fff91abffc9 libsystem_pthread.dylib`thread_start + 13

  thread #10: tid = 0x15849e, 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'JavaScriptCore::Marking'
    frame #0: 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff91abdc3b libsystem_pthread.dylib`_pthread_cond_wait + 727
    frame #2: 0x0000000103dc7867 QtWebKit`JSC::GCThread::waitForNextPhase() + 119
    frame #3: 0x0000000103dc78f8 QtWebKit`JSC::GCThread::gcThreadMain() + 88
    frame #4: 0x00000001040b4d8f QtWebKit`WTF::wtfThreadEntryPoint(void*) + 15
    frame #5: 0x00007fff91abb899 libsystem_pthread.dylib`_pthread_body + 138
    frame #6: 0x00007fff91abb72a libsystem_pthread.dylib`_pthread_start + 137
    frame #7: 0x00007fff91abffc9 libsystem_pthread.dylib`thread_start + 13

  thread #11: tid = 0x15849f, 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'JavaScriptCore::Marking'
    frame #0: 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff91abdc3b libsystem_pthread.dylib`_pthread_cond_wait + 727
    frame #2: 0x0000000103dc7867 QtWebKit`JSC::GCThread::waitForNextPhase() + 119
    frame #3: 0x0000000103dc78f8 QtWebKit`JSC::GCThread::gcThreadMain() + 88
    frame #4: 0x00000001040b4d8f QtWebKit`WTF::wtfThreadEntryPoint(void*) + 15
    frame #5: 0x00007fff91abb899 libsystem_pthread.dylib`_pthread_body + 138
    frame #6: 0x00007fff91abb72a libsystem_pthread.dylib`_pthread_start + 137
    frame #7: 0x00007fff91abffc9 libsystem_pthread.dylib`thread_start + 13

  thread #12: tid = 0x1584a0, 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'JavaScriptCore::Marking'
    frame #0: 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff91abdc3b libsystem_pthread.dylib`_pthread_cond_wait + 727
    frame #2: 0x0000000103dc7867 QtWebKit`JSC::GCThread::waitForNextPhase() + 119
    frame #3: 0x0000000103dc78f8 QtWebKit`JSC::GCThread::gcThreadMain() + 88
    frame #4: 0x00000001040b4d8f QtWebKit`WTF::wtfThreadEntryPoint(void*) + 15
    frame #5: 0x00007fff91abb899 libsystem_pthread.dylib`_pthread_body + 138
    frame #6: 0x00007fff91abb72a libsystem_pthread.dylib`_pthread_start + 137
    frame #7: 0x00007fff91abffc9 libsystem_pthread.dylib`thread_start + 13

  thread #13: tid = 0x1584a1, 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'JavaScriptCore::Marking'
    frame #0: 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff91abdc3b libsystem_pthread.dylib`_pthread_cond_wait + 727
    frame #2: 0x0000000103dc7867 QtWebKit`JSC::GCThread::waitForNextPhase() + 119
    frame #3: 0x0000000103dc78f8 QtWebKit`JSC::GCThread::gcThreadMain() + 88
    frame #4: 0x00000001040b4d8f QtWebKit`WTF::wtfThreadEntryPoint(void*) + 15
    frame #5: 0x00007fff91abb899 libsystem_pthread.dylib`_pthread_body + 138
    frame #6: 0x00007fff91abb72a libsystem_pthread.dylib`_pthread_start + 137
    frame #7: 0x00007fff91abffc9 libsystem_pthread.dylib`thread_start + 13

  thread #14: tid = 0x1584a2, 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'JavaScriptCore::Marking'
    frame #0: 0x00007fff8af8d716 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff91abdc3b libsystem_pthread.dylib`_pthread_cond_wait + 727
    frame #2: 0x0000000103dc7867 QtWebKit`JSC::GCThread::waitForNextPhase() + 119
    frame #3: 0x0000000103dc78f8 QtWebKit`JSC::GCThread::gcThreadMain() + 88
    frame #4: 0x00000001040b4d8f QtWebKit`WTF::wtfThreadEntryPoint(void*) + 15
    frame #5: 0x00007fff91abb899 libsystem_pthread.dylib`_pthread_body + 138
    frame #6: 0x00007fff91abb72a libsystem_pthread.dylib`_pthread_start + 137
    frame #7: 0x00007fff91abffc9 libsystem_pthread.dylib`thread_start + 13

  thread #15: tid = 0x158621, 0x00007fff8af8da3a libsystem_kernel.dylib`__semwait_signal + 10, name = 'com.apple.appkit-heartbeat'
    frame #0: 0x00007fff8af8da3a libsystem_kernel.dylib`__semwait_signal + 10
    frame #1: 0x00007fff91dcbdcc libsystem_c.dylib`nanosleep + 200
    frame #2: 0x00007fff91dcbcbe libsystem_c.dylib`usleep + 54
    frame #3: 0x00007fff8e4f817d AppKit`-[NSUIHeartBeat _heartBeatThread:] + 2132
    frame #4: 0x00007fff887e8d8b Foundation`__NSThread__main__ + 1318
    frame #5: 0x00007fff91abb899 libsystem_pthread.dylib`_pthread_body + 138
    frame #6: 0x00007fff91abb72a libsystem_pthread.dylib`_pthread_start + 137
    frame #7: 0x00007fff91abffc9 libsystem_pthread.dylib`thread_start + 13

  thread #16: tid = 0x15877a, 0x00007fff8af8de6a libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff8af8de6a libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff91abcf08 libsystem_pthread.dylib`_pthread_wqthread + 330
    frame #2: 0x00007fff91abffb9 libsystem_pthread.dylib`start_wqthread + 13

  thread #17: tid = 0x15877c, 0x00007fff8af8de6a libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff8af8de6a libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff91abcf08 libsystem_pthread.dylib`_pthread_wqthread + 330
    frame #2: 0x00007fff91abffb9 libsystem_pthread.dylib`start_wqthread + 13
(lldb) detach
Process 52527 detached

Possible duplicates by query: bug 368896, bug 368468, bug 368417, bug 368246, bug 368161.

Reported using DrKonqi
Comment 1 Marko Käning 2016-09-17 18:32:46 UTC
Created attachment 101152 [details]
error message

This crash is reproducible.
Comment 2 Maik Qualmann 2016-09-19 18:25:17 UTC
Created attachment 101185 [details]
TableViewItemDelegate.patch

Gilles,

can you test the patch on OS X?

Maik
Comment 3 Marko Käning 2016-09-19 20:18:20 UTC
Thanks, Maik, your patch fixed it on OSX.
Comment 4 Maik Qualmann 2016-09-19 20:30:12 UTC
Git commit 3823b092851ff6a905775d78535f2047aa295cf3 by Maik Qualmann.
Committed on 19/09/2016 at 20:28.
Pushed by mqualmann into branch 'master'.

apply patch #101185 to prevent crash on OS X if column headers not yet loaded from config
FIXED-IN: 5.3.0

M  +2    -1    NEWS
M  +13   -0    app/views/tableview/tableview_treeview_delegate.cpp

http://commits.kde.org/digikam/3823b092851ff6a905775d78535f2047aa295cf3
Comment 5 RJVB 2016-09-19 20:34:27 UTC
I haven't been able to reproduce this crash, but I'll incorporate it in my port. Thanks.
Comment 6 Marko Käning 2016-09-19 20:36:36 UTC
(In reply to RJVB from comment #5)
> I haven't been able to reproduce this crash, but I'll incorporate it in my
> port. Thanks.

I have done that locally, but please do so, then I don't need to "git stash/apply" it from now on anymore. :)