Version: 0.9.0-beta1 (using KDE 3.5.3, Debian Package 4:3.5.3-1 (testing/unstable)) Compiler: Target: i486-linux-gnu OS: Linux (i686) release 2.6.15-1-686-smp When pointing mouse over a Sony Alpha 100 raw image (.arw) digikam will crash. I updated dcraw to try to read these images, and dcraw from the command line does work with these images. However if one simply runs the mouse over the image (digikam must be then looking for image information) digikam will crash. The last thing it says is: .......... Error: Offset of directory ImageSubIfd0, entry 0x4e70 is out of bounds: Offset = 0x07b2812b; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0xd650 is out of bounds: Offset = 0x029702f0; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0xb760 is out of bounds: Offset = 0x1378a640; truncating the entry KCrash: Application 'digikam' crashing... A backtrace shows: Using host libthread_db library "/lib/tls/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread -1240877376 (LWP 13386)] [KCrash handler] #5 0xb79ed52d in Exiv2::DataValue::toLong (this=0x0, n=0) at value.hpp:307 #6 0xb79e3554 in Exiv2::TiffMetadataDecoder::visitEntry (this=0x0, object=0x0) at tiffvisitor.cpp:152 #7 0xb79de098 in Exiv2::TiffEntry::doAccept (this=0x0, visitor=@0x0) at tiffcomposite.cpp:208 #8 0xb79de220 in Exiv2::TiffComponent::accept (this=0x1, visitor=@0x0) at tiffcomposite.cpp:203 #9 0xb79de420 in Exiv2::TiffDirectory::doAccept (this=0x8324ec8, visitor=@0x0) at tiffcomposite.cpp:227 #10 0xb79de220 in Exiv2::TiffComponent::accept (this=0x1, visitor=@0x0) at tiffcomposite.cpp:203 #11 0xb79de291 in Exiv2::TiffSubIfd::doAccept (this=0x867ad44, visitor=@0xbf89e7c8) at tiffcomposite.cpp:239 #12 0xb79de220 in Exiv2::TiffComponent::accept (this=0x1, visitor=@0x0) at tiffcomposite.cpp:203 #13 0xb79de420 in Exiv2::TiffDirectory::doAccept (this=0x83001b0, visitor=@0xbf89e7c8) at tiffcomposite.cpp:227 #14 0xb79de220 in Exiv2::TiffComponent::accept (this=0x1, visitor=@0x0) at tiffcomposite.cpp:203 #15 0xb79e1107 in Exiv2::TiffParser::decode (pImage=0x86de5d0, pData=0xb29c5008 "II*", size=12324120, createFct=0xb79e0dd0 <Exiv2::TiffCreator::create(unsigned int, unsigned short)>) at tiffparser.cpp:169 #16 0xb79e08a4 in Exiv2::TiffImage::readMetadata (this=0x86de5d0) at tiffimage.cpp:136 #17 0xb7ef4e57 in Digikam::DMetaLoader::loadWithExiv2 () from /usr/lib/libdigikam.so.0 #18 0xb7ef8b5e in Digikam::RAWMetaLoader::load () from /usr/lib/libdigikam.so.0 #19 0xb7ee1d5a in Digikam::DMetadata::load () from /usr/lib/libdigikam.so.0 #20 0xb7ee55eb in Digikam::DMetadata::DMetadata () from /usr/lib/libdigikam.so.0 #21 0xb7d4158a in Digikam::AlbumFileTip::updateText () from /usr/lib/libdigikam.so.0 #22 0xb7d455d2 in Digikam::AlbumFileTip::setIconItem () from /usr/lib/libdigikam.so.0 #23 0xb7d21678 in Digikam::AlbumIconView::slotShowToolTip () from /usr/lib/libdigikam.so.0 #24 0xb7d2b6d6 in Digikam::AlbumIconView::qt_invoke () from /usr/lib/libdigikam.so.0 #25 0xb697a54b in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #26 0xb7d03235 in Digikam::IconView::signalShowToolTip () from /usr/lib/libdigikam.so.0 #27 0xb7d0328a in Digikam::IconView::slotToolTip () from /usr/lib/libdigikam.so.0 #28 0xb7d06248 in Digikam::IconView::qt_invoke () from /usr/lib/libdigikam.so.0 #29 0xb7d2b403 in Digikam::AlbumIconView::qt_invoke () from /usr/lib/libdigikam.so.0 #30 0xb697a54b in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #31 0xb697afdc in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #32 0xb6d0e2ae in QTimer::timeout () from /usr/lib/libqt-mt.so.3 #33 0xb699f4a1 in QTimer::event () from /usr/lib/libqt-mt.so.3 #34 0xb691087a in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3 #35 0xb6910a76 in QApplication::notify () from /usr/lib/libqt-mt.so.3 #36 0xb70bf24e in KApplication::notify () from /usr/lib/libkdecore.so.4 #37 0xb68a2001 in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3 #38 0xb6902305 in QEventLoop::activateTimers () from /usr/lib/libqt-mt.so.3 #39 0xb68b5d2a in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3 #40 0xb6929255 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3 #41 0xb692917a in QEventLoop::exec () from /usr/lib/libqt-mt.so.3 #42 0xb690f38d in QApplication::exec () from /usr/lib/libqt-mt.so.3 #43 0x0804a6f4 in main () The image can be found here: http://www.melaque.com/DSC00028.ARW I hope this is helpfull.
That's a bug in exiv2, fixed yesterday - how's that for turnaround time :) See here http://dev.robotbattle.com/bugs/view.php?id=482 and here http://dev.robotbattle.com/cmtinfo_svn.php?r=10&v=853 Please try with the latest exiv2 from SVN and feedback if you still have problems. -ahu.
the current exiv2 (svn) unfourtunately causes the same simptoms. digikam: ScanLib: Finding non-existing Albums: 47 ms Warning: Directory ImageSubIfd0 has an unhandled next pointer. Error: Offset of directory ImageSubIfd0, entry 0x4d03 is out of bounds: Offset = 0x056c1560; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0x79e0 is out of bounds: Offset = 0x01093af0; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0xd620 is out of bounds: Offset = 0x225a6402; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0xa801 is out of bounds: Offset = 0xb00c80c1; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0x7281 is out of bounds: Offset = 0x0cb038c0; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0xaca0 is out of bounds: Offset = 0x5c5086df; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0x0008 is out of bounds: Offset = 0x03ff200c; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0xd805 is out of bounds: Offset = 0x9c043201; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0x05b0 is out of bounds: Offset = 0x60a86d60; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0x6760 is out of bounds: Offset = 0x42260805; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0x548c is out of bounds: Offset = 0x03e604ec; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0x105f is out of bounds: Offset = 0x72c068c0; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0x3403 is out of bounds: Offset = 0x0d003fa0; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0xc040 is out of bounds: Offset = 0x04e10b41; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0x6548 is out of bounds: Offset = 0x100aaa00; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0x7890 is out of bounds: Offset = 0x42127c05; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0xa890 is out of bounds: Offset = 0x03f81ec0; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0xfa02 is out of bounds: Offset = 0x05dcc029; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0x1994 is out of bounds: Offset = 0x62c14c60; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0x4e70 is out of bounds: Offset = 0x07b2812b; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0xd650 is out of bounds: Offset = 0x029702f0; truncating the entry Error: Offset of directory ImageSubIfd0, entry 0xb760 is out of bounds: Offset = 0x1378a640; truncating the entry KCrash: Application 'digikam' crashing...
Yeah, that was a bit too optimistic. Please try rev 854 which I just checked in. It has further improved tests. Here the exiv2 command line tool can deal with your sample properly now. (The new Sony camera writes a standard TIFF sub-IFD tag with corrupted or proprietary data.) Regards, Andreas
ooooohh....life is getting better. Digikam no longer crashes! I updated exiv2(svn) and digikam, and rebuilt. Now the main screen comes up, the ARW file is shown as broken. I can roll/over the file icon and see the attributes. Digikam reports: Error: Directory ImageSubIfd0 with 7008 entries considered invalid; not read. TIFFReadDirectory: Warning, /home/MyPhotos/wall/DSC00028.ARW: unknown field with tag 513 (0x201) encountered. TIFFReadDirectory: Warning, /home/MyPhotos/wall/DSC00028.ARW: unknown field with tag 514 (0x202) encountered. TIFFReadDirectory: Warning, /home/MyPhotos/wall/DSC00028.ARW: unknown field with tag 50341 (0xc4a5) encountered. MissingRequired: /home/MyPhotos/wall/DSC00028.ARW: TIFF directory is missing required "StripOffsets" field. However, I CAN open the file in digikam-editor.
The "crash" no longer occurs. With todays digikam (svn) and exiv2 (svn), one can now "roll-over" the image in the main screen and see the image properties. However, the thumbnail image is only partially displayed. Digikam reports... Error: Directory ImageSubIfd0 with 7008 entries considered invalid; not read. TIFFReadDirectory: Warning, /home/MyPhotos/wall/DSC00028.ARW: unknown field with tag 513 (0x201) encountered. TIFFReadDirectory: Warning, /home/MyPhotos/wall/DSC00028.ARW: unknown field with tag 514 (0x202) encountered. TIFFReadDirectory: Warning, /home/MyPhotos/wall/DSC00028.ARW: unknown field with tag 50341 (0xc4a5) encountered. MissingRequired: /home/MyPhotos/wall/DSC00028.ARW: TIFF directory is missing required "StripOffsets" field One can double click the image, and it will come up correctly in the image-editor. I hope this helps...
SVN commit 573669 by cgilles: digikam from trunk : added Sony ALpha RAW file extension by default. CCBUGS: 131686 M +1 -1 rawfiles.h --- trunk/extragear/graphics/digikam/libs/dcraw/rawfiles.h #573668:573669 @@ -22,6 +22,6 @@ #ifndef RAW_FILES_H #define RAW_FILES_H -static const char raw_file_extentions[] = "*.bay *.bmq *.cr2 *.crw *.cs1 *.dc2 *.dcr *.dng *.erf *.fff *.hdr *.k25 *.kdc *.mdc *.mos *.mrw *.nef *.orf *.pef *.pxn *.raf *.raw *.rdc *.sr2 *.srf *.x3f"; +static const char raw_file_extentions[] = "*.bay *.bmq *.cr2 *.crw *.cs1 *.dc2 *.dcr *.dng *.erf *.fff *.hdr *.k25 *.kdc *.mdc *.mos *.mrw *.nef *.orf *.pef *.pxn *.raf *.raw *.rdc *.sr2 *.srf *.x3f *.arw"; #endif // RAW_FILES_H
Your pictures have been taken in vertical orientation. Can you provide a sample in horizontal orientation ? Thank in advance... Gilles Caulier
With the last dcraw version 8.29, the preview extraction is broken with ARW files (try "dcraw -e DSC00028.ARW" for example, an look the preview jpeg file content...) This is a problem in dcraw, not digiKam itself. Please contact the dcraw author to report this problem. Thanks in advance... Gilles Caulier
Note : dcraw author is Dave Coffin : dcoffin at cybercom dot net Gilles
Comment #8 ... I will write Dave Coffin about it. tnx Comment #7 ... A horizontal photo with the A100 can be found here: http://www.melaque.com/DSC00626.ARW (11491964 bytes) And the in-camera jpeg of same here: http://www.melaque.com/DSC00626.JPG (3510372 bytes) Ciao, jjw
SVN commit 573689 by cgilles: digikam from trunk : do not use dcraw "-2" option to decoding RAW file in 8 bit by default. This will be compatible with dcraw 8.29 realease CCBUGS: 131686 M +2 -3 dcrawpreview.cpp --- trunk/extragear/graphics/digikam/libs/dcraw/dcrawpreview.cpp #573688:573689 @@ -109,14 +109,13 @@ } } - // In second, try to use simple RAW extraction method + // In second, try to use simple RAW extraction method in 8 bits ppm output. // -c : write to stdout // -h : Half-size color image (3x faster than -q) - // -2 : 8bit ppm output // -a : Use automatic white balance // -w : Use camera white balance, if possible - command = "dcraw -c -h -2 -w -a "; + command = "dcraw -c -h -w -a "; command += QFile::encodeName( KProcess::quote( path ) ); kdDebug() << "Running dcraw command " << command << endl;
dcraw v8.30 does infact fix the last of this problem, that of displaying the thumbnail of the raw image correctly. Thanks for all the help! Ciao Jim
Ok, tested with dcraw 8.30 too. Work fine here. I close this file now. Important comments about EXIV2 library: Andreas, i have checked the header of the ARW file : because Sony alpha camera are based on Minolta Dynax 5D (Sony have buy digital Minolta Camera part in fact), the makernote are exactly the same than Dynax 5D (excepted new tags about some new options !) Look on the files header provided by J. Westveer, there is a tag witch start with "MLT0" ! this is the minolta Makernote ID ! This can be very trivial to fix Exiv2 library to use Minolta makernote with all ARW files and JPEG files generated by a Sony Alpha camera... This is want mean that we have 3 camera types witch use Minolta makernote : - Sony Alpha. - Minolta camera. - Olympus camera. Gilles Caulier
Requested links to sample photos with NO-DRO, DRO, DRO+ (on the camera they are refered to as "D-R") Location: http://www.melaque.com/MyPhotos/2006/8-21/ The files are in RAW+JPG format, and are of the same subject matter. DSC00646.ARW & DSC00646.JPG are NO-DRO DSC00647.ARW & DSC00647.JPG are DRO DSC00648.ARW & DSC00648.JPG are DRO+ I will try the exiv2 patch in a bit.... Ciao, J. Westveer
*** Bug has been marked as fixed ***.
*** This bug has been marked as a duplicate of bug 405210 ***
fixed with bug 405210