PHP 5.3.4 + GD + PNG = Abort trap: 6 (core dumped)

If I try to run following PHP code:

PHP:
$image = imagecreatefrompng('/path/to/my/png/file');

PHP/Apache crashes with:
Code:
Abort trap: 6 (core dumped)

Seems like PNG support is broken, while the rest is ok (jpeg, gif). What the reason may be?
 
> Describe the symptoms of your problem or bug carefully and clearly.

If I try to work with PNG images using GD, PHP terminates with
Code:
Abort trap: 6 (core dumped)

> Describe the environment in which it occurs (machine, OS, application, whatever). Provide your vendor's distribution and release level (e.g.: “Fedora Core 7”, “Slackware 9.1”, etc.).

Code:
uname -a
FreeBSD pups 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010     [email]root@mason.cse.buffalo.edu[/email]:/usr/obj/usr/src/sys/GENERIC  amd64
Code:
php -v
PHP 5.3.4 with Suhosin-Patch (cli) (built: Dec 21 2010 16:01:02)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with XCache v1.3.1, Copyright (c) 2005-2010, by mOo
Code:
pkg_info | grep php
php5-5.3.4          PHP Scripting Language
php5-bz2-5.3.4      The bz2 shared extension for php
php5-ctype-5.3.4    The ctype shared extension for php
php5-filter-5.3.4   The filter shared extension for php
php5-gd-5.3.4       The gd shared extension for php
php5-json-5.3.4     The json shared extension for php
php5-mbstring-5.3.4 The mbstring shared extension for php
php5-mcrypt-5.3.4   The mcrypt shared extension for php
php5-mysql-5.3.4    The mysql shared extension for php
php5-mysqli-5.3.4   The mysqli shared extension for php
php5-openssl-5.3.4  The openssl shared extension for php
php5-posix-5.3.4    The posix shared extension for php
php5-session-5.3.4  The session shared extension for php
php5-zip-5.3.4      The zip shared extension for php
php5-zlib-5.3.4     The zlib shared extension for php
phpMyAdmin-3.3.8.1  A set of PHP-scripts to manage MySQL over the web
xcache-1.3.1        A fast and stable php opcode cacher

Code:
pkg_info | grep pecl
pecl-imagick-3.0.1  Provides a wrapper to the ImageMagick/GraphicsMagick librar
pecl-pdflib-2.1.8   A PECL extension to create PDF on the fly

Code:
pkg_info | grep png
png-1.4.4           Library for manipulating PNG images

> Describe the research you did to try and understand the problem before you asked the question.
Googled -- no info.

> Describe the diagnostic steps you took to try and pin down the problem yourself before you asked the question.
Updated and reinstalled everything related to PHP and PNG.

> Describe any possibly relevant recent changes in your computer or software configuration.
Yesterday PHP5 update from ports.

> If at all possible, provide a way to reproduce the problem in a controlled environment.

Not sure about this. I have asked my friends to do tests on their machines, no one reported about problems. One reported that he faced up with the same problem yesterday, today he updated PHP from ports and problem has gone. Also, he noted that he had similar problems with GD and PNG in the past.

Code:
mkdir gd-test; cd gd-test
echo "<?php \$image = imagecreatefrompng('test.png'); ?>" > test.php
fetch -o test.png [url]http://upload.wikimedia.org/wikipedia/commons/7/7a/Basketball.png[/url]
php test.php
 
Me too.

Just wanted to chime in that Im having the exact same problem, but Im on an older version of BSD and PHP. - so possibly some other library or extention?

Code:
uname -a 
FreeBSD gaiahost.coop 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Tue Jan  5 16:02:27 UTC 2010     
[email]root@i386-builder.daemonology.net[/email]:/usr/obj/usr/src/sys/GENERIC  i386

Code:
php -v
PHP 5.2.14 with Suhosin-Patch 0.9.7 (cli) (built: Oct 21 2010 02:47:49) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

Code:
#cat foo.php
<?php
  $foo = imagecreatefrompng('/web/magazine.org/www-dev/sites/default/files/imagecache_sample.png');
?>

#php foo.php
Abort
Since this is dying on the command line we can rule out apache (saw your link here as well: http://bugs.php.net/bug.php?id=53585)

The only other thing is that Im on a virtual host.. so perhaps there's some library thats not kosher with the virtualization..
 
I also have this problem after upgrading to the latest version of php 5.3.4. After creating a debug version of php and running a test script with gdb, I get the following stack trace:

Code:
#0  0x00000008015c43cc in kill () from /lib/libc.so.7
#1  0x00000008015c31cb in abort () from /lib/libc.so.7
#2  0x0000000804eee1e2 in png_create_read_struct_2 () from /usr/local/lib/libpng.so.6
#3  0x0000000000000000 in ?? ()
#4  0x0000000000000000 in ?? ()
#5  0x00000008047886cb in php_gd_gdImageCreateFromPngCtx () from /usr/local/lib/php/20090626-debug/gd.so
#6  0x00007fffffffed74 in ?? ()
#7  0x00007fffffffed7d in ?? ()
...

However trying to reproduce the problem on a clean freebsd 8.1 install with the latest version of php fails
 
I don't use PHP, but a guess would be that png was upgraded after PHP was installed, and not everything that depends on png was rebuilt. If that is the problem,
# portupgrade -rf png
or
# portmaster -r png
would fix it. Just rebuilding graphics/php5-gd might be enough.
 
Back
Top