PHP 4.0 Bug #2047 Updated: Crash in zend_hash_find() with a class declaration

From: Date: Fri, 13 Aug 1999 21:02:37 +0000
Subject: PHP 4.0 Bug #2047 Updated: Crash in zend_hash_find() with a class declaration
Groups: php.dev 
Request: Send a blank email to php-dev+get-9824@lists.php.net to get a copy of this message
ID: 2047 User Update by: christophe.massiot@mail.dotcom.fr Status: Open Bug Type: Reproduceable crash Description: Crash in zend_hash_find() with a class declaration I now have a short script that reproduces the problem every time. Create two files : 22:52 [webase3:p0] titi:~/html% cat test.php <? echo "toto"; include("testinc.php"); class toto3 extends toto2 { } ?> 22:52 [webase3:p0] titi:~/html% cat testinc.php <? class toto1 { } class toto2 extends toto1 { } ?> Now try to access to test.php twice. The second time httpd should segfault (at least it segfaults on my box). Other information that might be useful : while playing with it I experienced two other types of crashes that may be related, with a slightly different backtrace. Here they are : Program received signal SIGSEGV, Segmentation fault. 0x80a0067 in lex_scan () (gdb) bt #0 0x80a0067 in lex_scan () #1 0x80a4203 in do_return () #2 0x80a4fde in do_end_class_declaration () #3 0x80b0235 in zendparse () #4 0x809e99e in v_compile_files () #5 0x809e904 in compile_files () #6 0x809ea7c in compile_filename () #7 0x80b5478 in execute () #8 0x807333c in php_execute_script () #9 0x80733c0 in apache_php_module_main () #10 0x8071934 in send_php () #11 0x8071980 in send_parsed_php () #12 0x80baf13 in ap_invoke_handler () #13 0x80ce5c9 in ap_some_auth_required () #14 0x80ce62c in ap_process_request () #15 0x80c61ae in ap_child_terminate () #16 0x80c6348 in ap_child_terminate () #17 0x80c64b3 in ap_child_terminate () #18 0x80c6ae6 in ap_child_terminate () #19 0x80c7253 in main () #20 0x400e8212 in __libc_start_main () from /lib/libc.so.6 Program received signal SIGILL, Illegal instruction. 0x8165b45 in ?? () (gdb) bt #0 0x8165b45 in ?? () #1 0x80a4203 in do_return () #2 0x80a4fde in do_end_class_declaration () #3 0x80b0235 in zendparse () #4 0x809e99e in v_compile_files () #5 0x809e904 in compile_files () #6 0x809ea7c in compile_filename () #7 0x80b5478 in execute () #8 0x807333c in php_execute_script () #9 0x80733c0 in apache_php_module_main () #10 0x8071934 in send_php () #11 0x8071980 in send_parsed_php () #12 0x80baf13 in ap_invoke_handler () #13 0x80ce5c9 in ap_some_auth_required () #14 0x80ce62c in ap_process_request () #15 0x80c61ae in ap_child_terminate () #16 0x80c6348 in ap_child_terminate () #17 0x80c64b3 in ap_child_terminate () #18 0x80c6ae6 in ap_child_terminate () #19 0x80c7253 in main () #20 0x400e8212 in __libc_start_main () from /lib/libc.so.6 Full Bug description available at: http://bugs.php.net/version4/?id=2047

« previous php.dev (#9824) next »