-b and -x switches - Out of memory

Started by gquerret, October 27, 2011, 06:01:15 AM

Previous topic - Next topic

gquerret

Hello,


I'm using exiftool to extract metadata from various set of images, and I'm facing an Out of memory problem when using -b switch. I have an example of a specific TIFF file, which contains a 300Mb IFD0:ImageSourceData binary tag. I know I'm not interested in this specific tag, so I use -x IFD0:ImageSourceData. But when using this switch in combination with -b, it seems that ExifTool extracts the tag in memory but just skips it in the output.
I'd like to know if it's possible to skip the binary data extraction step in memory (thus avoiding the out of memory problem) when there's an explicit -x switch for a specific tag.


ExifTool version used : 8.60 (reproduced on 8.65)
OS : Win 2003 32 bits
Command line : %PERL%\bin\perl.exe exiftool/ExifTool MyImage.tiff -x IFD0:Image -b -w! %f.txt
Output : Out of memory exception. Process grows to 1Gb in "Private Data" (shown in process explorer) and crashes
Output/behavior expected : excluded tags are not extracted in memory when using -b

I can provide an example file, but it's a more than 500Mb file, so contact me directly if you need it.


Best regards,

Gilles QUERRET

Phil Harvey

Hi Gilles,

Thanks for this detailed request.  ExifTool currently loads all binary data tags when -b is used, even if they were excluded.

But it makes sense to not load the excluded tags.  I will implement this in ExifTool 8.69.

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

gquerret

Thanks for your quick reply ! I'll try it when released and give you my feedback.


Gilles

Phil Harvey

The next release is still a ways away.  But since you use the pure Perl version it is easy to prepare a 8.69 pre-release for you to try.

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

gquerret

Works correcty on this test file, thanks for extremely quick fix ! We still have Gigabytes of images, we'll keep you posted on the behavior of this version.

Gilles QUERRET