Floating point overflow reported with CR2 files. JPG and DNG ok.

Started by l_d_allan, May 03, 2012, 08:58:11 AM

Previous topic - Next topic

l_d_allan

ExifToolGui newbie with 5.10.0.0

Thanks for providing (and supporting) ExifToolGui

I'm getting a popup error window with the message:
Floating point overflow.

when I attempt to change exif metadata on .CR2 files. ExifToolGui appears to work fine with .JPG and .DNG files.

Am I doing something wrong?

BogdanH

Hi,
Please describe following details:
1. From what camera model is that CR2 file,
2. What Exif tag exactly you wish to change and what value you wish to enter,
3. Do you modify with Workspace or by using ExifTool direct,
4. What Details view you have for Filelist panel (Standard filelist,.. User defined)

I'm quite sure you aren't doing something wrong. But to find the reason for this error message, I need to know more.
Thank you.

Bogdan

l_d_allan

* From Canon 5dm2 (full resolution)
* I wasn't able to get far enough to try to modify a metatag. When I clicked on a .cr2 file, I got the error message.
* I wasn't using ExifTool directly, so I guess it was  "Workspace"
* Standard filelist
* Again, worked fine with .jpg and .dng files after AdobeDngConverter was used.

FWIW: the .cr2 file was from a Samyang 14mm f2.8 totally manual lens. It doesn't report values for LensModel or f-stop (both blank). Also, it reports 50mm instead of 14mm.

BogdanH

Hi allan,

Thank you for coming back. That is weird... is there any chance you would post that CR2 file somewhere? I am afraid, I can't solve this issue otherwise -and I am very interested to do that.

Bogdan

l_d_allan

I'll try again to post/attach a 5MB _MG_3296.cr2 that was shot as a reduced resolution SRAW2. It has the same problem with "floating point error" reported. The .dng is fine.

.... drat ... attachment not working. Here are links to the SRAW2 .cr2 and the .dng:

http://www.canprint.org/images/_MG_3296.CR2
http://www.canprint.org/images/_MG_3296.dng

(Note they are blank ... shot with lens cap on with the intent that they might be smaller)

Also, ExifToolGui can open .cr2 files that were taken with an EF Canon lens that supplies the expected EXIF info. The problem seems to be with images taken with a Samyang fully manual lens that leaves several EXIF fields blank.

FWIW: what I'm trying to do is use the Adobe Lens Profile Tool with the Samyang. Based on the f-stop, a varying amount of correction is applied, especially vignetting. The EXIF info from the Samyang leaves the FNumber field blank (as well as other fields, but that is the one of interest to me).

HTH ...

BogdanH

Hi,

Thank you for samples -I assume CR2 was taken with lens cap attached (because actual image is black).

Now.. I have no problem when selecting that CR2 file in GUI: metadata and preview (black) is shown normally -without any error message.
What ExifTool version are you using? -use GUI menu: Program>About...
What Windows and processor (CPU) are you using?

for Phil:
Please see ExifIFD:ApertureValue inside above CR2 file -it has weird value (because of the lens being used). I'm using latest ExifTool v8.91, so value is just shown weird. Maybe allan is using a bit older ExifTool which didn't handle such value the same way as current ExifTool does? Btw. this tag is missing in DNG file, so maybe that's why there's no problem.

allan:
Try following:
1. Run GUI, go to folder where _MG_3296.CR2 file is, but don't select any file
2. Click on ExifTool direct and write into Command field:
-ExifIFD:ApertureValue= _MG_3296.CR2
and press Enter key to execute command.
Now select that CR2 file in GUI to see if error message still appears.

Bogdan

l_d_allan

Quote from: BogdanH on May 06, 2012, 08:25:14 AM
Now.. I have no problem when selecting that CR2 file in GUI: metadata and preview (black) is shown normally -without any error message.

I installed ExifTool v8.90 and ExifToolGui v5.10.0.0 on my Win7-64-Sp1 laptop, and it seems to work fine. The issue I'm seeming may be isolated to my Win7-64-Sp1 desktop. I wonder if a Canon codec is involved ... installed differently on the two computers? (Drat)

QuoteWhat ExifTool version are you using? -use GUI menu: Program>About...
What Windows and processor (CPU) are you using?

Both desktop and laptop have ExifTool v8.90 and ExifToolGui v5.10.0.0   They are both running Win7-64-Sp1

Quote
allan:
Try following:
1. Run GUI, go to folder where _MG_3296.CR2 file is, but don't select any file
2. Click on ExifTool direct and write into Command field:
-ExifIFD:ApertureValue= _MG_3296.CR2
and press Enter key to execute command.
Now select that CR2 file in GUI to see if error message still appears.

At step #2, the ExifTool LOG shows:
==== _MG_3296.CR2
  0 images updated
  1 files weren't updated due to errors
Error renaming temporary file to _MG_3296.CR2
<-END-

Well, perhaps this isn't worth further investigation on your part, as it works on my laptop.

MOL

Did you install ExifTool into the same folder on both computers?

Uwe

l_d_allan

I originally installed ExifTool and ExifToolGui on the desktop by unzipping the files into:
C:\Bin\32\ExifTool

Then I copied the files directly from the desktop computer to the laptop, also at:
C:\Bin\32\ExifTool

Neither of the above on part of the environment variable "PATH", fwiw

BogdanH


Phil Harvey

Very interesting.  It could be that there is some system dependency in how floating point exceptions are handled.  On my system (Mac), the CR2 ApertureValue shows as 'inf', but it would certainly result in a floating point overflow because for this file it is calculated as 2^(2147483648/2), which is a big whopping number!!  However, my system must trap the floating point exception properly and return the code for "infinity", as one would expect.

Generally, I don't range check things like this beforehand because that would slow down ExifTool unnecessarily.  I don't understand why your system isn't handling the floating point overflow properly.

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

BogdanH

Quote from: Phil Harvey on May 07, 2012, 07:21:11 AM
Generally, I don't range check things like this beforehand because that would slow down ExifTool unnecessarily.
Agree... if we take this (full manual/no-chip lens used) as very rare case.

But I still wonder, how come, on some hardware (because OS is the same in this case), this error appears. Could be it's CPU dependant? Because I assume, when interpreting x^y, floating point code is generated which isn't handled by all CPU's equaly... eh, better forget that  :)

I'll use the oportunitiy (maybe this question was already answered):
In ExifTool, how come you decided to convert i.e. ApertureValue into FNumber equivalent? Ok, this could be expected when conversion is used, but when -n output option is used, I would expect to get actual (APEX) tag value.
Just curious.

Bogdan

Phil Harvey

Hi Bogdan,

I thought that it would be more useful to represent the values all in the same units.  And with the ability to copy information to different tags now, I'm really glad I did this.  The -n disables the output formatting, but not the numerical conversion in this case.

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

BogdanH

Hi Phil,

Yes, I understand -and you don't need to explain all the time "why ApertureValue 7 is shown if actual aperture was set to f/11"  :).

Bogdan

pb

Quote from: Phil Harvey on May 07, 2012, 07:21:11 AM
Very interesting.  It could be that there is some system dependency in how floating point exceptions are handled.  On my system (Mac), the CR2 ApertureValue shows as 'inf', but it would certainly result in a floating point overflow because for this file it is calculated as 2^(2147483648/2), which is a big whopping number!!  However, my system must trap the floating point exception properly and return the code for "infinity", as one would expect.

Generally, I don't range check things like this beforehand because that would slow down ExifTool unnecessarily.  I don't understand why your system isn't handling the floating point overflow properly.

- Phil
Is it possible that the exception error message is coming from a run-time library which might be different between the different windows installations?

--peter