Summary: | Digikam crashes everytime i try to start | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Rene Castberg <rene> |
Component: | Metadata-Engine | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | ahuggel, caulier.gilles |
Priority: | NOR | ||
Version: | 2.0.0 | ||
Target Milestone: | --- | ||
Platform: | Unlisted Binaries | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 2.0.0 | |
Sentry Crash Report: | |||
Attachments: |
Backtrace
Crash in showfoto JPEG leading to crash Current crash with beta5 |
Description
Rene Castberg
2011-03-15 10:43:54 UTC
The crash come from Exiv2 shared library. Which Exiv2 version you use ? Go to Help/Component Info for details (start Showfoto instead digiKam to handle menu) (gdb) bt #0 _wordcopy_fwd_dest_aligned (dstp=<value optimized out>, srcp=<value optimized out>, len=4076) at wordcopy.c:202 #1 0x00007fffeef9d53e in memmove (dest=0x7fffcc892660, src=<value optimized out>, len=32784) at memmove.c:73 #2 0x00007fffec2531f3 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/lib/libexiv2.so.10 #3 0x00007fffec24dce5 in Exiv2::DataValue::read(unsigned char const*, long, Exiv2::ByteOrder) () from /usr/lib/libexiv2.so.10 #4 0x00007fffec24718e in ?? () from /usr/lib/libexiv2.so.10 #5 0x00007fffec247f91 in ?? () from /usr/lib/libexiv2.so.10 #6 0x00007fffec230148 in ?? () from /usr/lib/libexiv2.so.10 #7 0x00007fffec230235 in ?? () from /usr/lib/libexiv2.so.10 #8 0x00007fffec2301e1 in ?? () from /usr/lib/libexiv2.so.10 #9 0x00007fffec230235 in ?? () from /usr/lib/libexiv2.so.10 #10 0x00007fffec23a021 in ?? () from /usr/lib/libexiv2.so.10 #11 0x00007fffec23a943 in ?? () from /usr/lib/libexiv2.so.10 #12 0x00007fffec23aa93 in Exiv2::TiffParser::decode(Exiv2::ExifData&, Exiv2::IptcData&, Exiv2::XmpData&, unsigned char const*, unsigned int) () from /usr/lib/libexiv2.so.10 #13 0x00007fffec23abe3 in Exiv2::TiffImage::readMetadata() () from /usr/lib/libexiv2.so.10 #14 0x00007ffff5f63285 in KExiv2Iface::KExiv2::load(QString const&) const () from /usr/lib/libkexiv2.so.10 #15 0x00007ffff498f639 in Digikam::DMetadata::load (this=0x7fffcc892708, filePath=...) at /build/buildd/digikam2-2.0.0~beta4+git110307/libs/dmetadata/dmetadata.cpp:85 #16 0x00007ffff43cc9c0 in Digikam::ImageScanner::loadFromDisk (this=0x7fffd5205d40) at /build/buildd/digikam2-2.0.0~beta4+git110307/libs/database/imagescanner.cpp:1113 #17 0x00007ffff43d2118 in Digikam::ImageScanner::newFile (this=0x7fffcc892708, albumId=-753139728) at /build/buildd/digikam2-2.0.0~beta4+git110307/libs/database/imagescanner.cpp:102 #18 0x00007ffff4376544 in Digikam::CollectionScanner::scanNewFile (this=0x7fffd5206b60, info=..., albumId=140) at /build/buildd/digikam2-2.0.0~beta4+git110307/libs/database/collectionscanner.cpp:936 Gilles Caulier Looks like 0.21.1 Regards Rene Castberg showFoto version 2.0.0-beta4 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 LibClapack: internal library LibExiv2: 0.21.1 LibJPEG: 62 LibJasper: 1.900.1 LibKDE: 4.6.1 (4.6.1) LibKExiv2: 2.0.0 LibKMap: 2.0.0 LibKdcraw: 2.0.0 LibLCMS: 118 LibPGF: 6.09.44 - internal library LibPNG: 1.2.44 LibQt: 4.7.0 LibRaw: 0.13.1 LibTIFF: LIBTIFF, Version 3.9.4 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Marble Widget: 0.11.0 (Stable Release) Parallelized demosaicing: Yes Now, we need to know which image crash Exiv2. Start kdebugdialog and enable digikam and KExiv2 debug space. start digikam from the console and post the full trace here... Gilles Caulier When didikam crashes the only info i get from "The KDE Crash Handler" is: Application: digiKam (digikam), signal: Bus error It seems to consistantly crash on one file.20080721T15450220.jpg digikam(1748)/digikam (core) Digikam::DImg::load: "/home/renec/Data/Digital Camera/2008/2008-07/KazTrip/20080721T15450220.jpg" : JPEG file identified digikam(1748)/digikam (core) Digikam::ImageScanner::addImage: Adding new item "/home/renec/Data/Digital Camera/2008/2008-07/KazTrip/20080721T15450220.jpg" digikam(1748)/KEXIV2 KExiv2Iface::KExiv2::getImageDateTime: DateTime => Exif.Photo.DateTimeOriginal => QDateTime("Mon Jul 21 15:45:02 2008") digikam(1748)/KEXIV2 KExiv2Iface::KExiv2::getDigitizationDateTime: DateTime (Exif digitalized): Mon Jul 21 15:45:02 2008 digikam(1748)/KEXIV2 KExiv2Iface::KExiv2::getImageOrientation: Orientation => Exif.Image.Orientation => 1 digikam(1748)/digikam (core) Digikam::DMetadata::getImageHistory: Loading image history "" QSocketNotifier: Invalid socket 17 and type 'Read', disabling... QSocketNotifier: Invalid socket 11 and type 'Read', disabling... QSocketNotifier: Invalid socket 13 and type 'Read', disabling... QSocketNotifier: Invalid socket 20 and type 'Read', disabling... digikam: Fatal IO error: client killed KCrash: Application 'digikam' crashing... KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit sock_file=/home/renec/.kde/socket-matahari/kdeinit4__0 Running it through gdb gives the sam backtrace as before (i guess i would need to load symbols from libexiv) Though running the photo through showFoto does give a crash. I will attach it. I don't know how useful it is but i could share the problematic image (it looks fine in gwenview) Created attachment 58024 [details]
Crash in showfoto
Thanks. Please attache this image to this bugzilla entry : /home/renec/Data/Digital Camera/2008/2008-07/KazTrip/20080721T15450220.jpg if you use Exiv2 command line program, can you reproduce the crash with this image, when you parse metadata ? Gilles Caulier Created attachment 58026 [details] JPEG leading to crash I have no problem with running exiv2 ~/20080721T15450220.jpg I was unable to upload the file due to its size (1.2M), i have uploaded it on my webspace, http://folk.uio.no/renec/20080721T15450220.jpg and also attached a scaled down version (done with imagemagick convert) which still crashes showfoto. The crash is inside loadFromDisk, the last output filename is from addImage, which is called one line after loadFromDisk => the presumedly crashing file will be the one immediately following 20080721T15450220.jpg (probably alphabetical order) Hi, I finaly found some time to run digikam again. I am now running 2:2.0.0~beta5-natty~ppa2, I will attach the current crash info. I have uploaded the image following (alphabetically) to: http://folk.uio.no/renec/20080721T15453900.jpg Created attachment 60015 [details]
Current crash with beta5
From your BT, again crash appear in Exiv2 library : Thread 3 (Thread 0x7f6f21839700 (LWP 2759)): [KCrash Handler] #6 _wordcopy_fwd_dest_aligned (dstp=<value optimized out>, srcp=<value optimized out>, len=4076) at wordcopy.c:202 #7 0x00007f6f3cbd2ce7 in memmove (dest=0x26fae20, src=<value optimized out>, len=32784) at memmove.c:76 #8 0x00007f6f38b5d1f3 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/lib/libexiv2.so.10 #9 0x00007f6f38b57ce5 in _M_assign_dispatch<Exiv2::byte const*> (this=<value optimized out>, buf=0x7f6f03fe7ff0 "", len=<value optimized out>) at /usr/include/c++/4.4/bits/stl_vector.h:1061 #10 assign<Exiv2::byte const*> (this=<value optimized out>, buf=0x7f6f03fe7ff0 "", len=<value optimized out>) at /usr/include/c++/4.4/bits/stl_vector.h:395 #11 Exiv2::DataValue::read (this=<value optimized out>, buf=0x7f6f03fe7ff0 "", len=<value optimized out>) at value.cpp:193 #12 0x00007f6f38b5118e in Exiv2::Internal::TiffReader::readTiffEntry (this=0x7f6f21837c10, object=0x26da890) at tiffvisitor.cpp:1534 #13 0x00007f6f38b51f91 in Exiv2::Internal::TiffReader::visitMnEntry (this=0x7f6f21837c10, object=0x7f6f03fe7ff0) at tiffvisitor.cpp:1390 #14 0x00007f6f38b3a148 in Exiv2::Internal::TiffMnEntry::doAccept (this=0x26da890, visitor=...) at tiffcomposite.cpp:933 #15 0x00007f6f38b3a235 in Exiv2::Internal::TiffDirectory::doAccept (this=0x26d2800, visitor=...) at tiffcomposite.cpp:915 #16 0x00007f6f38b3a1e1 in Exiv2::Internal::TiffSubIfd::doAccept (this=0x268c850, visitor=...) at tiffcomposite.cpp:927 #17 0x00007f6f38b3a235 in Exiv2::Internal::TiffDirectory::doAccept (this=0x26e0290, visitor=...) at tiffcomposite.cpp:915 #18 0x00007f6f38b44021 in Exiv2::Internal::TiffParserWorker::parse (pData=0x7f6f03aa8000 "MM", size=5595532, root=131072, pHeader=<value optimized out>) at tiffimage.cpp:1883 #19 0x00007f6f38b44943 in Exiv2::Internal::TiffParserWorker::decode (exifData=<value optimized out>, iptcData=<value optimized out>, xmpData=..., pData=0x7f6f03aa8000 "MM", size=5595532, root=131072, findDecoderFct=0x7f6f38b42600 <Exiv2::Internal::TiffMapping::findDecoder(std::string const&, uint32_t, Exiv2::Internal::IfdId)>, pHeader=0x2724fc0) at tiffimage.cpp:1773 #20 0x00007f6f38b44a93 in Exiv2::TiffParser::decode (exifData=..., iptcData=..., xmpData=..., pData=0x10 <Address 0x10 out of bounds>, size=48) at tiffimage.cpp:237 #21 0x00007f6f38b44be3 in Exiv2::TiffImage::readMetadata (this=0x26c6d20) at tiffimage.cpp:192 #22 0x00007f6f42e7f2d9 in KExiv2Iface::KExiv2::load(QString const&) const () from /usr/lib/libkexiv2.so.10 #23 0x00007f6f4203d659 in Digikam::DMetadata::load(QString const&) const () from /usr/lib/libdigikamcore.so.2 #24 0x00007f6f41a881e0 in Digikam::ImageScanner::loadFromDisk() () from /usr/lib/libdigikamdatabase.so.2 #25 0x00007f6f41a8fd68 in Digikam::ImageScanner::newFile(int) () from /usr/lib/libdigikamdatabase.so.2 #26 0x00007f6f41a35c7c in Digikam::CollectionScanner::scanNewFile(QFileInfo const&, int) () from /usr/lib/libdigikamdatabase.so.2 #27 0x00007f6f41a38451 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.2 #28 0x00007f6f41a38102 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.2 #29 0x00007f6f41a38102 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.2 #30 0x00007f6f41a38d26 in Digikam::CollectionScanner::scanAlbumRoot(Digikam::CollectionLocation const&) () from /usr/lib/libdigikamdatabase.so.2 #31 0x00007f6f41a38fc4 in Digikam::CollectionScanner::completeScan() () from /usr/lib/libdigikamdatabase.so.2 #32 0x00000000005bee2b in _start () Hi, It looks like this bug might have been caused by a corrupt harddrive, as my disk crashed and had to renewed. After having removed all corrupt images it seems there is no longer any problems, as digikam2 starts without any problems. Thanks for your effort looking into this. Rene |