Bug 337324

Summary: Digikam crashes when opening the import view via Import "Add Images..."
Product: [Applications] digikam Reporter: list-ener
Component: Import-Gphoto2Assignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, metzpinguin
Priority: NOR    
Version: 4.1.0   
Target Milestone: ---   
Platform: Homebrew (macOS)   
OS: macOS   
Latest Commit: Version Fixed In: 4.12.0
Sentry Crash Report:

Description list-ener 2014-07-10 13:21:54 UTC
(Using KDE Development Platform 4.13.0, built with homebrew on Mac OS X) 

digikam crashes before the import window even comes up. backtrace captured with lldb as well as components info below. dbus and kded are running. I don't see anything in the function that the backtrace points to (DCategorizedView::updateDelegateSizes) ... maybe a fonts issue? However, everything else in digikam seems to work. Would be happy about any pointers on how to debug this.

================
* thread #1: tid = 0x13ce3e, 0x000000010141d68f libdigikamcore.4.1.0.dylib`Digikam::DCategorizedView::updateDelegateSizes() + 79, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x000000010141d68f libdigikamcore.4.1.0.dylib`Digikam::DCategorizedView::updateDelegateSizes() + 79
libdigikamcore.4.1.0.dylib`Digikam::DCategorizedView::updateDelegateSizes() + 79:
-> 0x10141d68f:  movq   (%rdi), %rax
   0x10141d692:  movq   0xb8(%rax), %rax
   0x10141d699:  leaq   -0x70(%rbp), %rsi
   0x10141d69d:  callq  *%rax
(lldb) thread backtrace
* thread #1: tid = 0x13ce3e, 0x000000010141d68f libdigikamcore.4.1.0.dylib`Digikam::DCategorizedView::updateDelegateSizes() + 79, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x000000010141d68f libdigikamcore.4.1.0.dylib`Digikam::DCategorizedView::updateDelegateSizes() + 79
    frame #1: 0x000000010141ee48 libdigikamcore.4.1.0.dylib`Digikam::DCategorizedView::viewportEvent(QEvent*) + 332
    frame #2: 0x00000001037ca8f5 QtGui`QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) + 37
    frame #3: 0x0000000104457ac5 QtCore`QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) + 103
    frame #4: 0x000000010341ec95 QtGui`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 179
    frame #5: 0x0000000103421865 QtGui`QApplication::notify(QObject*, QEvent*) + 6603
    frame #6: 0x00000001044578d4 QtCore`QCoreApplication::notifyInternal(QObject*, QEvent*) + 118
    frame #7: 0x000000010345a34d QtGui`QWidgetPrivate::updateFont(QFont const&) + 423
    frame #8: 0x000000010345a158 QtGui`QWidgetPrivate::resolveFont() + 100
    frame #9: 0x000000010345a2ee QtGui`QWidgetPrivate::updateFont(QFont const&) + 328
    frame #10: 0x000000010345a158 QtGui`QWidgetPrivate::resolveFont() + 100
    frame #11: 0x00000001034602c1 QtGui`QWidget::event(QEvent*) + 1853
    frame #12: 0x00000001037570e3 QtGui`QFrame::event(QEvent*) + 43
    frame #13: 0x00000001037ca110 QtGui`QAbstractScrollArea::event(QEvent*) + 784
    frame #14: 0x000000010383b201 QtGui`QAbstractItemView::event(QEvent*) + 485
    frame #15: 0x000000010341eca5 QtGui`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 195
    frame #16: 0x0000000103421865 QtGui`QApplication::notify(QObject*, QEvent*) + 6603
    frame #17: 0x00000001044578d4 QtCore`QCoreApplication::notifyInternal(QObject*, QEvent*) + 118
    frame #18: 0x00000001034579ac QtGui`QWidget::ensurePolished() const + 94
    frame #19: 0x000000010345f74a QtGui`QWidget::setVisible(bool) + 432
    frame #20: 0x0000000103449a8b QtGui`QStackedLayout::setCurrentIndex(int) + 305
    frame #21: 0x0000000103449949 QtGui`QStackedLayout::insertWidget(int, QWidget*) + 167
    frame #22: 0x0000000100343a0a digikam`Digikam::ImportStackedView::ImportStackedView(QWidget*) + 366
    frame #23: 0x0000000100346945 digikam`Digikam::ImportView::ImportView(Digikam::ImportUI*, Digikam::ImportImageModel*, Digikam::ImportFilterModel*, QWidget*) + 335
    frame #24: 0x00000001002e5e54 digikam`Digikam::ImportUI::setupUserArea() + 240
    frame #25: 0x00000001002e584e digikam`Digikam::ImportUI::ImportUI(QWidget*, QString const&, QString const&, QString const&, QString const&, int) + 428
    frame #26: 0x00000001000f8673 digikam`Digikam::DigikamApp::slotOpenManualCamera(QAction*) + 257
    frame #27: 0x00000001000f69f3 digikam`Digikam::DigikamApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 651
    frame #28: 0x000000010446c9a3 QtCore`QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2037
    frame #29: 0x000000010341866c QtGui`QActionGroupPrivate::_q_actionTriggered() + 108
    frame #30: 0x0000000103418f19 QtGui`QActionGroup::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 295
    frame #31: 0x000000010446c9a3 QtCore`QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 2037
    frame #32: 0x0000000103417591 QtGui`QAction::activate(QAction::ActionEvent) + 233
    frame #33: 0x00000001033d4542 QtGui`-[QCocoaMenuLoader qtDispatcherToQAction:] + 65
    frame #34: 0x00007fff96df5260 AppKit`-[NSApplication sendAction:to:from:] + 327
    frame #35: 0x00007fff96e101c8 AppKit`-[NSMenuItem _corePerformAction] + 394
    frame #36: 0x00007fff96e0ff04 AppKit`-[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 117
    frame #37: 0x00007fff96e5f40d AppKit`-[NSMenu _internalPerformActionForItemAtIndex:] + 35
    frame #38: 0x00007fff96e5f289 AppKit`-[NSCarbonMenuImpl _carbonCommandProcessEvent:handlerCallRef:] + 104
    frame #39: 0x00007fff96e05ff6 AppKit`NSSLMMenuEventHandler + 716
    frame #40: 0x00007fff923e71d4 HIToolbox`DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 892
    frame #41: 0x00007fff923e6787 HIToolbox`SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 385
    frame #42: 0x00007fff923fa880 HIToolbox`SendEventToEventTarget + 40
    frame #43: 0x00007fff92430640 HIToolbox`SendHICommandEvent(unsigned int, HICommand const*, unsigned int, unsigned int, unsigned char, void const*, OpaqueEventTargetRef*, OpaqueEventTargetRef*, OpaqueEventRef**) + 420
    frame #44: 0x00007fff92463228 HIToolbox`SendMenuCommandWithContextAndModifiers + 59
    frame #45: 0x00007fff924631d0 HIToolbox`SendMenuItemSelectedEvent + 178
    frame #46: 0x00007fff924630af HIToolbox`FinishMenuSelection(SelectionData*, MenuResult*, MenuResult*) + 94
    frame #47: 0x00007fff9246b085 HIToolbox`MenuSelectCore(MenuData*, Point, double, unsigned int, OpaqueMenuRef**, unsigned short*) + 718
    frame #48: 0x00007fff9246acb1 HIToolbox`_HandleMenuSelection2 + 446
    frame #49: 0x00007fff96d7862c AppKit`_NSHandleCarbonMenuEvent + 284
    frame #50: 0x00007fff96bd754e AppKit`_DPSNextEvent + 2170
    frame #51: 0x00007fff96bd68bb AppKit`-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
    frame #52: 0x00007fff96bca9bc AppKit`-[NSApplication run] + 553
    frame #53: 0x00000001033dc4be QtGui`QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 540
    frame #54: 0x0000000104454f39 QtCore`QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 77
    frame #55: 0x00000001044550aa QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 356
    frame #56: 0x0000000104457d25 QtCore`QCoreApplication::exec() + 199
    frame #57: 0x000000010024dc16 digikam`main + 6559
================

digiKam version 4.1.0
CPU cores: 4
Demosaic GPL2 pack support: Unknown
Demosaic GPL3 pack support: Unknown
Exiv2 can write to Jp2: Yes
Exiv2 can write to Jpeg: Yes
Exiv2 can write to Pgf: Yes
Exiv2 can write to Png: Yes
Exiv2 can write to Tiff: Yes
Exiv2 supports XMP metadata: Yes
LibCImg: 130
LibEigen: 3.2.1
LibExiv2: 0.24
LibJPEG: 80
LibJasper: 1.900.1
LibKDE: 4.13.0
LibKExiv2: 2.3.1
LibKGeoMap: 2.0.0
LibKdcraw: 2.4.2
LibLCMS: 2060
LibLensFun: 0.2.8-0
LibPGF: 6.14.12 - internal library
LibPNG: 1.6.12
LibQt: 4.8.6
LibRaw: 0.15.4
LibTIFF: LIBTIFF, Version 4.0.3 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc.
Marble Widget: 0.17.97 (0.18 RC 1)
Parallelized PGF codec: No
Parallelized demosaicing: Unknown
RawSpeed codec support: Unknown
Database backend: QSQLITE
Kipi-Plugins: 4.1.0
LibGphoto2: 2.5.4
LibKface: 3.1.0
LibKipi: 2.1.0
LibOpenCV: 2.4.9
Comment 1 caulier.gilles 2014-07-10 13:25:30 UTC
run digiKam into GDB as explained here :

http://www.digikam.org/contrib

Note : here digiKam work fine under OSX using Macport

Gilles Caulier
Comment 2 list-ener 2014-07-10 14:28:05 UTC
No gdb on homebrew. That's why I used lldb. What extra info is missing from the lldb backtrace?

Also, I know that digikam is running on macports, but it's an older version. I want to get the most recent one running on homebrew, and this is the only thing that doesn't work so far.
Comment 3 caulier.gilles 2014-07-10 14:32:26 UTC
Well, it miss source code where crash appear... Do you compile digiKam with debug symbols ?

Under Macports, digiKam is updated frequently. Also, i can compile last source code without any problem (i'm work with a macbook pro here)...

Gilles Caulier
Comment 4 list-ener 2014-07-10 14:39:03 UTC
An updated digikam in macports would be good in any case, Gilles. Thanks!

I will still try to get the homebrew version bug-free. I'll work on getting a more complete backtrace.
Comment 5 caulier.gilles 2015-05-28 13:11:01 UTC
digiKam 4.10.0 PKG installer for MAC OSX Yosemite is available for download :

http://download.kde.org/stable/digikam/digikam-4.10.0.pkg.mirrorlist

Please try with this version and give us a feedback...

Thanks in advance.

Gilles Caulier
Comment 6 Maik Qualmann 2015-06-22 18:11:15 UTC
Git commit ad8538938371ec4152450c661b1857f8441e3af8 by Maik Qualmann.
Committed on 19/06/2015 at 21:01.
Pushed by mqualmann into branch 'master'.

fixes the model initialisation from the icon view and thumb bar of the import window
Related: bug 349280
FIXED-IN: 4.12.0

M  +3    -1    NEWS
M  +1    -7    utilities/importui/main/importui.cpp
M  +7    -3    utilities/importui/views/importiconview.cpp
M  +0    -2    utilities/importui/views/importiconview.h
M  +11   -20   utilities/importui/views/importstackedview.cpp
M  +0    -1    utilities/importui/views/importstackedview.h
M  +3    -12   utilities/importui/views/importview.cpp
M  +1    -1    utilities/importui/views/importview.h

http://commits.kde.org/digikam/ad8538938371ec4152450c661b1857f8441e3af8