PHP 4.0 Bug #4210: recursive zend_hash causes SIGBUS
| From: | dbrumley at stanford dot edu | Date: | Thu, 20 Apr 2000 21:49:44 +0000 |
| Subject: | PHP 4.0 Bug #4210: recursive zend_hash causes SIGBUS | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-18085@lists.php.net to get a copy of this message | ||
From: dbrumley@stanford.edu
Operating system: solaris 2.7
PHP version: 4.0 Release Candidate 1
PHP Bug Type: Reproduceable crash
Bug description: recursive zend_hash causes SIGBUS
PHP compiled with mysql and imap via a slightly modified c-client
(to include kerberos support). Using the following program:
<HTML>
<BODY>
IMAP TEST
<HR>
<?php
$mbox = imap_open( "{imap1.stanford.edu/user=zuc}INBOX",
"zuc","blah");
if($mbox){
echo "Successfull connect<BR>\n";
} else {
echo "Connect Failed<BR>\n";
}
?>
</BODY>
</HTML>
PHP enteres infinite loop:
<br>
<b>Fatal error</b>: rsh to IMAP server timed out in <b>Unknown</b> on line
<b>0
</b><br>
<br>
<b>Fatal error</b>: ht=001cba20 is already destroyed in zend_hash.c:519 in <b>U
nknown</b> on line <b>0</b><br>
<br>
<b>Fatal error</b>: ht=001cba20 is already destroyed in zend_hash.c:519 in <b>U
nknown</b> on line <b>0</b><br>
<br>
....
(More zend_has already destroyed messages).
Breakpoint 1, zend_hash_destroy (ht=0x1cba20) at zend_hash.c:519
519 IS_CONSISTENT(ht);
(gdb) bt
#0 zend_hash_destroy (ht=0x1cba20) at zend_hash.c:519
#1 0x3729c in php_rshutdown_basic (type=1, module_number=2)
at basic_functions.c:679
#2 0x7e160 in module_registry_cleanup (module=0x1e8648) at zend_API.c:870
#3 0x81124 in zend_hash_apply (ht=0x1ccbac,
apply_func=0x7e124 <module_registry_cleanup>) at zend_hash.c:655
#4 0x7d944 in zend_deactivate () at zend.c:461
#5 0x682d8 in php_request_shutdown (dummy=0x0) at main.c:663
#6 0x36890 in main (argc=2, argv=0xffbefb7c) at cgi_main.c:610
(gdb) c
Continuing.
Breakpoint 1, zend_hash_destroy (ht=0x1c6a50) at zend_hash.c:519
519 IS_CONSISTENT(ht);
(gdb) b
Note: breakpoint 1 also set at pc 0x80cc0.
Breakpoint 2 at 0x80cc0: file zend_hash.c, line 519.
(gdb) bt
#0 zend_hash_destroy (ht=0x1c6a50) at zend_hash.c:519
#1 0xb33d4 in php_rshutdown_session_globals () at session.c:1221
#2 0xb3470 in php_rshutdown_session (type=0, module_number=3)
at session.c:1252
#3 0x7e160 in module_registry_cleanup (module=0x1e9758) at zend_API.c:870
#4 0x81124 in zend_hash_apply (ht=0x1ccbac,
apply_func=0x7e124 <module_registry_cleanup>) at zend_hash.c:655
#5 0x7d944 in zend_deactivate () at zend.c:461
#6 0x682d8 in php_request_shutdown (dummy=0x0) at main.c:663
#7 0x36890 in main (argc=2, argv=0xffbefb7c) at cgi_main.c:610
(gdb) c
Continuing.
<br>
<b>Fatal error</b>: rsh to IMAP server timed out in <b>Unknown</b> on line
<b>0</b><br>
Breakpoint 1, zend_hash_destroy (ht=0x1cba20) at zend_hash.c:519
519 IS_CONSISTENT(ht);
(gdb) bt
#0 zend_hash_destroy (ht=0x1cba20) at zend_hash.c:519
#1 0x3729c in php_rshutdown_basic (type=1, module_number=2)
at basic_functions.c:679
#2 0x7e160 in module_registry_cleanup (module=0x1e8648) at zend_API.c:870
#3 0x81124 in zend_hash_apply (ht=0x1ccbac,
apply_func=0x7e124 <module_registry_cleanup>) at zend_hash.c:655
#4 0x7d944 in zend_deactivate () at zend.c:461
#5 0x682d8 in php_request_shutdown (dummy=0x0) at main.c:663
#6 0x36890 in main (argc=2, argv=0xffbefb7c) at cgi_main.c:61
etc.....