Page 1 of 1

Error "child process exited with status 255"

Posted: 2010-01-08T16:25:46-07:00
by Randolf
I'm using PerlMagick with mod_perl2 and libapreq2 in Apache 2.2. I have a Perl script that takes an image file upload, changes its type to "png" before resizing and sharpening it, and then writes a new .png file somewhere.

This script works fine for all .jpg, .jpeg, and .png files, but fails with .gif files that include animations. So far all the .gif files WITHOUT animations don't cause this problem.

When this error occurs, it appears in the Apache's master error logs, and then Apache HTTPd restarts.

Is there a way I can instruct the ImageMagick object to eliminate all but the first frame?

Thanks in advance.

Re: Error "child process exited with status 255"

Posted: 2010-01-08T16:43:42-07:00
by magick
To get the first frame of an animation, append '[0]' to the filename, e.g. 'image.gif[0]'. Large animations are remediated with ImageMagick limits. You can set them from the policy (edit policy.xml), the environment (e.g. MAGICK_LIMIT_AREA), or from the command line (e.g. -limit area). The area limits force images greater than the limit from memory to disk and the disk limit causes ImageMagick to exit if that limit is exceeded. For example, an area limit of 16mb forces any image greater than 4096x4096 pixels from memory to disk and with a disk limit of 1GB, any huge image will cause ImageMagick to exit with an exception.

Re: Error "child process exited with status 255"

Posted: 2010-01-10T21:40:19-07:00
by Randolf
That's helpful information, thank you.

My situation is that I'm reading a temporary file that doesn't have an extension, and may be GIF, JPeG, or PNG. If ImageMagick can't be configured before calling ->Read() to load the file, then perhaps I'll have to either read the first portion of the file to determine if it is a GIF file (trivial, but I'd rather not), or maybe I can add "[0]" to the filename for any image type (which would certainly be easier).

Thanks again.