Modification of non-creatable array value attempted in postscript.pm

Started by tbraber, June 17, 2014, 06:42:21 AM

Previous topic - Next topic

tbraber

Halo,

I just upgraded from version 8.85 to 9.64 and found a bug in postscript.pm at line 220 after writing metadata to an EPS file.

full error:

Modification of non-creatable array value attempted, subscript -1 at C:/perl/cpanlib/Image/ExifTool/PostScript.pm line 220, <EXIFTOOL_FILE2> chunk 14.

In version 8.85 there was no such error

The eps file is a file created with Adobe Illustrator 15.0.

Do you have enough info from me to figure out what the problem is ?
If needed I can send you the file by email.

Phil Harvey

Thanks for this report.

Having the sample file would be very helpful.  My email is philharvey66 at gmail.com

Thanks.

- 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 got the sample, thanks.  I don't see the problem you mention with this command (although there are other problems in the file):

> exiftool -ver
9.64
> exiftool ST03290.eps -artist=me
Warning: Bad embedded TIFF - ST03290.eps
Error: [minor] Multiple XMP directories - ST03290.eps
Error: [minor] Multiple Photoshop directories - ST03290.eps
Error: [minor] IFD0 pointer references previous IFD0 directory - ST03290.eps
    0 image files updated
    1 files weren't updated due to errors
> exiftool ST03290.eps -artist=me -m
Warning: Bad embedded TIFF - ST03290.eps
Warning: Multiple XMP directories - ST03290.eps
Warning: Multiple Photoshop directories - ST03290.eps
Warning: IFD0 pointer references previous IFD0 directory - ST03290.eps
Warning: Deleting duplicate IFD0 directory - ST03290.eps
    1 image files updated


What was the exact command you used?  If you are using the Windows EXE version, you might try deleting the temporary files and re-running the command to make sure it wasn't a bad installation. (See the uninstall instructions for details.)

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

tbraber

I use exiftool as a Perl library inside my own Perl program.
The error happens when I use the $exifTool->WriteInfo($sourcefile) command.

Phil Harvey

OK, so I guess I won't be able to reproduce this.  But I do have an idea of how it could happen, so I'll add a patch to ExifTool 9.65 and hopefully I'll get lucky.  I should be releasing 9.65 tomorrow or the next day.

- 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

ExifTool 9.65 is now available.  Please let me know how it goes with this version.

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

tbraber

Yes it helped !
The new version 9.65 is working fine.

Thank you

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