Files from Canon EOS M5 have “Possibly corrupted CanonCustom2 data”

Started by bdesham, April 18, 2017, 08:31:20 AM

Previous topic - Next topic

bdesham

I started using a Canon EOS M5 a couple of months ago. When I try to process its images with ExifTool I see a warning:

exiftool -exiftoolversion -warning -a IMG_0592.CR2

ExifTool Version Number         : 10.49
Warning                         : Possibly corrupted CanonCustom2 data


This happens very consistently: every single image I take with the camera yields this warning. I have only tried raw (CR2) files; I don't know if the warning happens for out-of-camera JPEGs. I'm using ExifTool 10.49 on macOS 10.12.4.

I don't want to upload a sample file here, since they're very large, but you can get one at https://esham.io/files/4e1580fa-2432-11e7-a643-237c0ff2c149/EOS_M5_sample.CR2.

Please let me know if there's any more information I can provide! :)

Phil Harvey

Thanks for this report.  I have some EOS M5 samples and have looked into this problem.

The EOS M5 seems to have a firmware bug that writes an incorrect size for the custom functions group 2 record (it reports 72 bytes, but the size is actually 92 bytes).  ExifTool validates this size when reading the record to protect against reading corrupted data, so it issues a warning and doesn't read the entries that overrun the reported size.  In this case, the last 2 custom functions (ShutterReleaseWithoutLens and RetractLensOnPowerOff) are not extracted because they are past the reported end of the record.

This is unusual for Canon.  Their custom function data is usually very consistent.  EOS M5 JPEG images have the same problem.  I have checked all other models, and none of them show a problem like this.

Perhaps this will be fixed in a Canon firmware update.  My samples are firmware version 1.00 (the same as your camera).

- Phil

Edit: Added a few more details about the problem.
...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 ($).


rwaldner

I just bought a Canon PowerShot G9 X Mark II and I get the same warning when handling JPG files. As long as no data is getting corrupted I can live with it ...  8)

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 ($).

bomberb17

Hello, just wanted to know if there are any updates on this error.
My camera is Canon EOS M100.
My output as follows

.\exiftool -if 'not ($GPSLatitude or $GPSLongitude)' -geotag history.kml '-geotime<${createdate}-00:00' -r -ext jpg  .
Warning: Possibly corrupted CanonCustom2 data - ./IMG_0095.JPG
Warning: No writable tags set from ./IMG_0095.JPG
    1 directories scanned
    0 image files updated
    1 image files unchanged

StarGeek

I don't think the problem is the CanonCustom2 data.  That's only a warning and wouldn't prevent the writing of GPS data.  You can test it by adding the -m (ignoreMinorErrors) option to ignore the warning.  If you still get No writable tags set warning, then the problem isn't the CanonCustom2 data.

It's more likely that this is Geotagging>Troubleshooting #2.  When you set the geo time to ${createdate}-00:00, that means that the CreateDate time stamp was taken in the Greenwich Mean Time/Western European Time time zone.  If the images wasn't taken there, then the time zone part should be the local time zone where the image was taken.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

bomberb17