Bug 113167

Summary: Crash when getting EXIF information
Product: [Applications] digikam Reporter: András Manţia <amantia>
Component: Metadata-ExifAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED NOT A BUG    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 7.5.0
Sentry Crash Report:
Attachments: Image causing the crash
patch to fix the crash

Description András Manţia 2005-09-23 22:26:05 UTC
This bug belong to the libkexif, but there is no entry for it in bugzilla and I  
got the crash with digikam. Shortly: if files generated by an old Kodak camera 
are under the digikam album directory, digikam crashes on startup with the 
below backtrace. 
 This was working before, so I don't know if the bug is in the SVN version of 
digikam, libkexif or the OS (opensuse 10 beta4). 
 The image is also attached. 
 
Using host libthread_db library "/lib/tls/libthread_db.so.1". 
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols. 
[Thread debugging using libthread_db enabled] 
[New Thread 1102049792 (LWP 1301)] 
[KCrash handler] 
#3  0x41a46571 in strlen () from /lib/tls/libc.so.6 
#4  0x418a0335 in exif_entry_get_value () from /usr/lib/libexif.so.12 
#5  0x408fb4b8 in KExifEntry::readEntry (this=0x817ecd0) 
    
at /data/development/sources/kde-3.5/extragear/libs/libkexif/kexifentry.cpp:104 
#6  0x408fb559 in KExifEntry::setEntry (this=0x817ecd0, exifEntry=0x815c810) 
    
at /data/development/sources/kde-3.5/extragear/libs/libkexif/kexifentry.cpp:92 
#7  0x408fb70b in KExifEntry (this=0x817ecd0, exifEntry=0x815c810) 
    
at /data/development/sources/kde-3.5/extragear/libs/libkexif/kexifentry.cpp:54 
#8  0x408fe5d0 in KExifIfd::setContent (this=0x8185aa8, content=0x8197bb0) 
    
at /data/development/sources/kde-3.5/extragear/libs/libkexif/kexififd.cpp:95 
#9  0x408fe7d0 in KExifIfd (this=0x8185aa8, name=@0xbf8c2ecc,  
    content=0x8197bb0) 
    
at /data/development/sources/kde-3.5/extragear/libs/libkexif/kexififd.cpp:45 
#10 0x408fc0ec in KExifData::readFromData (this=0xbf8c3188,  
    data=0x81c2508 "Exif", size=21672) 
    
at /data/development/sources/kde-3.5/extragear/libs/libkexif/kexifdata.cpp:146 
#11 0x40177353 in Digikam::readJPEGMetaData () 
   from /data/kde-35/lib/libdigikam.so.0 
#12 0x400da48c in ScanLib::storeItemInDatabase () 
   from /data/kde-35/lib/libdigikam.so.0 
#13 0x400dbe6f in ScanLib::allFiles () from /data/kde-35/lib/libdigikam.so.0 
#14 0x400dc265 in ScanLib::findMissingItems () 
   from /data/kde-35/lib/libdigikam.so.0 
#15 0x400dce5f in ScanLib::startScan () from /data/kde-35/lib/libdigikam.so.0 
#16 0x4007487e in AlbumManager::setLibraryPath () 
   from /data/kde-35/lib/libdigikam.so.0 
#17 0x08049fa8 in main ()
Comment 1 András Manţia 2005-09-23 22:27:37 UTC
Created attachment 12676 [details]
Image causing the crash
Comment 2 Renchi Raju 2005-09-24 15:06:33 UTC
its a crash in libexif. can you try the following:
* install commandline exif tool
* from a terminal run "exif the_picture_which_caused_crash.jpeg" and 
  see if it survives.
Comment 3 András Manţia 2005-09-26 14:38:05 UTC
On Saturday 24 September 2005 16:06, Renchi Raju wrote:
> * install commandline exif tool

Do you know from where can I get it?
Comment 4 András Manţia 2005-09-26 15:03:19 UTC
BTW, digikam 0.7.4 (from the original opensuse packages, running on 
3.4.2) does not have this crash problem. libkexif is 0.2.1-6 in that 
case. The libexif library is the same, so I doubt the problem is there.
Comment 5 Renchi Raju 2005-09-27 10:53:59 UTC
the reason why 0.7.4 does not crash could be because it doesn't scan image metadata. try opening up the properties of the image to see the exif information.

exif is a commandline tool provided from libexif folks. there might be binaries provided by suse. otherwise you can get sources from libexif.sourceforge.net
Comment 6 András Manţia 2005-09-27 11:22:34 UTC
On Tuesday 27 September 2005 11:54, Renchi Raju wrote:
> ------- Additional Comments From renchi.raju kdemail net  2005-09-27
> 10:53 ------- the reason why 0.7.4 does not crash could be because it
> doesn't scan image metadata. 

I see.

> try opening up the properties of the 
> image to see the exif information.

In Konqueror I can see the exif information without problems.
>
> exif is a commandline tool provided from libexif folks. there might
> be binaries provided by suse. otherwise you can get sources from
> libexif.sourceforge.net


I have it now (suse does not package the command line tool, so I 
couldn't find it). It does not crash.

Andras
Comment 7 Renchi Raju 2005-09-27 12:07:17 UTC
well well well.... suse has taken a cvs snapshot and shipped it as libexif-0.6.13 

i compiled this version and it does crash digikam and i traced the bug into libexif. you will need to complain to suse
Comment 8 András Manţia 2005-09-27 12:29:33 UTC
On Tuesday 27 September 2005 13:07, Renchi Raju wrote:
> ------- Additional Comments From renchi.raju kdemail net  2005-09-27
> 12:07 ------- well well well.... suse has taken a cvs snapshot and
> shipped it as libexif-0.6.13


That's bad. :-( I will compile the official one from sources...

>
> i compiled this version and it does crash digikam and i traced the
> bug into libexif. you will need to complain to suse


...and will complain to suse as well.

Andras
Comment 9 Marcus Meissner 2005-09-27 13:22:26 UTC
exif the commandline frontend is included in SUSE btw.
Comment 10 Marcus Meissner 2005-09-27 13:26:31 UTC
is not present in final 10.0 on amd64 and ppc.
Comment 11 Renchi Raju 2005-09-27 15:06:47 UTC
Created attachment 12729 [details]
patch to fix the crash

Marcus, here's a patch to fix the problem
Comment 12 András Manţia 2005-09-27 16:05:43 UTC
Confirmed, it works.