Errors and Warnings
Errors and warnings emitted by exifprobe are rarely fatal.
Most are emitted on separate lines, although some warning messages
may appear in-line. Most warning messages will begin with a `#' character.
If color is enabled, all errors and warnings will be printed in red.
Errors
Almost all error messages report failure to read data. This
will usually indicate a file which is corrupted in some way, often
as a result of processing by software which didn't fully understand
the original file format (particularly common with MakerNotes). These
errors occur when the program reads an entry which provides a file
offset from which to read additional data; if that file offset is
larger than the size of the file, the read will fail with a message
like
-
FAILED to read unsigned short value at offset 15728734 (EOF)
The program will continue until no valid data can be found.
Warnings
Exifprobe issues a number of messages intended to alert you
to potential problems or interesting anomalies in the structure or
content of an image file. Most of the messages are reasonably self-explanatory
and won't be mentioned here. Some of the messages report "errors"
in conformance with a specification. Some report practices which do
not violate a specification, but which may result in difficulties
for display or editing software which are not special-cased to understand.
In some cases the warnings may indicate that an image file has already
been re-written by software which failed to understand. Many of the
messages apply to MakerNotes or thumbnail images which may be damaged
or subject to damage.
Here are a few messages of particular interest.
-
!0x000011c=284 : # WARNING: values extend past end of MakerNote
An offset value in a MakerNote starts within the announced boundary
of the note (as indicated by its start offset and size) but extends
past the end of the note. This may indicate that the size of the note
is incorrect, or that a following tag in the parent has overwritten
a portion of the value.
-
!0x0f0005e=15728734: # WARNING: values referenced outside of MakerNote
MakerNotes are intended to be self-contained sections, according to
the Exif specification. Many notes, however, refer to data (usually
thumbnails) which are written at arbitrary offsets outside the MakerNote.
This means that software which modifies the file must be fully aware
of the note format and rewrite offsets in the note if the note is
moved, or if the thumbnail is moved, deleted, or modified.
-
</MakerNote> # WARNING! MakerNote has next ifd offset 4278190110
The TIFF IFD format includes four bytes written at the end of the
entries which must be interpreted as the offset to the next IFD in
a chain. If there is no next IFD, the offset should be written as
0. Some makers don't bother to write the 0 value, since MakerNotes
are never chained (not yet, anyway). This means that software which
looks for a next ifd offset will read the following data and interpret
it as an offset. Exifprobe will report a non-zero offset
with the above message, but will not attempt to follow it. The propensity
to omit next ifd offset is known and marked for some makers, for which
exifprobe will simply report "no next ifd offset
used" and avoid the above message.
-
TAG_0X0010 : length 11492 # UNDEFINED (not dumped, use -U)
The comment portion of this message is informational, used to mark
items with a TIFF type "UNDEFINED'' if the structure
of the content is not known. The ``-U length" option
to the program will cause "length" bytes of the
content to be printed as a hex/ascii dump.
-
>0x00033b3=13235 : <JPEG_BADSOI> (0x00d8)
JPEG "markers" are always two-byte markers with
the high byte 0xff and the low byte identifying the marker type. The
"start of image" maker (JPEG_SOI) has low byte
0xd8. At least one maker (Minolta) frequently writes thumbnail images
with JPEG_SOI markers which have an arbitrary high byte (not 0xff).
These markers are marked as above, giving the actual value of the
marker. Note that a standard JPEG codec will probably refuse to display
the image.
-
-0x000e1cf=57807 : # End of JPEG Thumbnail (JPEG_EOI FOUND EARLY)
Most JPEG thumbnails or reduced-resolution images are included in
sections which define the size of the data, If exifprobe
fails to find the "end of image" (JPEG_EOI) marker
at the end of the section it will scan back in the section trying
to find a valid JPEG_EOI. It will report the offset of the actual
JPEG_EOI (if found) and issue the above message. This is not an error;
sections are often padded to two or four-byte boundaries. In some
cases, the writer may have reserved space before knowing the actual
length of the image, and reserved more than needed. In this case,
the "padding" could be several kilobytes. The padding
should contain bytes with all bits set (0xff), may contain all zeros,
or could contain a secret note to the teacher. Perhaps exifprobe
should offer to dump this padding.
-
*0x000012a=298 : ---- End of values before end of PrintIM section
Some PrintIM sections reserve more space than needed for the number
of values contained, This also sometimes occurs for MakerNotes. A
portion of the unused space will be hex/ascii dumped.