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

Installing and maintaining the FreeBSD Ports Collection or FreeBSD Packages (i.e. third party software).

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

Postby actual » 21 Dec 2010, 05:28

If I try to run following PHP code:

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

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


Seems like PNG support is broken, while the rest is ok (jpeg, gif). What the reason may be?
actual
Junior Member
 
Posts: 2
Joined: 21 Dec 2010, 05:12

Postby SirDice » 21 Dec 2010, 13:24

Senior UNIX Engineer at Unix Support Nederland
Experience is something you don't get until just after you need it.
User avatar
SirDice
Old Fart
 
Posts: 16185
Joined: 17 Nov 2008, 16:50
Location: Rotterdam, Netherlands

Postby actual » 21 Dec 2010, 14:57

> 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: Select all
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: Select all
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: Select all
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: Select all
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: Select all
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: Select all
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: Select all
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
actual
Junior Member
 
Posts: 2
Joined: 21 Dec 2010, 05:12

Me too.

Postby ryanaslett » 22 Dec 2010, 09:56

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: Select all
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: Select all
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: Select all
#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..
ryanaslett
Junior Member
 
Posts: 1
Joined: 22 Dec 2010, 09:19

Postby Freddie » 22 Dec 2010, 15:58

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: Select all
#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
Freddie
Junior Member
 
Posts: 6
Joined: 21 Jan 2010, 13:42

Postby wblock@ » 22 Dec 2010, 19:13

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,
[cmd="#"]portupgrade -rf png[/cmd]
or
[cmd="#"]portmaster -r png[/cmd]
would fix it. Just rebuilding [port]graphics/php5-gd[/port] might be enough.
User avatar
wblock@
Old Fart
 
Posts: 10212
Joined: 07 Sep 2009, 23:23
Location: Milky Way galaxy

Postby Freddie » 23 Dec 2010, 09:24

Thanks, I can confirm that rebuilding with [CMD=" "]portmaster -r png[/CMD] fixes the issue.
Freddie
Junior Member
 
Posts: 6
Joined: 21 Jan 2010, 13:42

Postby wblock@ » 23 Dec 2010, 14:32

Great! Upgrading FreeBSD Ports may be useful for a general overview.
User avatar
wblock@
Old Fart
 
Posts: 10212
Joined: 07 Sep 2009, 23:23
Location: Milky Way galaxy

Postby kestasjk » 11 Sep 2011, 13:20

I just got this myself.. kind of makes you wonder how you're supposed to run a production system off BSD
kestasjk
Junior Member
 
Posts: 10
Joined: 21 May 2010, 17:05


Return to Installation and Maintenance of FreeBSD Ports or Packages

Who is online

Users browsing this forum: Yahoo [Bot] and 2 guests