#18668 [Ana]: Initialization of static hash array variable crashes PHP
| From: | kalowsky@php.net | 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