Bad xxxxxSubdir offset for tag 0x002b error

Started by rondomatika, September 04, 2013, 04:34:05 AM

Previous topic - Next topic

rondomatika

Can someone please explain this error to me
I get it when I modify dates...
thank you

Phil Harvey

This indicates that the metadata in your image is corrupted.  Without more details I can't be more specific.

If you send me the image (mail to philharvey66 at gmail.com), I will take a look.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

rondomatika

thank you...
any information that i can give to make it more specific?
I would like to know, as I get the warning in thousands of files, although it seems like the operation is successful:
exiftool "-filemodifydate<datetimeoriginal" *\*.*

Phil Harvey

Aside from sending me a sample, knowing the exact warning message would be useful.  Is it a warning or an error?  Is it "[minor]" or not?

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

rondomatika

i understand..the DNG file is rather large, but I am sending you a link for the file (via email)
many thanks for your time (and also for developing such an amazing tool: i modified 32,000 files in few minutes!

Phil Harvey

Sorry to say, but the Adobe DNG converter has really messed up your original Ricoh GR Digital 3 DNG images.  Aside from corrupting the maker note offsets which is the reason for the error reported by ExifTool, it has also changed the byte ordering of the TIFF structure, which is a REAL NO-NO!  (Microsoft does this too.  You think they would both learn, because both are members of the Metadata Working Group which recommends "A Changer SHOULD preserve the existing byte-order".)

Anyway, read FAQ number 15 for more information about the maker notes corruption.  In your case, adding -m to the command will allow the file to be written (at the possible risk of losing some maker note information).

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

rondomatika

Wow...i don't know what to say...
i had to delete the original DNGs as i was running out of room...(the DNG files are anywhere 30-60% smaller now and they looked OK to me when I compared them with the original DNGs.)

i wonder if this would cause more problems down the line that i am not aware of.
I tried both the -m and -F and i still get the very same error.
The files open fine in my editing software.
Am I facing a big problem now? There is no way to decompress these DNGs to their original, or?
(I realize this is another issue)

Phil Harvey

This probably isn't an issue if you only use Adobe products to develop these modified DNG's.  But it is possible that you could have problems if you use other software, particularly Ricoh software.  There is no easy way to repair the damage done by the Adobe DNG converter.

Note that this really isn't a fault of the Adobe DNG coverter, except that it probably should have warned you that some maker note information could be lost, because the MakerNoteSafety tag is explicitly set to "Unsafe" for the GR DIGITAL 3 DNG images, which indicates that it is unsafe to rewrite the maker notes.

However, ExifTool, of course, rewrites the original maker notes just fine.  But then, ExifTool is smarter than Adobe software.

Adobe has never shown much concern for loss of proprietary metadata.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

rondomatika

I appreciate your time and help.
Lesson learned.
but a bit too late.
I will move on.
As I said above, I tried both -m and -F and I still get the very same error, although the date change seems to work fine.
I did two operations:
-filecreatedate<datetimeoriginal
-filemodifydate<datetimeoriginal
(maybe there was a way to do both at the same time, doesn't matter as your software is amazingly fast)
anyhow, i get no errors for "filecreatedate", but only for modify. I must also add: not in all DNGs. Only the ones from last year gave this error. I believe it has to do with a firmware update of the camera.
Thanks again

Phil Harvey

Without -m, you should get a minor error and the file will not be written:

> exiftool a.dng -artist=me
Error: [minor] Bad MakerNotes offset for Ricoh_Subdir_0x002b - a.dng
    0 image files updated
    1 files weren't updated due to errors


With -m, minor errors are downgraded to warnings, allowing the file to be written:

> exiftool a.dng -artist=me -m
Warning: Bad MakerNotes offset for Ricoh_Subdir_0x002b - a.dng
    1 image files updated


- Phil

Edit:  Oh.  I just noticed you aren't writing the file anyway, since you are only modifying the filesystem information, not tags in the file itself.  So you are right, the -m isn't necessary.  I don't understand why the difference between FileModifyDate and FileCreateDate as you mentioned.
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

rondomatika

sorry for continuing here, but i am a bit confused:
without m, i was still able to get the date update on the converted files.
it gave me a warning but still completed the task.
does that make sense?

rondomatika


rondomatika

and you are correct:
creation date update gave me the same error....

Phil Harvey

...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

rondomatika

#14
because i happen to have straight out of camera jpegs of the corrupt DNGs, i tried the following:

exiftool -tagsfromfile 1.jpg -makernotes 1.dng

the old offset error is gone now, but DNG gives me a different kind of error:

Warning: Bad MakerNotes offset for FirmwareVersion - 1.dng

is this fixible? in genral, is using the jpeg tags to fix the adobe converted dng's a good idea, or am i potentially causing more damage?
thanks

edit:
i used -a parameter to list all warnings...this is not the only warning there are four others which are not displayed after regular use.
so i guess the JPEG tags are not good to fix maker notes.