maybe this helps (http://bugs.php.net/bug.php?id=20698): [28 Nov 2002 6:26am EST] thingol at mail dot ru If the text for preg_match_all is bigger than some value, many regexp constructions causes php to terminate.
This code crashes php (on win32 only):
<? $thi = str_repeat("aaaaaaa a aa aa aa\n", 1000); preg_match_all("/(.|\n)*/",$thi,$vars); ?> [28 Nov 2002 7:06am EST] [EMAIL PROTECTED] Not really a PHP bug; bug is in the PCRE library itself and is because you are asking it to capture a very large number of individual character matches. Increasing your stack size might help (ulimit).
g. martin luethi
Thu, 22 Jan 2004 14:20:56 -0500 "E. Stuart Hicks" <[EMAIL PROTECTED]>:
--Please disregard my last post - I'd switched Apache back from the debug module for the night and forgotten to turn it back on.
I've attached the full trace but here's the main part:
(gdb) print (char *)(executor_globals.function_state_ptr->function)->common.function_name $4 = 0xffffffff7bb69250 "preg_match_all" (gdb) frame 8 #8 0xffffffff7baeabe4 in execute (op_array=0x1003a07d0) at /root/build/php-4.3.4/Zend/zend_execute.c:1660 1660 zend_execute(EG(active_op_array) TSRMLS_CC); (gdb) frame 9 #9 0xffffffff7baeabe4 in execute (op_array=0x1003af0c0) at /root/build/php-4.3.4/Zend/zend_execute.c:1660 1660 zend_execute(EG(active_op_array) TSRMLS_CC); (gdb) frame 10 #10 0xffffffff7baeabe4 in execute (op_array=0x10038f230) at /root/build/php-4.3.4/Zend/zend_execute.c:1660 1660 zend_execute(EG(active_op_array) TSRMLS_CC); (gdb) frame 11 #11 0xffffffff7bacde24 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /root/build/php-4.3.4/Zend/zend.c:884 884 zend_execute(EG(active_op_array) TSRMLS_CC); (gdb) frame 12 #12 0xffffffff7ba6dd08 in php_execute_script (primary_file=0xffffffff7fffef20) at /root/build/php-4.3.4/main/main.c:1729 1729 retval = (zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, NULL, 3, prepend_file_p, primary_file, append_file_p) == SUCCESS);
Stu
-----Original Message----- From: E. Stuart Hicks [mailto:[EMAIL PROTECTED] Sent: Thursday, January 22, 2004 2:07 PM To: 'Martin Luethi'; [EMAIL PROTECTED] Subject: RE: [PHP] Segmentation fault problem
I still can't access anything on bugs.php.net so I'm not sure exactly what you need. I grabbed all of the execute() frames, though, and ran that print function and got this:
(gdb) print (char *)(executor_globals.function_state_ptr->function)->common.function_name Attempt to extract a component of a value that is not a structure. (gdb) frame 6 #6 0xffffffff7babef00 in execute () from /home/httpd/modules/libphp4.so (gdb) frame 7 #7 0xffffffff7babf244 in execute () from /home/httpd/modules/libphp4.so (gdb) frame 8 #8 0xffffffff7babf244 in execute () from /home/httpd/modules/libphp4.so (gdb) frame 9 #9 0xffffffff7babf244 in execute () from /home/httpd/modules/libphp4.so (gdb) frame 10 #10 0xffffffff7babf244 in execute () from /home/httpd/modules/libphp4.so
Does this help?
Stu
-----Original Message----- From: Martin Luethi [mailto:[EMAIL PROTECTED] Sent: Thursday, January 22, 2004 2:24 AM To: [EMAIL PROTECTED] Subject: Re: [PHP] Segmentation fault problem
each php function is executed by the internal function "execute()" please include the details about this frames also (configure php with --enable-debug first) e.g.: (gdb) frame 6 output... (gdb) print (char *)(executor_globals.function_state_ptr->function)-common.function_nameoutput...
with this information you can see which php-command causing the seg fault -> http://bugs.php.net/bugs-generating-backtrace.php
g. martin luethi
Z_LVAL_PP(arg);Program received signal SIGSEGV, Segmentation fault. 0xffffffff7bacedcc in zend_parse_arg_impl (arg=0x1003853c0, va=0xffffffff7ffe3a88, spec=0xffffffff7ffe3a58) at /root/build/php-4.3.4/Zend/zend_API.c:259 259 *p =(gdb) bt #0 0xffffffff7bacedcc in zend_parse_arg_impl (arg=0x1003853c0, va=0xffffffff7ffe3a88, spec=0xffffffff7ffe3a58) at /root/build/php-4.3.4/Zend/zend_API.c:259 #1 0xffffffff7bacfa54 in zend_parse_arg (arg_num=4, arg=0x1003853c0, va=0xffffffff7ffe3a88, spec=0xffffffff7ffe3a58, quiet=0) at /root/build/php-4.3.4/Zend/zend_API.c:439 #2 0xffffffff7bacff40 in zend_parse_va_args (num_args=0, type_spec=0xffffffff7bb6906c "ll", va=0xffffffff7ffe3a88, flags=0) at /root/build/php-4.3.4/Zend/zend_API.c:524 #3 0xffffffff7bad032c in zend_parse_parameters (num_args=4, type_spec=0xffffffff7bb69068 "ssz|ll") at /root/build/php-4.3.4/Zend/zend_API.c:551 #4 0xffffffff7b9493cc in php_pcre_match (ht=4, return_value=0x1008c4c00, this_ptr=0x0, return_value_used=0, global=1) at /root/build/php-4.3.4/ext/pcre/php_pcre.c:375 #5 0xffffffff7b94a464 in zif_preg_match_all (ht=4, return_value=0x1008c4c00, this_ptr=0x0, return_value_used=0) at /root/build/php-4.3.4/ext/pcre/php_pcre.c:608 #6 0xffffffff7baea870 in execute (op_array=0x1008ac610) at /root/build/php-4.3.4/Zend/zend_execute.c:1616 #7 0xffffffff7baeabe4 in execute (op_array=0x100884bd0) at /root/build/php-4.3.4/Zend/zend_execute.c:1660 #8 0xffffffff7baeabe4 in execute (op_array=0x1003a07b0) at /root/build/php-4.3.4/Zend/zend_execute.c:1660 #9 0xffffffff7baeabe4 in execute (op_array=0x1003af0a0) at /root/build/php-4.3.4/Zend/zend_execute.c:1660 #10 0xffffffff7baeabe4 in execute (op_array=0x10038f220) at /root/build/php-4.3.4/Zend/zend_execute.c:1660 #11 0xffffffff7bacde24 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /root/build/php-4.3.4/Zend/zend.c:884 #12 0xffffffff7ba6dd08 in php_execute_script (primary_file=0xffffffff7fffef30) at /root/build/php-4.3.4/main/main.c:1729 #13 0xffffffff7baf3914 in php_handler (r=0x10037df10) at /root/build/php-4.3.4/sapi/apache2handler/sapi_apache2.c:537 #14 0x00000001000ac8a0 in ap_run_handler () #15 0x00000001000ad798 in ap_invoke_handler () #16 0x000000010007b6d0 in ap_process_request () #17 0x00000001000712e4 in ap_process_http_connection () #18 0x00000001000c55b8 in ap_run_process_connection () #19 0x00000001000c5c18 in ap_process_connection () #20 0x00000001000a8e28 in child_main () #21 0x00000001000a9030 in make_child () #22 0x00000001000a92a4 in startup_children () #23 0x00000001000a9da8 in ap_mpm_run () #24 0x00000001000b79d8 in main () (gdb) quit [EMAIL PROTECTED] httpd]
PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php