[Digikam-devel] [digikam] [Bug 342229] crash attempting to rotate empty (NULL) thumbnail

RJVB rjvbertin at gmail.com
Fri Dec 26 22:56:35 GMT 2014


https://bugs.kde.org/show_bug.cgi?id=342229

--- Comment #3 from RJVB <rjvbertin at gmail.com> ---
Sorry, I can only run it in lldb, and doing so doesn't give a better backtrace:

```
(lldb) bt
* thread #1: tid = 0x2f7da0, 0x00000001000e451a
libdigikamcore.4.6.0.dylib`Digikam::DImg::rotate(this=<unavailable>,
angle=<unavailable>) + 794 at dimg.cpp:2395, queue = 'com.apple.main-thread',
stop reason = EXC_BAD_ACCESS (code=1, address=0x11b5b1000)
  * frame #0: 0x00000001000e451a
libdigikamcore.4.6.0.dylib`Digikam::DImg::rotate(this=<unavailable>,
angle=<unavailable>) + 794 at dimg.cpp:2395
    frame #1: 0x00000001000e4a54
libdigikamcore.4.6.0.dylib`Digikam::DImg::rotateAndFlip(this=<unavailable>,
orientation=<unavailable>) + 100 at dimg.cpp:2669
    frame #2: 0x000000010038f225
libdigikamcore.4.6.0.dylib`Digikam::EditorCore::slotImageLoaded(this=0x000000010b5680c0,
loadingDescription=<unavailable>, img=<unavailable>) + 357 at
editorcore.cpp:292
    frame #3: 0x000000010038ecae
libdigikamcore.4.6.0.dylib`Digikam::EditorCore::qt_static_metacall(_o=0x000000010b5680c0,
_c=<unavailable>, _id=<unavailable>, _a=<unavailable>) + 398 at
editorcore.moc:88
    frame #4: 0x00000001033d2eae QtCore`QObject::event(this=0x000000010b5680c0,
e=<unavailable>) + 638 at qobject.cpp:1222
    frame #5: 0x000000010216637b
QtGui`QApplicationPrivate::notify_helper(this=<unavailable>,
receiver=0x000000010b5680c0, e=0x0000000116a44320) + 251 at
qapplication.cpp:4565
    frame #6: 0x0000000102167899 QtGui`QApplication::notify(this=<unavailable>,
receiver=<unavailable>, e=0x0000000116a44320) + 905 at qapplication.cpp:3947
    frame #7: 0x00000001033bee46
QtCore`QCoreApplication::notifyInternal(this=<unavailable>,
receiver=<unavailable>, event=<unavailable>) + 118 at qcoreapplication.cpp:953
    frame #8: 0x00000001033bf9ae
QtCore`QCoreApplicationPrivate::sendPostedEvents(receiver=0x0000000116a44320,
event_type=0, data=0x000000010b300fb0) + 686 at qcoreapplication.h:231
    frame #9: 0x00007fff924905b1
CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #10: 0x00007fff92481c62 CoreFoundation`__CFRunLoopDoSources0 + 242
    frame #11: 0x00007fff924813ef CoreFoundation`__CFRunLoopRun + 831
    frame #12: 0x00007fff92480e75 CoreFoundation`CFRunLoopRunSpecific + 309
    frame #13: 0x00007fff8a987a0d HIToolbox`RunCurrentEventLoopInMode + 226
    frame #14: 0x00007fff8a9877b7 HIToolbox`ReceiveNextEventCommon + 479
    frame #15: 0x00007fff8a9875bc
HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 65
    frame #16: 0x00007fff8eb7e24e AppKit`_DPSNextEvent + 1434
    frame #17: 0x00007fff8eb7d89b AppKit`-[NSApplication
nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
    frame #18: 0x00007fff8eb7199c AppKit`-[NSApplication run] + 553
    frame #19: 0x000000010211cecb
QtGui`QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
+ 2059
    frame #20: 0x00000001033bc1df
QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) [inlined]
QFlags<QEventLoop::ProcessEventsFlag>::QFlags(this=0x00007fff00000024) + 9 at
qglobal.h:2359
    frame #21: 0x00000001033bc1d6
QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) [inlined]
QFlags<QEventLoop::ProcessEventsFlag>::QFlags(this=0x00007fff00000024) at
qglobal.h:2359
    frame #22: 0x00000001033bc1d6
QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) [inlined]
QFlags<QEventLoop::ProcessEventsFlag>::operator|(f=<unavailable>) const + 59 at
qeventloop.cpp:149
    frame #23: 0x00000001033bc19b
QtCore`QEventLoop::exec(this=0x00007fff5fbff010, flags=(i = 0)) + 427 at
qeventloop.cpp:204
    frame #24: 0x00000001033bf3f7 QtCore`QCoreApplication::exec() + 199 at
qcoreapplication.cpp:1225
    frame #25: 0x000000010003a78e showfoto`main(argc=<unavailable>,
argv=<unavailable>) + 2350 at main.cpp:90
    frame #26: 0x00007fff888d25fd libdyld.dylib`start + 1
```

When I declare all the local variables of interest static so they are not
optimised away, line1 and line2 appear to be null pointers when the crash
occurs. I don't trust this, though; their value doesn't change when I step
through the loop in the debugger.

I'll upload the image on which this crash occurs. If you cannot reproduce the
crash we may me dealing with a bug in the compiler or optimiser/vectoriser...

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the Digikam-devel mailing list