[digikam] [Bug 367640] New: Crash when decoding Canon RAW file using VNG with libraw 0.18
Andrew Coles via KDE Bugzilla
bugzilla_noreply at kde.org
Sun Aug 21 13:33:51 BST 2016
https://bugs.kde.org/show_bug.cgi?id=367640
Bug ID: 367640
Summary: Crash when decoding Canon RAW file using VNG with
libraw 0.18
Product: digikam
Version: 5.1.0
Platform: Compiled Sources
URL: https://www.dropbox.com/s/b51ff1u2o8bthln/IMG_5249.CR2
?dl=0
OS: Linux
Status: UNCONFIRMED
Severity: crash
Priority: NOR
Component: Raw-Engine
Assignee: digikam-devel at kde.org
Reporter: andrew.i.coles at googlemail.com
Opening a raw from my camera (e.g.
https://www.dropbox.com/s/b51ff1u2o8bthln/IMG_5249.CR2?dl=0 ) causes a segfault
in RAW decoding in digikam 5.1 and current HEAD from git; but not in digikam
5.0.
This is due to commit d0a60f5f02890de9e5a5a3e312511930f3cf72a5, which upgraded
libraw to 0.18.0 beta. Reverting the commit and resolving merge conflicts
fixes the issue.
Reproducible: Always
Steps to Reproduce:
1. Open the Image Editor for a CR2 RAW file (e.g.
https://www.dropbox.com/s/b51ff1u2o8bthln/IMG_5249.CR2?dl=0)
Actual Results:
Segfault
Expected Results:
Should open RAW image for editing
Relevant valgrind output:
==12797== Thread 17 Thread (pooled):
==12797== Invalid write of size 4
==12797== at 0x6364DA3: LibRaw::vng_interpolate() (dcraw_common.cpp:4683)
==12797== by 0x633BFF7: LibRaw::dcraw_process() (libraw_cxx.cpp:4143)
==12797== by 0x5EB4826:
RawEngine::DRawDecoder::Private::loadFromLibraw(QString const&, QByteArray&,
int&, int&, int&) (drawdecoder_p.cpp:516)
==12797== by 0x5EB23A2: RawEngine::DRawDecoder::decodeRAWImage(QString
const&, RawEngine::DRawDecoderSettings const&, QByteArray&, int&, int&, int&)
(drawdecoder.cpp:473)
==12797== by 0x5C188FC: Digikam::RAWLoader::load(QString const&,
Digikam::DImgLoaderObserver*) (rawloader.cpp:113)
==12797== by 0x5D9EDAA: Digikam::DImg::load(QString const&, int,
Digikam::DImgLoaderObserver*, Digikam::DRawDecoding const&) (dimg.cpp:497)
==12797== by 0x5D9E00E: Digikam::DImg::load(QString const&,
Digikam::DImgLoaderObserver*, Digikam::DRawDecoding const&) (dimg.cpp:369)
==12797== by 0x5D9D226: Digikam::DImg::DImg(QString const&,
Digikam::DImgLoaderObserver*, Digikam::DRawDecoding const&) (dimg.cpp:107)
==12797== by 0x5E5D540: Digikam::LoadingTask::execute()
(loadsavetask.cpp:49)
==12797== by 0x5E4D3FE: Digikam::LoadSaveThread::run()
(loadsavethread.cpp:133)
==12797== by 0x5E94AD7: Digikam::DynamicThread::DynamicThreadPriv::run()
(dynamicthread.cpp:183)
==12797== by 0x800C342: ??? (in
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.5.1)
==12797== Address 0x88cdd7d0 is 0 bytes after a block of size 20,480 alloc'd
==12797== at 0x4C2FB55: calloc (vg_replace_malloc.c:711)
==12797== by 0x6333B3E: calloc (libraw_alloc.h:48)
==12797== by 0x6333B3E: LibRaw::calloc(unsigned long, unsigned long)
(libraw_cxx.cpp:472)
==12797== by 0x6364C06: LibRaw::vng_interpolate() (dcraw_common.cpp:4665)
==12797== by 0x633BFF7: LibRaw::dcraw_process() (libraw_cxx.cpp:4143)
==12797== by 0x5EB4826:
RawEngine::DRawDecoder::Private::loadFromLibraw(QString const&, QByteArray&,
int&, int&, int&) (drawdecoder_p.cpp:516)
==12797== by 0x5EB23A2: RawEngine::DRawDecoder::decodeRAWImage(QString
const&, RawEngine::DRawDecoderSettings const&, QByteArray&, int&, int&, int&)
(drawdecoder.cpp:473)
==12797== by 0x5C188FC: Digikam::RAWLoader::load(QString const&,
Digikam::DImgLoaderObserver*) (rawloader.cpp:113)
==12797== by 0x5D9EDAA: Digikam::DImg::load(QString const&, int,
Digikam::DImgLoaderObserver*, Digikam::DRawDecoding const&) (dimg.cpp:497)
==12797== by 0x5D9E00E: Digikam::DImg::load(QString const&,
Digikam::DImgLoaderObserver*, Digikam::DRawDecoding const&) (dimg.cpp:369)
==12797== by 0x5D9D226: Digikam::DImg::DImg(QString const&,
Digikam::DImgLoaderObserver*, Digikam::DRawDecoding const&) (dimg.cpp:107)
==12797== by 0x5E5D540: Digikam::LoadingTask::execute()
(loadsavetask.cpp:49)
==12797== by 0x5E4D3FE: Digikam::LoadSaveThread::run()
(loadsavethread.cpp:133)
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Digikam-devel
mailing list