#18668 [Ana]: Initialization of static hash array variable crashes PHP

From: Date: Wed, 31 Jul 2002 15:08:27 +0000
Subject: #18668 [Ana]: Initialization of static hash array variable crashes PHP
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-15688@lists.php.net to get a copy of this message
ID: 18668 Updated by: kalowsky@php.net Reported By: michiwalter@gmx.de Status: Analyzed Bug Type: Arrays related Operating System: Windows 2000 PHP Version: 4.2.1 New Comment: Just pulled down recent fixes, and results in: Fatal error in zend_hash_update: p->pData == pData Fatal error in zend_hash_update: p->pData == pData On Both OSX and FreeBSD. Previous Comments: ------------------------------------------------------------------------ [2002-07-31 10:24:36] nohn@php.net Cannot very this with PHP 4.3.0-dev-200207300000 on Compaq Tru64 .... B=>'B' ); var_dump($test); } gives back NULL. So it does'nt crash, but the result seems not to be the expected one. ------------------------------------------------------------------------ [2002-07-31 10:01:29] kalowsky@php.net BTW thats with CVS HEAD ------------------------------------------------------------------------ [2002-07-31 10:00:33] kalowsky@php.net Can reproduce on OSX. BT shows: Program received signal EXC_BAD_ACCESS, Could not access memory. 0x000d2dfc in shutdown_memory_manager (silent=6358384, clean_cache=6358384) at /Users/dank/Development/php4-cvs/Zend/zend_alloc.c:439 439 REMOVE_POINTER_FROM_LIST(ptr); (gdb) bt #0 0x000d2dfc in shutdown_memory_manager (silent=6358384, clean_cache=6358384) at /Users/dank/Development/php4-cvs/Zend/zend_alloc.c:439 #1 0x000ba678 in php_request_shutdown (dummy=0x610570) at /Users/dank/Development/php4-cvs/main/main.c:795 #2 0x000ffa58 in main (argc=2, argv=0xbffff9fc) at /Users/dank/Development/php4-cvs/sapi/cgi/cgi_main.c:1100 #3 0x000018c0 in _start () #4 0x000016f0 in start () ------------------------------------------------------------------------ [2002-07-31 09:53:12] michiwalter@gmx.de Summary: Initialization of a static hash array variable in a function crashes PHP under certain circumstances. Crash reproducable on these platforms: - Windows 2000/IIS/PHP 4.2.1 (CGI) - Windows 2000/Apache 1.3.24/PHP 4.2.0 - Linux deathrow 2.4.9-34/Apache 1.3.26/PHP 4.2.2 Test Script: <?php define('A', 'A'); define('B', 'B'); function test() { // Apparently only crashes under the following circumstances: // 1. The key has to be a define(). // 2. The value has to contain a string. // 3. The hash has to be a static function member. // 4. The hash has to contain at least 2 entries. static $test=array( A=>'A', B=>'B' ); } test(); ?> Further Information: error/access_log don't contain any information about the crash (what about an SEH handler:). ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=18668&edit=1

« previous php.bugs (#15688) next »