RE: [PHP] Segmentation fault problem

From: Date: Fri, 23 Jan 2004 10:34:24 +0000
Subject: RE: [PHP] Segmentation fault problem
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-175498@lists.php.net to get a copy of this message
the function who is causing the seg fault is preg_match_all 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] wez@php.net 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" <ehicks@binarymagi.com>:
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:ehicks@binarymagi.com] Sent: Thursday, January 22, 2004 2:07 PM To: 'Martin Luethi'; php-general@lists.php.net 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:php@humbapa.ch] Sent: Thursday, January 22, 2004 2:24 AM To: php-general@lists.php.net 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_name
output... with this information you can see which php-command causing the seg fault -> http://bugs.php.net/bugs-generating-backtrace.php g. martin luethi
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 =
Z_LVAL_PP(arg);
(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 [root@lurch httpd]
--
PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


« previous php.general (#175498) next »