Help save net neutrality! Learn more.

Apache 2 seg faults with 2.5.2 and CVS

  • Derwood

    Derwood - 2007-01-23

    System is running FreeBSD 6.2-RELEASE with Apache2 and PHP5.2.0.

    Have used phpsysinfo for quite some time, had been running 2.3 with no problems until I installed 2.5.2 today.
    Now, all I get is a blank browser page and "child pid 4667 exit signal Segmentation fault (11)" from Apache

    Logged into CVS and downloaded latest everything and still get the same message.

    Any ideas?

    • Anonymous - 2007-01-23

      one question, how have you installed php 5.2, because i can't find it in the official package list on my testing machine, i'm looking at this problem

    • Derwood

      Derwood - 2007-01-24

      I installed it through the FreeBSD ports.
      If your ports are showing an older version of PHP5, you probably need to run cvsup on your ports tree and have everything refreshed.
      FreshPorts shows that the latest version available in the ports tree is 5.2.0:

      The FreeBSD handbook has instructions on how to set up cvsup so you can get the latest ports tree here:

      • Anonymous - 2007-01-25

        ok, i used everytime the offical package base instead the ports. have installed now php5.2 from ports and now the app breaks like on your machine.
        the problem i found is the line

        88: if( ! $XPath->match( "/phpsysinfo/FileSystem/Mount[" . $i . "]/Options" ) || ! stristr( $XPath->getData( "/phpsysinfo/FileSystem/Mount[" . $i . "]/Options" ), "bind" ) ) {

        if the "|| ! stristr ..." part is removed everything works.
        i think this php5.2 version from ports is broken in a bad way. i tested the app on a opensuse 10.2 installation also with php5.2 and it works. the only way i see is to debug the apache process to see wich really cause the seg fault, i've tried it but i compiled all progs without debugging information so i get no really usefull output.

        • Derwood

          Derwood - 2007-01-25

          Changing line 88 in includes/xml/filesystems.php to
          if( ! $XPath->match( "/phpsysinfo/FileSystem/Mount[" . $i . "]/Options" ) ) {

          works perfectly.  Thanks for the tip.

      • Anonymous - 2007-01-25

        ok i found something, it is a bug in php, look here

        • Derwood

          Derwood - 2007-01-25

          Cool. Thanks.
          When PHP releases 5.2.1 it should be fixed..
          I'll modify phpSysInfo for now until that happens.