Bug 268549 - Digikam crashes everytime i try to start
Summary: Digikam crashes everytime i try to start
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Engine (show other bugs)
Version: 2.0.0
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-15 10:43 UTC by Rene Castberg
Modified: 2020-08-12 08:17 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.0.0
Sentry Crash Report:


Attachments
Backtrace (5.36 KB, text/plain)
2011-03-15 10:43 UTC, Rene Castberg
Details
Crash in showfoto (6.84 KB, application/octet-stream)
2011-03-15 12:43 UTC, Rene Castberg
Details
JPEG leading to crash (40.08 KB, image/jpeg)
2011-03-15 13:10 UTC, Rene Castberg
Details
Current crash with beta5 (1.96 KB, application/x-gzip)
2011-05-15 09:36 UTC, Rene Castberg
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Rene Castberg 2011-03-15 10:43:54 UTC
Created attachment 58022 [details]
Backtrace

Version:           2.0.0 (using KDE 4.6.1) 
OS:                Linux

During start Digikam crashes every time during collection scan, stopping during one particular folder.

not sure which file this occurs as i haven't found a way of identifying it yet.

I am using the binary from ppa:philip5/extra, mention on http://scribblesandsnaps.wordpress.com/2011/03/09/install-the-latest-beta-of-digikam-on-ubuntu-10-10/

Reproducible: Always

Steps to Reproduce:
Start digikam.

Actual Results:  
Crashs

Expected Results:  
Start
Comment 1 caulier.gilles 2011-03-15 10:51:42 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
Comment 2 Rene Castberg 2011-03-15 11:10:30 UTC
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
Comment 3 caulier.gilles 2011-03-15 11:14:51 UTC
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
Comment 4 Rene Castberg 2011-03-15 12:42:40 UTC
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)
Comment 5 Rene Castberg 2011-03-15 12:43:58 UTC
Created attachment 58024 [details]
Crash in showfoto
Comment 6 caulier.gilles 2011-03-15 12:54:07 UTC
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
Comment 7 Rene Castberg 2011-03-15 13:10:58 UTC
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.
Comment 8 Marcel Wiesweg 2011-04-24 15:43:48 UTC
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)
Comment 9 Rene Castberg 2011-05-15 09:35:40 UTC
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
Comment 10 Rene Castberg 2011-05-15 09:36:37 UTC
Created attachment 60015 [details]
Current crash with beta5
Comment 11 caulier.gilles 2011-05-15 10:17:22 UTC
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 ()
Comment 12 Rene Castberg 2011-06-22 10:14:25 UTC
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