Bug 233927 - Olympus raw file crashes thumbnail view
Summary: Olympus raw file crashes thumbnail view
Status: RESOLVED UPSTREAM
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Raw (show other bugs)
Version: 1.2.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-10 11:02 UTC by Matti Rintala
Modified: 2017-08-10 19:27 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 1.3.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matti Rintala 2010-04-10 11:02:29 UTC
Version:           1.2.0 (using KDE 4.4.2)
OS:                Linux
Installed from:    openSUSE RPMs

When I enter an album with the attached image (raw file from Olympus EP1, taken from DPreview), digikam crashes.

With gdb I get the message "digikam(9322)/digikam (core): ThumbnailLoadThread::load: No thumbnail size specified. Refusing to load thumbnail"

I don't know if this is an Exiv2 bug, and if it's been fixed in later exiv2 version, but maybe you guys can check this out...

Stack trace below.

digikam(9322)/digikam (core): ThumbnailLoadThread::load: No thumbnail size specified. Refusing to load thumbnail. 
[New Thread 0x7fffcae88910 (LWP 9386)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffde851910 (LWP 9329)]
0x00007ffff189dae9 in ?? () from /lib64/libc.so.6
(gdb) where
#0  0x00007ffff189dae9 in ?? () from /lib64/libc.so.6
#1  0x00007ffff189bc32 in memmove () from /lib64/libc.so.6
#2  0x00007fffefd30f03 in void std::vector<unsigned char, std::allocator<unsigned char> >::_M_assign_aux<unsigned char const*>(unsigned char const*, unsigned char const*, std::forward_iterator_tag)
    () from /usr/lib64/libexiv2.so.5
#3  0x00007fffefd2c7f5 in _M_assign_dispatch<Exiv2::byte const*> (__last=<value optimized out>, 
    this=<value optimized out>, __first=<value optimized out>)
    at /usr/include/c++/4.4/bits/stl_vector.h:1061
#4  assign<Exiv2::byte const*> (__last=<value optimized out>, this=<value optimized out>, 
    __first=<value optimized out>) at /usr/include/c++/4.4/bits/stl_vector.h:395
#5  Exiv2::DataValue::read (__last=<value optimized out>, this=<value optimized out>, 
    __first=<value optimized out>) at value.cpp:174
#6  0x00007fffefd2675c in Exiv2::Internal::TiffReader::readTiffEntry (this=0x7fffde850490, object=
    0x7fffd8e616b0) at tiffvisitor.cpp:1354
#7  0x00007fffefd17305 in Exiv2::Internal::TiffDirectory::doAccept (this=0x7fffd8c0bae0, visitor=
    ...) at tiffcomposite.cpp:602
#8  0x00007fffefd172b1 in Exiv2::Internal::TiffSubIfd::doAccept (this=0x7fffd9631130, visitor=...)
    at tiffcomposite.cpp:614
#9  0x00007fffefd17305 in Exiv2::Internal::TiffDirectory::doAccept (this=0x7fffd95aee70, visitor=
    ...) at tiffcomposite.cpp:602
#10 0x00007fffefcd5854 in Exiv2::Internal::TiffIfdMakernote::doAccept (this=0x7fffd95aee50, 
    visitor=...) at makernote.cpp:212
#11 0x00007fffefd17229 in Exiv2::Internal::TiffMnEntry::doAccept (this=0x7fffd84d0e70, visitor=...)
    at tiffcomposite.cpp:621
#12 0x00007fffefd17305 in Exiv2::Internal::TiffDirectory::doAccept (this=0x7fffd89e81c0, visitor=
    ...) at tiffcomposite.cpp:602
#13 0x00007fffefd172b1 in Exiv2::Internal::TiffSubIfd::doAccept (this=0x7fffd89d6ee0, visitor=...)
    at tiffcomposite.cpp:614
#14 0x00007fffefd17305 in Exiv2::Internal::TiffDirectory::doAccept (this=0x7fffd94f53e0, visitor=
---Type <return> to continue, or q <return> to quit---
    ...) at tiffcomposite.cpp:602
#15 0x00007fffefd1daa1 in Exiv2::Internal::TiffParserWorker::parse (pData=0x7fffbb04a000 "IIRO\b", 
    size=12807013, root=131072, pHeader=<value optimized out>) at tiffimage.cpp:823
#16 0x00007fffefd1e53a in Exiv2::Internal::TiffParserWorker::decode (
    exifData=<value optimized out>, iptcData=..., xmpData=..., pData=0x7fffbb04a000 "IIRO\b", size=
    12807013, root=131072, findDecoderFct=
    0x7fffefd1c9a0 <Exiv2::Internal::TiffMapping::findDecoder(std::string const&, uint32_t, uint16_t)>, pHeader=0x7fffde850690) at tiffimage.cpp:729
#17 0x00007fffefced437 in Exiv2::OrfParser::decode (exifData=..., iptcData=..., xmpData=..., pData=
    0x7fffbb04a000 "IIRO\b", size=<value optimized out>) at orfimage.cpp:147
#18 0x00007fffefcede59 in Exiv2::OrfImage::readMetadata (this=0x7fffd89d6920) at orfimage.cpp:121
#19 0x00007ffff66d77a9 in KExiv2Iface::KExiv2::load(QString const&) const ()
   from /usr/lib64/libkexiv2.so.8
#20 0x00007ffff5426b39 in Digikam::DMetadata::load (this=0x7fffd97dccb0, filePath=...)
    at /usr/src/debug/digikam-1.2.0/libs/dmetadata/dmetadata.cpp:78
#21 0x00007ffff5426bb2 in Digikam::DMetadata::DMetadata (this=0x7fffde8509b0, filePath=...)
    at /usr/src/debug/digikam-1.2.0/libs/dmetadata/dmetadata.cpp:66
#22 0x00007ffff546fb03 in Digikam::ThumbnailCreator::createThumbnail (this=0xd952e0, 
    info=<value optimized out>)
    at /usr/src/debug/digikam-1.2.0/libs/threadimageio/thumbnailcreator.cpp:268
#23 0x00007ffff547096f in Digikam::ThumbnailCreator::load (this=0xd952e0, path=...)
    at /usr/src/debug/digikam-1.2.0/libs/threadimageio/thumbnailcreator.cpp:195
#24 0x00007ffff5478033 in Digikam::ThumbnailLoadingTask::execute (this=0x9ff4ba0)
    at /usr/src/debug/digikam-1.2.0/libs/threadimageio/thumbnailtask.cpp:133
#25 0x00007ffff54534ec in Digikam::LoadSaveThread::run (this=0xd7ead0)
    at /usr/src/debug/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:134
#26 0x00007ffff25e4775 in ?? () from /usr/lib64/libQtCore.so.4
#27 0x00007fffefffe65d in start_thread () from /lib64/libpthread.so.0
#28 0x00007ffff18eee1d in clone () from /lib64/libc.so.6
---Type <return> to continue, or q <return> to quit---
#29 0x0000000000000000 in ?? ()
Comment 1 Matti Rintala 2010-04-10 11:22:07 UTC
The raw file was too large to include as an attachment.

But anyway, I noticed that the image crashes command line exiv2, so the crash is an Exiv2 bug, so this bug report can probably be closed. Sorry I didn't check the stack trace more carefully and test exiv2 earlier.

Matti
Comment 2 Matti Rintala 2010-04-10 11:23:56 UTC
One final note: this was Exiv2 bug #647, fixed in version 0.19