[digikam] [Bug 342229] New: crash attempting to rotate empty (NULL) thumbnail

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 342229] New: crash attempting to rotate empty (NULL) thumbnail

René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

            Bug ID: 342229
           Summary: crash attempting to rotate empty (NULL) thumbnail
           Product: digikam
           Version: 4.6.0
          Platform: Compiled Sources
                OS: OS X
            Status: UNCONFIRMED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: [hidden email]
          Reporter: [hidden email]

Application: digikam (4.6.0)
KDE Platform Version: 4.14.3 (Compiled from sources)
Qt Version: 4.8.6
Operating System: Darwin 13.4.0 x86_64
Distribution (Platform): MacPorts Packages

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

Browsing through an album in slideshow mode, digiKam apparently crashed when
"stumbling upon" a .mov file for which it cannot create thumbnails.

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

(lldb) bt all
* thread #1: tid = 0x2c965a, 0x00007fff93ca7a1a
libsystem_kernel.dylib`mach_msg_trap + 10, queue = 'com.apple.main-thread',
stop reason = signal SIGSTOP
  * frame #0: 0x00007fff93ca7a1a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff93ca6d18 libsystem_kernel.dylib`mach_msg + 64
    frame #2: 0x00007fff92481f15 CoreFoundation`__CFRunLoopServiceMachPort +
181
    frame #3: 0x00007fff92481539 CoreFoundation`__CFRunLoopRun + 1161
    frame #4: 0x00007fff92480e75 CoreFoundation`CFRunLoopRunSpecific + 309
    frame #5: 0x00007fff8a987a0d HIToolbox`RunCurrentEventLoopInMode + 226
    frame #6: 0x00007fff8a9877b7 HIToolbox`ReceiveNextEventCommon + 479
    frame #7: 0x00007fff8a9875bc
HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 65
    frame #8: 0x00007fff8eb7e24e AppKit`_DPSNextEvent + 1434
    frame #9: 0x00007fff8eb7d89b AppKit`-[NSApplication
nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
    frame #10: 0x00007fff8eb7199c AppKit`-[NSApplication run] + 553
    frame #11: 0x0000000104c36ecb
QtGui`QEventDispatcherMac::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
+ 2059
    frame #12: 0x0000000105ec01df
QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) [inlined]
QFlags<QEventLoop::ProcessEventsFlag>::QFlags(this=0x00007fff00000024) + 9 at
qglobal.h:2359
    frame #13: 0x0000000105ec01d6
QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) [inlined]
QFlags<QEventLoop::ProcessEventsFlag>::QFlags(this=0x00007fff00000024) at
qglobal.h:2359
    frame #14: 0x0000000105ec01d6
QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) [inlined]
QFlags<QEventLoop::ProcessEventsFlag>::operator|(f=<unavailable>) const + 59 at
qeventloop.cpp:149
    frame #15: 0x0000000105ec019b
QtCore`QEventLoop::exec(this=0x00007fff5f88fa80, flags=(i = 0)) + 427 at
qeventloop.cpp:204
    frame #16: 0x0000000105ec33f7 QtCore`QCoreApplication::exec() + 199 at
qcoreapplication.cpp:1225
    frame #17: 0x000000010061fb7e digikam.bin`main(argc=<unavailable>,
argv=<unavailable>) + 7118 at main.cpp:237
    frame #18: 0x00007fff888d25fd libdyld.dylib`start + 1

  thread #2: tid = 0x2c9671, 0x00007fff93cac662 libsystem_kernel.dylib`kevent64
+ 10, queue = 'com.apple.libdispatch-manager'
    frame #0: 0x00007fff93cac662 libsystem_kernel.dylib`kevent64 + 10
    frame #1: 0x00007fff88890421 libdispatch.dylib`_dispatch_mgr_invoke + 239
    frame #2: 0x00007fff88890136 libdispatch.dylib`_dispatch_mgr_thread + 52

  thread #3: tid = 0x2c968b, 0x00007fff93cab9aa libsystem_kernel.dylib`__select
+ 10, name = 'com.apple.CFSocket.private'
    frame #0: 0x00007fff93cab9aa libsystem_kernel.dylib`__select + 10
    frame #1: 0x00007fff924cda03 CoreFoundation`__CFSocketManager + 867
    frame #2: 0x00007fff936b5899 libsystem_pthread.dylib`_pthread_body + 138
    frame #3: 0x00007fff936b572a libsystem_pthread.dylib`_pthread_start + 137
    frame #4: 0x00007fff936b9fc9 libsystem_pthread.dylib`thread_start + 13

  thread #4: tid = 0x2c96b4, 0x00007fff93cab716
libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'Digikam::ScanController'
    frame #0: 0x00007fff93cab716 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff936b7c3b libsystem_pthread.dylib`_pthread_cond_wait +
727
    frame #2: 0x0000000105db30cb
QtCore`QWaitConditionPrivate::wait(this=<unavailable>, time=<unavailable>) +
203
    frame #3: 0x0000000105db2f2f
QtCore`QWaitCondition::wait(this=0x00007f8d6947aaa0, mutex=0x00007f8d6947aa98,
time=18446744073709551615) + 111 at qwaitcondition_unix.cpp:158
    frame #4: 0x00000001004f71b1
digikam.bin`Digikam::ScanController::run(this=0x00007f8d694c9e40) + 129 at
scancontroller.cpp:725
    frame #5: 0x0000000105db1a32
QtCore`QThreadPrivate::start(arg=<unavailable>) + 418 at qthread_unix.cpp:349
    frame #6: 0x00007fff936b5899 libsystem_pthread.dylib`_pthread_body + 138
    frame #7: 0x00007fff936b572a libsystem_pthread.dylib`_pthread_start + 137
    frame #8: 0x00007fff936b9fc9 libsystem_pthread.dylib`thread_start + 13

  thread #5: tid = 0x2c96bf, 0x00007fff93ca7a1a
libsystem_kernel.dylib`mach_msg_trap + 10
    frame #0: 0x00007fff93ca7a1a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff93ca6d18 libsystem_kernel.dylib`mach_msg + 64
    frame #2: 0x00007fff92481f15 CoreFoundation`__CFRunLoopServiceMachPort +
181
    frame #3: 0x00007fff92481539 CoreFoundation`__CFRunLoopRun + 1161
    frame #4: 0x00007fff92480e75 CoreFoundation`CFRunLoopRunSpecific + 309
    frame #5: 0x00007fff8ed1e05e AppKit`_NSEventThread + 144
    frame #6: 0x00007fff936b5899 libsystem_pthread.dylib`_pthread_body + 138
    frame #7: 0x00007fff936b572a libsystem_pthread.dylib`_pthread_start + 137
    frame #8: 0x00007fff936b9fc9 libsystem_pthread.dylib`thread_start + 13

  thread #6: tid = 0x2c96c2, 0x00007fff93cab716
libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'QThread'
    frame #0: 0x00007fff93cab716 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff936b7c3b libsystem_pthread.dylib`_pthread_cond_wait +
727
    frame #2: 0x0000000105db30cb
QtCore`QWaitConditionPrivate::wait(this=<unavailable>, time=<unavailable>) +
203
    frame #3: 0x0000000105db2f2f
QtCore`QWaitCondition::wait(this=0x00007f8d69666fc0, mutex=0x00007f8d69666fb8,
time=18446744073709551615) + 111 at qwaitcondition_unix.cpp:158
    frame #4: 0x0000000101dbb3a0
libdigikamcore.4.6.0.dylib`Digikam::ParkingThread::run(this=0x00007f8d69666fa0)
+ 192 at threadmanager.cpp:119
    frame #5: 0x0000000105db1a32
QtCore`QThreadPrivate::start(arg=<unavailable>) + 418 at qthread_unix.cpp:349
    frame #6: 0x00007fff936b5899 libsystem_pthread.dylib`_pthread_body + 138
    frame #7: 0x00007fff936b572a libsystem_pthread.dylib`_pthread_start + 137
    frame #8: 0x00007fff936b9fc9 libsystem_pthread.dylib`thread_start + 13

  thread #7: tid = 0x2c9b00, 0x00007fff93cabe22 libsystem_kernel.dylib`__wait4
+ 10, name = 'Thread (pooled)'
    frame #0: 0x00007fff93cabe22 libsystem_kernel.dylib`__wait4 + 10
    frame #1: 0x0000000104663c8e libkdeui.5.dylib`KCrash::startProcess(int,
char const**, bool) [inlined] startProcessInternal(argc=<unavailable>,
directly=<unavailable>) + 265 at kcrash.cpp:556
    frame #2: 0x0000000104663b85
libkdeui.5.dylib`KCrash::startProcess(argc=<unavailable>, argv=<unavailable>,
waitAndExit=<unavailable>) + 21 at kcrash.cpp:538
    frame #3: 0x0000000104662db9
libkdeui.5.dylib`KCrash::defaultCrashHandler(sig=<unavailable>) + 1209 at
kcrash.cpp:441
    frame #4: 0x00007fff886f35aa libsystem_platform.dylib`_sigtramp + 26
    frame #5: 0x0000000101bdd584
libdigikamcore.4.6.0.dylib`Digikam::DImg::rotate(this=<unavailable>,
angle=<unavailable>) + 548 at dimg.cpp:2395
    frame #6: 0x0000000101bdda54
libdigikamcore.4.6.0.dylib`Digikam::DImg::rotateAndFlip(this=<unavailable>,
orientation=<unavailable>) + 100 at dimg.cpp:2669
    frame #7: 0x0000000101d93984
libdigikamcore.4.6.0.dylib`Digikam::LoadSaveThread::exifRotate(image=0x00007f8d6a80cc20,
filePath=0x00007f8d6a80ca18) + 52 at loadsavethread.cpp:335
    frame #8: 0x0000000101da5b25
libdigikamcore.4.6.0.dylib`Digikam::PreviewLoadingTask::execute(this=0x00007f8d6a80ca00)
+ 3285 at previewtask.cpp:375
    frame #9: 0x0000000101d92dd0
libdigikamcore.4.6.0.dylib`Digikam::LoadSaveThread::run(this=0x00007f8d6e146020)
+ 368 at loadsavethread.cpp:136
    frame #10: 0x0000000101dbd5ca
libdigikamcore.4.6.0.dylib`Digikam::DynamicThread::DynamicThreadPriv::run(this=0x00007f8d6e145f00)
+ 74 at dynamicthread.cpp:186
    frame #11: 0x0000000105da41db
QtCore`QThreadPoolThread::run(this=0x00007f8d6d5e57a0) + 203 at
qthreadpool.cpp:108
    frame #12: 0x0000000105db1a32
QtCore`QThreadPrivate::start(arg=<unavailable>) + 418 at qthread_unix.cpp:349
    frame #13: 0x00007fff936b5899 libsystem_pthread.dylib`_pthread_body + 138
    frame #14: 0x00007fff936b572a libsystem_pthread.dylib`_pthread_start + 137
    frame #15: 0x00007fff936b9fc9 libsystem_pthread.dylib`thread_start + 13

  thread #8: tid = 0x2c9b01, 0x00007fff93cab716
libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'Thread (pooled)'
    frame #0: 0x00007fff93cab716 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff936b7c3b libsystem_pthread.dylib`_pthread_cond_wait +
727
    frame #2: 0x0000000105db30b9
QtCore`QWaitConditionPrivate::wait(this=0x00007f8d6d5e6b30, time=30000) + 185
    frame #3: 0x0000000105db2f2f
QtCore`QWaitCondition::wait(this=0x00007f8d6d5e6810, mutex=0x00007f8d696a0418,
time=30000) + 111 at qwaitcondition_unix.cpp:158
    frame #4: 0x0000000105da4341
QtCore`QThreadPoolThread::run(this=0x00007f8d6d5e6800) + 561 at
qthreadpool.cpp:142
    frame #5: 0x0000000105db1a32
QtCore`QThreadPrivate::start(arg=<unavailable>) + 418 at qthread_unix.cpp:349
    frame #6: 0x00007fff936b5899 libsystem_pthread.dylib`_pthread_body + 138
    frame #7: 0x00007fff936b572a libsystem_pthread.dylib`_pthread_start + 137
    frame #8: 0x00007fff936b9fc9 libsystem_pthread.dylib`thread_start + 13

  thread #9: tid = 0x2cadb8, 0x00007fff93cabe6a
libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff93cabe6a libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff936b6f08 libsystem_pthread.dylib`_pthread_wqthread +
330
    frame #2: 0x00007fff936b9fb9 libsystem_pthread.dylib`start_wqthread + 13

  thread #10: tid = 0x2cadb9, 0x00007fff93cabe6a
libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff93cabe6a libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff936b6f08 libsystem_pthread.dylib`_pthread_wqthread +
330
    frame #2: 0x00007fff936b9fb9 libsystem_pthread.dylib`start_wqthread + 13
(lldb) detach
Process 68916 detached
(lldb) (lldb) quit

Possible duplicates by query: bug 342210, bug 342202, bug 342191, bug 342149,
bug 342143.

Reported using DrKonqi

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

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

René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

--- Comment #1 from RJVB <[hidden email]> ---
Created attachment 90125
  --> https://bugs.kde.org/attachment.cgi?id=90125&action=edit
New crash information added by DrKonqi

digikam (4.6.0) on KDE Platform 4.14.3 using Qt 4.8.6

- What I was doing when the application crashed:

Trying to open an offending jpg image. The previous crash report was *not* due
to an empty thumbnail (as console output had led me to believe), but to loading
this particular image.

-- Backtrace (Reduced):

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

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

Gilles Caulier-4
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

Gilles Caulier <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]

--- Comment #2 from Gilles Caulier <[hidden email]> ---
It's not clear why it crash here.

Can you run digiKam in DGB to have abetter backtrace.

Also, can you identify which image crash application.

Gilles Caulier

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

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

René J.V. Bertin
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

--- Comment #3 from RJVB <[hidden email]> ---
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.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

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

René J.V. Bertin
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

--- Comment #4 from RJVB <[hidden email]> ---
Created attachment 90127
  --> https://bugs.kde.org/attachment.cgi?id=90127&action=edit
image that crashes digikam 4.6 (and 4.4!) on OS X 10.9

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

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

René J.V. Bertin
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

--- Comment #5 from RJVB <[hidden email]> ---
Created attachment 90133
  --> https://bugs.kde.org/attachment.cgi?id=90133&action=edit
I think the code should do this

Salut Gilles,

I think the calculation of line2 is incorrect: the very first time it is
effectively initialised to `data + h * w`, which is just outside the valid
image data. I've attached a patch that makes this correction for 180°
rotations, but maybe you ought to double-check the other cases too ... ;)
In any case I'm no longer seeing crashes with this patch.

And I stand corrected: as usual this (probably) wasn't a compiler bug but just
another proof how testing with other compilers and on other platforms is an
almost perfect way to find errors that somehow slip through on your usual
platform.

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 342229] crash attempting to rotate empty (NULL) thumbnail [patch]

Gilles Caulier-4
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

Gilles Caulier <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|crash attempting to rotate  |crash attempting to rotate
                   |empty (NULL) thumbnail      |empty (NULL) thumbnail
                   |                            |[patch]

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 342229] crash attempting to rotate empty (NULL) thumbnail [patch]

Marcel Wiesweg
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

--- Comment #6 from Marcel Wiesweg <[hidden email]> ---
Bug is confirmed by valgrind on Linux:

==9153== Thread 1:
==9153== Invalid read of size 4
==9153==    at 0x730A0A2: Digikam::DImg::rotate(Digikam::DImg::ANGLE)
(dimg.cpp:2395)
==9153==    by 0x730A1A9: Digikam::DImg::rotateAndFlip(int) (dimg.cpp:2642)
==9153==    by 0x75AC8AA:
Digikam::EditorCore::slotImageLoaded(Digikam::LoadingDescription const&,
Digikam::DImg const&) (editorcore.cpp:292)
==9153==    by 0xEACA59D: QObject::event(QEvent*) (qobject.cpp:1231)
==9153==    by 0xD72A76B: QApplicationPrivate::notify_helper(QObject*, QEvent*)
(qapplication.cpp:4565)
==9153==    by 0xD730CAC: QApplication::notify(QObject*, QEvent*)
(qapplication.cpp:4351)
==9153==    by 0xD127BA9: KApplication::notify(QObject*, QEvent*) (in
/usr/lib64/libkdeui.so.5.14.3)
==9153==    by 0xEAB22AC: QCoreApplication::notifyInternal(QObject*, QEvent*)
(qcoreapplication.cpp:953)
==9153==    by 0xEAB557C: sendEvent (qcoreapplication.h:231)
==9153==    by 0xEAB557C: QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (qcoreapplication.cpp:1577)
==9153==    by 0xEADF8FD: sendPostedEvents (qcoreapplication.h:236)
==9153==    by 0xEADF8FD: postEventSourceDispatch(_GSource*, int (*)(void*),
void*) (qeventdispatcher_glib.cpp:300)
==9153==    by 0x13044A03: g_main_context_dispatch (in
/usr/lib64/libglib-2.0.so.0.4200.0)
==9153==    by 0x13044C47: ??? (in /usr/lib64/libglib-2.0.so.0.4200.0)
==9153==  Address 0x4a85d040 is 0 bytes after a block of size 31,961,088
alloc'd
==9153==    at 0x4C29D90: operator new[](unsigned long) (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==9153==    by 0x732D25C: new_failureTolerant<unsigned char> (dimgloader.h:183)
==9153==    by 0x732D25C: Digikam::DImgLoader::new_failureTolerant(unsigned
long) (dimgloader.cpp:432)
==9153==    by 0x7301C76: Digikam::DImg::allocateData() (dimg.cpp:319)
==9153==    by 0x7306701: Digikam::DImg::detach() (dimg.cpp:224)
==9153==    by 0x73068D5: Digikam::DImg::copy() const (dimg.cpp:1520)
==9153==    by 0x74CFAFA: Digikam::SharedLoadingTask::execute()
(loadsavetask.cpp:251)
==9153==    by 0x74BFB25: Digikam::LoadSaveThread::run()
(loadsavethread.cpp:136)
==9153==    by 0x74EE7AD: Digikam::DynamicThread::DynamicThreadPriv::run()
(dynamicthread.cpp:186)
==9153==    by 0xE9A46AD: QThreadPoolThread::run() (qthreadpool.cpp:108)
==9153==    by 0xE9B079E: QThreadPrivate::start(void*) (qthread_unix.cpp:349)
==9153==    by 0xEE220A3: start_thread (in /lib64/libpthread-2.19.so)
==9153==    by 0xF8B87FC: clone (in /lib64/libc-2.19.so)
==9153==
==9153== Invalid write of size 4
==9153==    at 0x730A0B1: Digikam::DImg::rotate(Digikam::DImg::ANGLE)
(dimg.cpp:2396)
==9153==    by 0x730A1A9: Digikam::DImg::rotateAndFlip(int) (dimg.cpp:2642)
==9153==    by 0x75AC8AA:
Digikam::EditorCore::slotImageLoaded(Digikam::LoadingDescription const&,
Digikam::DImg const&) (editorcore.cpp:292)
==9153==    by 0xEACA59D: QObject::event(QEvent*) (qobject.cpp:1231)
==9153==    by 0xD72A76B: QApplicationPrivate::notify_helper(QObject*, QEvent*)
(qapplication.cpp:4565)
==9153==    by 0xD730CAC: QApplication::notify(QObject*, QEvent*)
(qapplication.cpp:4351)
==9153==    by 0xD127BA9: KApplication::notify(QObject*, QEvent*) (in
/usr/lib64/libkdeui.so.5.14.3)
==9153==    by 0xEAB22AC: QCoreApplication::notifyInternal(QObject*, QEvent*)
(qcoreapplication.cpp:953)
==9153==    by 0xEAB557C: sendEvent (qcoreapplication.h:231)
==9153==    by 0xEAB557C: QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (qcoreapplication.cpp:1577)
==9153==    by 0xEADF8FD: sendPostedEvents (qcoreapplication.h:236)
==9153==    by 0xEADF8FD: postEventSourceDispatch(_GSource*, int (*)(void*),
void*) (qeventdispatcher_glib.cpp:300)
==9153==    by 0x13044A03: g_main_context_dispatch (in
/usr/lib64/libglib-2.0.so.0.4200.0)
==9153==    by 0x13044C47: ??? (in /usr/lib64/libglib-2.0.so.0.4200.0)
==9153==  Address 0x4a85d040 is 0 bytes after a block of size 31,961,088
alloc'd
==9153==    at 0x4C29D90: operator new[](unsigned long) (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==9153==    by 0x732D25C: new_failureTolerant<unsigned char> (dimgloader.h:183)
==9153==    by 0x732D25C: Digikam::DImgLoader::new_failureTolerant(unsigned
long) (dimgloader.cpp:432)
==9153==    by 0x7301C76: Digikam::DImg::allocateData() (dimg.cpp:319)
==9153==    by 0x7306701: Digikam::DImg::detach() (dimg.cpp:224)
==9153==    by 0x73068D5: Digikam::DImg::copy() const (dimg.cpp:1520)
==9153==    by 0x74CFAFA: Digikam::SharedLoadingTask::execute()
(loadsavetask.cpp:251)
==9153==    by 0x74BFB25: Digikam::LoadSaveThread::run()
(loadsavethread.cpp:136)
==9153==    by 0x74EE7AD: Digikam::DynamicThread::DynamicThreadPriv::run()
(dynamicthread.cpp:186)
==9153==    by 0xE9A46AD: QThreadPoolThread::run() (qthreadpool.cpp:108)
==9153==    by 0xE9B079E: QThreadPrivate::start(void*) (qthread_unix.cpp:349)
==9153==    by 0xEE220A3: start_thread (in /lib64/libpthread-2.19.so)
==9153==    by 0xF8B87FC: clone (in /lib64/libc-2.19.so)
==9153==

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 342229] crash attempting to rotate empty (NULL) thumbnail [patch]

Marcel Wiesweg
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

--- Comment #7 from Marcel Wiesweg <[hidden email]> ---
The fix is confirmed by valgrind as well. It's a one-byte-over mistake.
Probably, the relevant buffer is usually a bit larger on Linux so that no crash
occurs.

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 342229] crash attempting to rotate empty (NULL) thumbnail [patch]

Marcel Wiesweg
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

Marcel Wiesweg <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
      Latest Commit|                            |http://commits.kde.org/digi
                   |                            |kam/94bc2463c9c1f6c9cebc4b2
                   |                            |f2ff71ba2a54c9d9d
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #8 from Marcel Wiesweg <[hidden email]> ---
Git commit 94bc2463c9c1f6c9cebc4b2f2ff71ba2a54c9d9d by Marcel Wiesweg.
Committed on 28/12/2014 at 19:11.
Pushed by mwiesweg into branch 'master'.

Apply fix by RJVB <[hidden email]>: Correct incorrect read of one single
byte beyond the buffer in the DImg 180°-rotation code

Thanks for your help.

M  +2    -2    libs/dimg/dimg.cpp

http://commits.kde.org/digikam/94bc2463c9c1f6c9cebc4b2f2ff71ba2a54c9d9d

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


Make the world a better place. Donate to our year end fundraiser https://www.kde.org/fundraisers/yearend2014/
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 342229] crash attempting to rotate empty (NULL) thumbnail [patch]

Maik Qualmann
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

Maik Qualmann <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]

--- Comment #9 from Maik Qualmann <[hidden email]> ---
Yes, the patch is correct. Rotation180 worked incorrectly, a column of pixels
at the edge of the image has been copied to the other side. Now rotation180
working correctly.

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


Make the world a better place. Donate to our year end fundraiser https://www.kde.org/fundraisers/yearend2014/
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 342229] crash attempting to rotate empty (NULL) thumbnail [patch]

Gilles Caulier-4
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

--- Comment #10 from Gilles Caulier <[hidden email]> ---
Git commit 68cdaee316491cb81a9e217ed25a2d6b77cf6332 by Gilles Caulier.
Committed on 28/12/2014 at 20:53.
Pushed by cgilles into branch 'frameworks'.

backport patch #94bc2463c9c1f6c9cebc4b2f2ff71ba2a54c9d9d from git/master to
git/frameworks branch

M  +2    -2    libs/dimg/dimg.cpp

http://commits.kde.org/digikam/68cdaee316491cb81a9e217ed25a2d6b77cf6332

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


Make the world a better place. Donate to our year end fundraiser https://www.kde.org/fundraisers/yearend2014/
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 342229] crash attempting to rotate empty (NULL) thumbnail [patch]

Gilles Caulier-4
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

Gilles Caulier <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Version Fixed In|                            |4.7.0

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


Make the world a better place. Donate to our year end fundraiser https://www.kde.org/fundraisers/yearend2014/
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 342229] crash attempting to rotate empty (NULL) thumbnail [patch]

bugzilla_noreply
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

[hidden email] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Platform|Compiled Sources            |MacPorts Packages

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 342229] crash attempting to rotate empty (NULL) thumbnail [patch]

bugzilla_noreply
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

[hidden email] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|general                     |Thumbnails

--
You are receiving this mail because:
You are the assignee for the bug.
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 342229] crash attempting to rotate empty (NULL) thumbnail [patch]

bugzilla_noreply
In reply to this post by René J.V. Bertin
https://bugs.kde.org/show_bug.cgi?id=342229

[hidden email] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|Thumbs-Image                |Thumbs-Engine

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