After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 625367 - [TagLib] IFD parsing fails for entries with invalid entry types.
[TagLib] IFD parsing fails for entries with invalid entry types.
Status: RESOLVED FIXED
Product: f-spot
Classification: Other
Component: Metadata
GIT
Other Linux
: Normal normal
: 0.7.3
Assigned To: F-spot maintainers
F-spot maintainers
Depends on:
Blocks:
 
 
Reported: 2010-07-27 06:33 UTC by Paul Wellner Bou
Modified: 2010-09-08 16:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Don't fail parsing IFDs with invalid entry types. (31.65 KB, patch)
2010-08-12 11:42 UTC, Ruben Vermeersch
committed Details | Review

Description Paul Wellner Bou 2010-07-27 06:33:38 UTC
Importing the second attachement of bug https://bugzilla.gnome.org/show_bug.cgi?id=344488 gives:

[1 Debug 08:29:22.592] Invalid thumbnail, reloading: file:///tmp/test.jpg
[1 Warn  08:29:22.668] Loading of Metadata failed for file: file:///tmp/test.jpg - System.NotImplementedException: Unknown type/count 16/32768 (192) (in `TagLib')
  at TagLib.IFD.IFDReader.CreateIFDEntry (UInt16 tag, UInt16 type, UInt32 count, Int64 base_offset, TagLib.ByteVector offset_data, UInt32 max_offset) [0x003ed] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/IFD/IFDReader.cs:515 
  at TagLib.IFD.IFDReader.ReadIFD (Int64 base_offset, UInt32 offset, UInt32 max_offset) [0x000e2] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/IFD/IFDReader.cs:289 
  at TagLib.IFD.IFDReader.ParseMakernote (UInt16 tag, UInt16 type, UInt32 count, Int64 base_offset, UInt32 offset) [0x00218] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/IFD/IFDReader.cs:829 
  at TagLib.IFD.IFDReader.ParseIFDEntry (UInt16 tag, UInt16 type, UInt32 count, Int64 base_offset, UInt32 offset) [0x00016] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/IFD/IFDReader.cs:897 
  at TagLib.IFD.IFDReader.CreateIFDEntry (UInt16 tag, UInt16 type, UInt32 count, Int64 base_offset, TagLib.ByteVector offset_data, UInt32 max_offset) [0x00023] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/IFD/IFDReader.cs:348 
  at TagLib.IFD.IFDReader.ReadIFD (Int64 base_offset, UInt32 offset, UInt32 max_offset) [0x000e2] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/IFD/IFDReader.cs:289 
  at TagLib.IFD.IFDReader.Read (Int32 count) [0x0003b] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/IFD/IFDReader.cs:181 
  at TagLib.IFD.IFDReader.Read () [0x00000] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/IFD/IFDReader.cs:151 
  at TagLib.IFD.IFDReader.ParseIFDEntry (UInt16 tag, UInt16 type, UInt32 count, Int64 base_offset, UInt32 offset) [0x00138] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/IFD/IFDReader.cs:935 
  at TagLib.IFD.IFDReader.CreateIFDEntry (UInt16 tag, UInt16 type, UInt32 count, Int64 base_offset, TagLib.ByteVector offset_data, UInt32 max_offset) [0x00023] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/IFD/IFDReader.cs:348 
  at TagLib.IFD.IFDReader.ReadIFD (Int64 base_offset, UInt32 offset, UInt32 max_offset) [0x000e2] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/IFD/IFDReader.cs:289 
  at TagLib.IFD.IFDReader.Read (Int32 count) [0x0003b] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/IFD/IFDReader.cs:181 
  at TagLib.IFD.IFDReader.Read () [0x00000] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/IFD/IFDReader.cs:151 
  at TagLib.Jpeg.File.ReadAPP1Segment (UInt16 length) [0x000d2] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/Jpeg/File.cs:461 
  at TagLib.Jpeg.File.ReadMetadata () [0x000b6] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/Jpeg/File.cs:374 
  at TagLib.Jpeg.File.Read (ReadStyle propertiesStyle) [0x0001d] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/Jpeg/File.cs:246 
  at TagLib.Jpeg.File..ctor (IFileAbstraction abstraction, ReadStyle propertiesStyle) [0x00007] in /usr/src/f-spot/lib/TagLib/TagLib/src/TagLib/Jpeg/File.cs:167 
  at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
Comment 1 Ruben Vermeersch 2010-08-12 11:10:22 UTC
This is attachment 67207 [details]
Comment 2 Ruben Vermeersch 2010-08-12 11:42:57 UTC
Created attachment 167721 [details] [review]
Don't fail parsing IFDs with invalid entry types.
Comment 3 Ruben Vermeersch 2010-08-12 11:43:10 UTC
Attachment 167721 [details] pushed as 9d567a7 - Don't fail parsing IFDs with invalid entry types.