1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

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

Discussion in 'Installation and Maintenance of Ports or Packages' started by actual, Dec 21, 2010.

  1. actual

    actual New Member

    Messages:
    2
    Thanks Received:
    0
    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?
     
  2. SirDice

    SirDice Moderator Staff Member Moderator

    Messages:
    17,622
    Thanks Received:
    2,384
  3. actual

    actual New Member

    Messages:
    2
    Thanks Received:
    0
    > 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     root@mason.cse.buffalo.edu:/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 http://upload.wikimedia.org/wikipedia/commons/7/7a/Basketball.png
    php test.php
     
  4. ryanaslett

    ryanaslett New Member

    Messages:
    1
    Thanks Received:
    0
    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     
    root@i386-builder.daemonology.net:/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..
     
  5. Freddie

    Freddie New Member

    Messages:
    6
    Thanks Received:
    0
    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
     
  6. wblock@

    wblock@ Administrator Staff Member Administrator Moderator Developer

    Messages:
    11,704
    Thanks Received:
    2,269
    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.
     
    Freddie thanks for this.
  7. Freddie

    Freddie New Member

    Messages:
    6
    Thanks Received:
    0
    Thanks, I can confirm that rebuilding with portmaster -r png fixes the issue.
     
  8. wblock@

    wblock@ Administrator Staff Member Administrator Moderator Developer

    Messages:
    11,704
    Thanks Received:
    2,269
  9. kestasjk

    kestasjk New Member

    Messages:
    10
    Thanks Received:
    0
    I just got this myself.. kind of makes you wonder how you're supposed to run a production system off BSD