From: dschmidt@informationsgesellschaft.com
Operating system: Linux (Suse 7.3)
PHP version: 4.2.1
PHP Bug Type: Scripting Engine problem
Bug description: segfault when trying to access a global variable
After the Upgrade from php 4.0.6 to php 4.2.1 our Application crashes
(httpd segmentation fault)
We used the dgb Debugger (dd.cron.ru) to figure out where it happens:
Inside a function when trying to make a global variable available with the
global statement (global $xyz;).
We were not able to reproduce that error inside a short script. It only
occurs in our (complex) Application (with a lot of classes) and only under
certain circumstances.
after that, we tried to get a backtrace (we followed the guide in
http://bugs.php.net/bugs-generating-backtrace.php).
After compiling php with --enable-debug we were not able to reproduce the
error. Instead we got a lot of messages in
the httpd-error_log:
-------------------------
zend_language_scanner.c(4363) : Freeing 0x0825CDC4 (1 bytes),
script=/usr/local/httpd/htdocs/AdditorDev/Website/page.php
Last leak repeated 1 time
./zend_execute.c(1999) : Freeing 0x081EF674 (12 bytes),
script=/usr/local/httpd/htdocs/AdditorDev/Website/page.php
Last leak repeated 3 times
./zend_execute.c(2002) : Freeing 0x081EF454 (25 bytes),
script=/usr/local/httpd/htdocs/AdditorDev/Website/page.php
zend_variables.c(106) : Actual location (location was relayed)
Last leak repeated 1 time
zend_hash.c(260) : Freeing 0x08493A7C (48 bytes),
script=/usr/local/httpd/htdocs/AdditorDev/Website/Additor/XmlConnect.php
Last leak repeated 597 times
--------------------------
I don't know what this means.
Our configure-line:
./configure --enable-sockets --enable-memory-limit --with-mysql
--with-apxs --with-xslt-sablot --with-sablot=/usr/local/lib
--with-expat=/usr/local/lib --with-ldap --with-debugger --with-ftp
--with-config-file-path=/etc/ --enable-trans-sid --enable-track-vars
--enable-trans-sid --with-zlib-dir=/usr/lib --with-ming
--with-oci8=/opt/oracle/OraHome1 --enable-xslt -enable-debug
thanx
Dirk Schmidt
--
Edit bug report at http://bugs.php.net/?id=17591&edit=1
--
Fixed in CVS: http://bugs.php.net/fix.php?id=17591&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=17591&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=17591&r=needtrace
Try newer version: http://bugs.php.net/fix.php?id=17591&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=17591&r=support
Expected behavior: http://bugs.php.net/fix.php?id=17591&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=17591&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=17591&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=17591&r=globals