Bug 176565 - Loading a directory with more than 5000 raw files (NEF) make digikam crash
Summary: Loading a directory with more than 5000 raw files (NEF) make digikam crash
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Raw (show other bugs)
Version: 0.10.0
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-30 19:46 UTC by Rob Visser
Modified: 2017-08-10 19:27 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 0.10.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rob Visser 2008-11-30 19:46:16 UTC
Version:           0.10 (using KDE 4.1.2)
OS:                Linux
Installed from:    Unspecified Linux

Application: digiKam (digikam), signal SIGSEGV
[Thread debugging using libthread_db enabled]
[New Thread 0xb4bcb6c0 (LWP 6430)]
[New Thread 0xb3650b90 (LWP 6431)]
[KCrash handler]
#6  0x00000000 in ?? ()
#7  0xb4d1ac12 in Exiv2::ExifTags::tagInfo () from /usr/lib/libexiv2.so.4
#8  0xb4d22cf5 in Exiv2::ExifTags::tagName () from /usr/lib/libexiv2.so.4
#9  0xb4d23347 in Exiv2::ExifKey::makeKey () from /usr/lib/libexiv2.so.4
#10 0xb4d2391d in Exiv2::ExifKey::ExifKey () from /usr/lib/libexiv2.so.4
#11 0xb4d30b5c in Exiv2::TiffMetadataDecoder::decodeStdTiffEntry ()
   from /usr/lib/libexiv2.so.4
#12 0xb4d2d711 in Exiv2::TiffMetadataDecoder::decodeTiffEntry ()
   from /usr/lib/libexiv2.so.4
#13 0xb4d2d934 in Exiv2::TiffMetadataDecoder::visitEntry ()
   from /usr/lib/libexiv2.so.4
#14 0xb4d27ec8 in Exiv2::TiffEntry::doAccept () from /usr/lib/libexiv2.so.4
#15 0xb4d27ea7 in Exiv2::TiffComponent::accept () from /usr/lib/libexiv2.so.4
#16 0xb4d27f5e in Exiv2::TiffDirectory::doAccept ()
   from /usr/lib/libexiv2.so.4
#17 0xb4d27ea7 in Exiv2::TiffComponent::accept () from /usr/lib/libexiv2.so.4
#18 0xb4d28006 in Exiv2::TiffSubIfd::doAccept () from /usr/lib/libexiv2.so.4
#19 0xb4d27ea7 in Exiv2::TiffComponent::accept () from /usr/lib/libexiv2.so.4
#20 0xb4d27f5e in Exiv2::TiffDirectory::doAccept ()
   from /usr/lib/libexiv2.so.4
#21 0xb4d27ea7 in Exiv2::TiffComponent::accept () from /usr/lib/libexiv2.so.4
#22 0xb4d2bfa9 in Exiv2::TiffParser::decode () from /usr/lib/libexiv2.so.4
#23 0xb4d2a7d6 in Exiv2::TiffImage::readMetadata ()
   from /usr/lib/libexiv2.so.4
#24 0xb554e475 in KExiv2Iface::KExiv2::load (this=0xb364ffbc, 
    filePath=@0xb364ff58)
    at /home/rob/down/svn/kdegraphics/libs/libkexiv2/libkexiv2/kexiv2.cpp:249
#25 0xb7c46ab0 in Digikam::DMetadata::load (this=0xb364ffbc, 
    filePath=@0xb364ff58)
    at /home/rob/down/svn/graphics/digikam/libs/dmetadata/dmetadata.cpp:76
#26 0xb7ea415f in Digikam::ImageScanner::loadFromDisk (this=0xb364ffb4)
    at /home/rob/down/svn/graphics/digikam/libs/database/imagescanner.cpp:513
#27 0xb7ea8053 in Digikam::ImageScanner::newFile (this=0xb364ffb4, 
    albumId=321)
    at /home/rob/down/svn/graphics/digikam/libs/database/imagescanner.cpp:89
#28 0xb7e9a81f in Digikam::CollectionScanner::scanNewFile (this=0xb3650368, 
    info=@0x9583ac4, albumId=321)
    at /home/rob/down/svn/graphics/digikam/libs/database/collectionscanner.cpp:557
#29 0xb7e9d188 in Digikam::CollectionScanner::scanAlbum (this=0xb3650368, 
    location=@0x9044e58, album=@0xb365019c)
    at /home/rob/down/svn/graphics/digikam/libs/database/collectionscanner.cpp:510
#30 0xb7e9d497 in Digikam::CollectionScanner::scanAlbum (this=0xb3650368, 
    location=@0x9044e58, album=@0xb36502a4)
    at /home/rob/down/svn/graphics/digikam/libs/database/collectionscanner.cpp:521
#31 0xb7e9d9dc in Digikam::CollectionScanner::scanAlbumRoot (this=0xb3650368, 
    location=@0x9044e58)
    at /home/rob/down/svn/graphics/digikam/libs/database/collectionscanner.cpp:314
#32 0xb7e9e2b6 in Digikam::CollectionScanner::completeScan (this=0xb3650368)
    at /home/rob/down/svn/graphics/digikam/libs/database/collectionscanner.cpp:191
#33 0x082b7379 in Digikam::ScanController::run (this=0x8e99c08)
    at /home/rob/down/svn/graphics/digikam/digikam/scancontroller.cpp:366
#34 0xb65516ae in ?? () from /usr/lib/libQtCore.so.4
#35 0xb564f50f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#36 0xb53867ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb4bcb6c0 (LWP 6430)):
#0  0xb7ff6430 in __kernel_vsyscall ()
#1  0xb5653075 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb65526f2 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#3  0xb6551853 in QThread::wait () from /usr/lib/libQtCore.so.4
#4  0x082b64dc in Digikam::ScanController::shutDown (this=0x8e99c08)
    at /home/rob/down/svn/graphics/digikam/digikam/scancontroller.cpp:226
#5  0x082b6644 in ~ScanController (this=0x8e99c08)
    at /home/rob/down/svn/graphics/digikam/digikam/scancontroller.cpp:209
#6  0x082b8a71 in ~ScanControllerCreator (this=0x8e99c08)
    at /home/rob/down/svn/graphics/digikam/digikam/scancontroller.cpp:163
#7  0x082b676b in destroy ()
    at /home/rob/down/svn/graphics/digikam/digikam/scancontroller.cpp:164
#8  0x0822c6cd in ~KCleanUpGlobalStatic (this=0x838d008)
    at /usr/include/kglobal.h:67
#9  0xb52d3d69 in exit () from /lib/tls/i686/cmov/libc.so.6
#10 0xb5aa3d6b in ?? () from /usr/lib/libQtGui.so.4
#11 0xb76200da in KApplication::xioErrhandler () from /usr/lib/libkdeui.so.5
#12 0xb7620116 in ?? () from /usr/lib/libkdeui.so.5
#13 0xb6288062 in _XIOError () from /usr/lib/libX11.so.6
#14 0xb6290135 in ?? () from /usr/lib/libX11.so.6
#15 0xb6290985 in _XEventsQueued () from /usr/lib/libX11.so.6
#16 0xb627890f in XEventsQueued () from /usr/lib/libX11.so.6
#17 0xb5ade0ad in ?? () from /usr/lib/libQtGui.so.4
#18 0xb4f8e308 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#19 0xb4f8ec8d in ?? () from /usr/lib/libglib-2.0.so.0
#20 0xb4f8ef61 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#21 0xb666c497 in QEventDispatcherGlib::processEvents ()
   from /usr/lib/libQtCore.so.4
#22 0xb5addee5 in ?? () from /usr/lib/libQtGui.so.4
#23 0xb664052a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#24 0xb66406ea in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#25 0x082b630a in Digikam::ScanController::completeCollectionScan (
    this=0x8e99c08, splash=0x9052910)
    at /home/rob/down/svn/graphics/digikam/digikam/scancontroller.cpp:288
#26 0x0826be7d in DigikamApp (this=0x9060e28)
    at /home/rob/down/svn/graphics/digikam/digikam/digikamapp.cpp:161
#27 0x082a6f89 in main (argc=4, argv=0xbf9f7024)
    at /home/rob/down/svn/graphics/digikam/digikam/main.cpp:162
#0  0xb7ff6430 in __kernel_vsyscall ()
Comment 1 caulier.gilles 2008-12-01 10:22:39 UTC
The crash appear in Exiv2 shared library.

We need to know which version of "Exiv2" and "libkexiv2" are used on your computer.

Also, your album only include NEF files ?

Andreas, i CC you for information...

Gilles Caulier
Comment 2 Rob Visser 2008-12-01 23:33:27 UTC
After some more testing I found out:

It has to do with exiv2. Depending on which NEF file I access it crashes. See the 2 exiv2 actions below:

rob@prawn:~/Pictures/nef_test$ exiv2 DSC_7653.NEF
File name       : DSC_7653.NEF
File size       : 6166678 Bytes
MIME type       : image/tiff
Image size      : 3040 x 2014
Camera make     : NIKON CORPORATION
Camera model    : NIKON D70
Image timestamp : 2008:09:28 14:54:34
Image number    :
Exposure time   : 1/400 s
Aperture        : F5.6
Exposure bias   : 0
Flash           : No flash
Flash bias      :
Focal length    : 200.0 mm (35 mm equivalent: 300.0 mm)
Subject distance:
ISO speed       : 200
Exposure mode   : Auto
Metering mode   : Multi-segment
Macro mode      :
Image quality   : RAW   Exif Resolution : 3040 x 2014
White balance   : AUTO       Thumbnail       : None
Copyright       :
Exif comment    :                                    
rob@prawn:~/Pictures/nef_test$ exiv2 DSC_7655.NEF
Segmentation fault

With verbose turned on:
rob@prawn:~/Pictures/nef_test$ exiv2 -v DSC_7655.NEF
File 1/1: DSC_7655.NEF
Segmentation fault

Hope this helps.


Rob Visser
Comment 3 Andreas Huggel 2008-12-02 02:20:34 UTC
Which version of exiv2 are you using?
If the problem occurs with 0.18-pre2, can you please send me the picture?

Thanks,
Andreas
Comment 4 Andreas Huggel 2008-12-03 17:55:03 UTC
Rob,
Thanks for the image. With 0.18-pre2 this works fine, I can not reproduce the problem here. Please upgrade your version of exiv2 (or wait a moment, the final 0.18 will be out soon).

Regards,
Andreas
Comment 5 caulier.gilles 2008-12-03 19:10:23 UTC
Rob,

Let's me hear if all work fine for you with new code from Exiv2. I would to see if this file can be closed...

Thanks in advance

Gilles Caulier
Comment 6 caulier.gilles 2008-12-05 22:44:54 UTC
For me this file is an pure Exiv2 issue. It's fixed using last code from Exiv2 0.18.

I close this file now. 

Gilles Caulier