ID:               28993
 Updated by:       [EMAIL PROTECTED]
 Reported By:      osvetlik at kerio dot com
-Status:           Open
+Status:           Closed
 Bug Type:         Reproducible crash
 Operating System: Linux/Windows
 PHP Version:      4.3.6, 4.3.7
 New Comment:

This is fixed in PHP5. In PHP4 it cannot be fixed without 
breaking backwards compatibility. 


Previous Comments:
------------------------------------------------------------------------

[2004-07-02 14:32:43] osvetlik at kerio dot com

4.3.6 crashes too.

------------------------------------------------------------------------

[2004-07-02 14:23:33] osvetlik at kerio dot com

Description:
------------
The script as shown below crashes PHP, when memory_limit is high
enough.

Reproduce code:
---------------
(pts/103)[EMAIL PROTECTED]:~> php
<?php
  
$x = array("nazdar");
  
while (true) {
        $x = array_merge($x, $x);
}
  
?>
Segmentation fault (core dumped)


Expected result:
----------------
No crash, endless loop. Script stopped by memory_limit.

Actual result:
--------------
(pts/103)[EMAIL PROTECTED]:~> gdb /usr/bin/php core.28409
GNU gdb Red Hat Linux (6.0post-0.20040223.19rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "i386-redhat-linux-gnu"...(no debugging
symbols found)...Using host libthread_db library
"/lib/tls/libthread_db.so.1".
 
Core was generated by `php'.
Program terminated with signal 11, Segmentation fault.
 
warning: svr4_current_sos: Can't read pathname for load map: Chyba
vstupu/výstupu
 
Error while mapping shared library sections:
: Úspěch.
Error while reading shared library symbols:
: není souborem ani adresářem.
Reading symbols from /lib/libcrypt.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libnsl.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /usr/lib/libexpat.so.0...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libexpat.so.0
Reading symbols from /usr/lib/libpspell.so.15...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libpspell.so.15
Reading symbols from /lib/libpcre.so.0...(no debugging symbols
found)...done.
Loaded symbols for /lib/libpcre.so.0
Reading symbols from /usr/lib/libpanel.so.5...done.
Loaded symbols for /usr/lib/libpanel.so.5
Reading symbols from /usr/lib/libncurses.so.5...done.
Loaded symbols for /usr/lib/libncurses.so.5
Reading symbols from /usr/lib/sse2/libgmp.so.3...done.
Loaded symbols for /usr/lib/sse2/libgmp.so.3
Reading symbols from /usr/lib/libfreetype.so.6...done.
Loaded symbols for /usr/lib/libfreetype.so.6
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/libpng12.so.0...done.
Loaded symbols for /usr/lib/libpng12.so.0
Reading symbols from /usr/lib/libjpeg.so.62...done.
Loaded symbols for /usr/lib/libjpeg.so.62
Reading symbols from /lib/tls/libdb-4.2.so...done.
Loaded symbols for /lib/tls/libdb-4.2.so
Reading symbols from /lib/tls/libpthread.so.0...done.
Loaded symbols for /lib/tls/libpthread.so.0
Reading symbols from /usr/lib/libcurl.so.2...done.
Loaded symbols for /usr/lib/libcurl.so.2
Reading symbols from /usr/lib/libbz2.so.1...done.
Loaded symbols for /usr/lib/libbz2.so.1
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/tls/libm.so.6...done.
Loaded symbols for /lib/tls/libm.so.6
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libssl.so.4...done.
Loaded symbols for /lib/libssl.so.4
Reading symbols from /lib/libcrypto.so.4...done.
Loaded symbols for /lib/libcrypto.so.4
Reading symbols from /usr/lib/libgssapi_krb5.so.2...done.
Loaded symbols for /usr/lib/libgssapi_krb5.so.2
Reading symbols from /usr/lib/libkrb5.so.3...done.
Loaded symbols for /usr/lib/libkrb5.so.3
Reading symbols from /lib/libcom_err.so.2...done.
Loaded symbols for /lib/libcom_err.so.2
Reading symbols from /usr/lib/libk5crypto.so.3...done.
Loaded symbols for /usr/lib/libk5crypto.so.3
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /usr/lib/libaspell.so.15...done.
Loaded symbols for /usr/lib/libaspell.so.15
Reading symbols from /usr/lib/libstdc++.so.5...done.
Loaded symbols for /usr/lib/libstdc++.so.5
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /usr/lib/php4/ldap.so...done.
Loaded symbols for /usr/lib/php4/ldap.so
Reading symbols from /usr/lib/libldap.so.2...done.
Loaded symbols for /usr/lib/libldap.so.2
Reading symbols from /usr/lib/liblber.so.2...done.
Loaded symbols for /usr/lib/liblber.so.2
Reading symbols from /usr/lib/libsasl2.so.2...done.
Loaded symbols for /usr/lib/libsasl2.so.2
Reading symbols from /usr/lib/php4/mysql.so...done.
Loaded symbols for /usr/lib/php4/mysql.so
Reading symbols from /usr/lib/mysql/libmysqlclient.so.10...done.
Loaded symbols for /usr/lib/mysql/libmysqlclient.so.10
Reading symbols from /usr/lib/php4/odbc.so...done.
Loaded symbols for /usr/lib/php4/odbc.so
Reading symbols from /usr/lib/libodbc.so.1...done.
Loaded symbols for /usr/lib/libodbc.so.1
Reading symbols from /usr/lib/libodbcpsql.so.2...done.
Loaded symbols for /usr/lib/libodbcpsql.so.2
Reading symbols from /usr/lib/libltdl.so.3...done.
Loaded symbols for /usr/lib/libltdl.so.3
Reading symbols from /usr/lib/php4/pgsql.so...done.
Loaded symbols for /usr/lib/php4/pgsql.so
Reading symbols from /usr/lib/libpq.so.3...done.
Loaded symbols for /usr/lib/libpq.so.3
#0  0x009d120c in _int_free () from /lib/tls/libc.so.6
(gdb) bt
#0  0x009d120c in _int_free () from /lib/tls/libc.so.6
#1  0x009d273b in free () from /lib/tls/libc.so.6
#2  0x08185112 in _efree ()
#3  0x08196df8 in zend_hash_destroy ()
#4  0x08191723 in _zval_dtor ()
#5  0x0818b3b8 in _zval_ptr_dtor ()
#6  0x08196e18 in zend_hash_destroy ()
#7  0x08191723 in _zval_dtor ()
#8  0x0818b3b8 in _zval_ptr_dtor ()
#9  0x08196e18 in zend_hash_destroy ()
#10 0x08191723 in _zval_dtor ()
#11 0x0818b3b8 in _zval_ptr_dtor ()
#12 0x08196e18 in zend_hash_destroy ()
#13 0x08191723 in _zval_dtor ()
#14 0x0818b3b8 in _zval_ptr_dtor ()
#15 0x0819f70d in execute ()
#16 0x08192c19 in zend_execute_scripts ()
#17 0x0816aeed in php_execute_script ()
#18 0x081a479f in main ()
(gdb)



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=28993&edit=1

Reply via email to