Exiftool hangs with 100% CPU use

Started by Opas-G, April 28, 2010, 04:38:48 AM

Previous topic - Next topic

Opas-G

I use exiftool to get Metainformations from a few .eps but the System stays at 100% and nothing goes on.

Eps is created with Adobe CS3 Illustrator


1) Your system type (Windows XP, Linux, Mac, etc). 

Windows

2) The version of exiftool you are using (the output of the "exiftool -ver" command).

6.96 & 8.18

3) The specific command line you are using (or a sample script if having problems with the API).

exiftool.exe -G -e -S -L

4) The console output from the command.

no output, System stays at 100%

5) It is often useful to attach an image file which exhibits the problem.  (Please keep these files small if possible -- I have limited disk space for this forum.)

ftpx://217x.111x.65x.115x exiftool\exif  (without x, only for security)

plz tell me when you downloaded it, after that i will close the ftp.

Thx for help

Phil Harvey

Thanks for the bug report.  I have downloaded the files, and will post again after I get a chance to analyze the problem.

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

Opas-G

Thx for the fast replay and i will cloese the ftp know.

Phil Harvey

I hate Windows.

This is another problem which only appears in Windows due to the poor memory handling on this system.  I had similar problems when writing large TIFF images and was forced to add a LOT of complexity to the code to reduce exiftool's memory usage to get around this problem.

Your EPS files are very large (>100MB each), and ExifTool has not been optimized to try to reduce memory useage when reading large EPS files like this.  EPS files are text based and ExifTool reads only one line at a time into memory, but in some cases the lines can be extremely long (as in this case).  On other systems, there is no problem reading these files with exiftool, but Windows seems to grind to a halt if exiftool allocates too much memory like this.

I will see what I can do, but it doesn't look like there will be a quick fix for this problem.

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

Phil Harvey

I've been working on this problem.  I have tried a couple of algorithms which greatly reduce the memory usage when processing the samples you sent.  This would solve the Windows memory problem, but unfortunately there is a performance penalty when run on other platforms.  So I'm still working to see if I can find a better solution.
...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 ($).

a_c_m

Getting this on Linux (RedHat, exif-6.94) as well. Just FYI, dealing with much smaller files too (5 - 10 mb).

Phil Harvey

Quote from: a_c_m on May 06, 2010, 10:03:55 AM
Getting this on Linux (RedHat, exif-6.94) as well. Just FYI, dealing with much smaller files too (5 - 10 mb).

Let me know if you still have a problem after upgrading to the current version.  If so, a sample file would be useful.

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