|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2011-01-26 04:06 UTC] wxiaoguang at gmail dot com
Description:
------------
I am writing a php script running in crontab to read pages from many other sites. Sometimes the script eats 100% CPU and get into a dead loop. This problem occurs randomly, no dependence on special remote web servers.
It seems that the problem is in php5-5.2.17/ext/standard/http_fopen_wrapper.c around line 614.
When gdb is attached to the dead loop php process, the stack trace looks like:
(the url differs everytime, so I think the remote web servers are not related to this problem)
(gdb) bt
#0 0x0809ff78 in __i686.get_pc_thunk.bx ()
#1 0x082c4f11 in _php_stream_get_line (stream=0xcb512c4, buf=0xcb9536c "Date: Tue, 25 Jan 2011 ", maxlen=<error type>,
returned_len=0xbfffa428) at /usr/src/php5/source/php5-5.2.17/main/streams/streams.c:743
#2 0x08277084 in php_stream_url_wrap_http_ex (wrapper=0x85d06c8, path=0x8879f9c "http://www.xxxxxxxxx.com/xxxxxxxx.php",
mode=0x83c467f "rb", options=4, opened_path=0x0, context=0xcb4e290, redirect_max=20, flags=1)
at /usr/src/php5/source/php5-5.2.17/ext/standard/http_fopen_wrapper.c:614
#3 0x08279120 in php_stream_url_wrap_http (wrapper=0x85d06c8, path=0x8879f9c "http://www.xxxxxxxxxxxxx.com/xxxxxxx.php",
mode=0x83c467f "rb", options=4, opened_path=0x0, context=0xcb4e290)
at /usr/src/php5/source/php5-5.2.17/ext/standard/http_fopen_wrapper.c:782
#4 0x082c450f in _php_stream_open_wrapper_ex (path=0x8879f9c "http://www.xxxxxxxxx.com/xxxxxxxxx.php",
mode=0x83c467f "rb", options=12, opened_path=0x0, context=0xcb4e290)
at /usr/src/php5/source/php5-5.2.17/main/streams/streams.c:1827
#5 0x08233513 in zif_file_get_contents (ht=3, return_value=0xcb81008, return_value_ptr=0x0, this_ptr=0x0,
return_value_used=1) at /usr/src/php5/source/php5-5.2.17/ext/standard/file.c:541
#6 0x08332b8b in zend_do_fcall_common_helper_SPEC (execute_data=0xbfffb32c)
at /usr/src/php5/source/php5-5.2.17/Zend/zend_vm_execute.h:200
#7 0x0831ce30 in execute (op_array=0x87cb954) at /usr/src/php5/source/php5-5.2.17/Zend/zend_vm_execute.h:92
#8 0x0833244e in zend_do_fcall_common_helper_SPEC (execute_data=0xbfffb80c)
at /usr/src/php5/source/php5-5.2.17/Zend/zend_vm_execute.h:234
#9 0x0831ce30 in execute (op_array=0x87cafd8) at /usr/src/php5/source/php5-5.2.17/Zend/zend_vm_execute.h:92
#10 0x0833244e in zend_do_fcall_common_helper_SPEC (execute_data=0xbfffc0dc)
at /usr/src/php5/source/php5-5.2.17/Zend/zend_vm_execute.h:234
#11 0x0831ce30 in execute (op_array=0x8713608) at /usr/src/php5/source/php5-5.2.17/Zend/zend_vm_execute.h:92
#12 0x082f7530 in zend_execute_scripts (type=8, retval=0x0, file_count=3)
at /usr/src/php5/source/php5-5.2.17/Zend/zend.c:1215
#13 0x082ac92f in php_execute_script (primary_file=0xbfffe4dc) at /usr/src/php5/source/php5-5.2.17/main/main.c:2058
#14 0x0837d573 in main (argc=2, argv=0xbfffe5c4) at /usr/src/php5/source/php5-5.2.17/sapi/cli/php_cli.c:1171
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 17:00:01 2025 UTC |
still occurs in php5.3-201102150730 When php eats much memory ( ~ 100M it seems there are some memory leaks in the program? ), the problems occurs more easily. In the program, I have a big loop to process thousands of web sites, I use DOM/SimpleXML to parse xml data from every site and use GD to process some images. 0x0831db44 in _php_stream_get_line (stream=0xdfe6864, buf=0xdfe5ad8 "Set-Cookie: PHPSESSID=en", maxlen=1024, returned_len=0xbfffd2e4) at /tmp/php5.3-201102150730/main/streams/streams.c:752 752 { (gdb) bt #0 0x0831db44 in _php_stream_get_line (stream=0xdfe6864, buf=0xdfe5ad8 "Set-Cookie: PHPSESSID=en", maxlen=1024, returned_len=0xbfffd2e4) at /tmp/php5.3-201102150730/main/streams/streams.c:752 #1 0x082e6a71 in php_stream_url_wrap_http_ex (wrapper=0x86aef20, path=0x89604cc "http://www.xxxxxxx.com/xxxxxxxx.php", mode=0x842f567 "rb", options=<value optimized out>, opened_path=0x0, context=0xcbfcd08, redirect_max=20, flags=1) at /tmp/php5.3-201102150730/ext/standard/http_fopen_wrapper.c:723 #2 0x082e95c4 in php_stream_url_wrap_http (wrapper=0x86aef20, path=0x89604cc "http://www.xxxxxxx.com/xxxxxxxx.php", mode=0x842f567 "rb", options=4, opened_path=0x0, context=0xcbfcd08) at /tmp/php5.3-201102150730/ext/standard/http_fopen_wrapper.c:925 #3 0x0831d265 in _php_stream_open_wrapper_ex (path=0x89604cc "http://www.xxxxxxx.com/xxxxxxxx.php", mode=0x842f567 "rb", options=4, opened_path=0x0, context=0xcbfcd08) at /tmp/php5.3-201102150730/main/streams/streams.c:1868 #4 0x082ad0be in zif_file_get_contents (ht=3, return_value=0xdb435dc, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1) at /tmp/php5.3-201102150730/ext/standard/file.c:557 #5 0x081f6382 in phar_file_get_contents (ht=3, return_value=0xdb435dc, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1) at /tmp/php5.3-201102150730/ext/phar/func_interceptors.c:225 #6 0x083a35c9 in zend_do_fcall_common_helper_SPEC (execute_data=0x882bdcc) at /tmp/php5.3-201102150730/Zend/zend_vm_execute.h:316 #7 0x0838292e in execute (op_array=0x88ecb14) at /tmp/php5.3-201102150730/Zend/zend_vm_execute.h:107 #8 0x083580b6 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /tmp/php5.3-201102150730/Zend/zend.c:1194 #9 0x08306c57 in php_execute_script (primary_file=0xbffff924) at /tmp/php5.3-201102150730/main/main.c:2268 #10 0x083db742 in main (argc=2, argv=0xbffffa84) at /tmp/php5.3-201102150730/sapi/cli/php_cli.c:1193 (gdb)