|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2004-11-22 14:04 UTC] gsstark at mit dot edu
Description:
------------
APC would work for the first couple pages then seg fault
immediately
without returning any data to the browser:
Actual result:
--------------
[Mon Nov 22 11:40:50 2004] [notice] Apache/1.3.31 (Debian
GNU/Linux) PHP/4.3.9-1 mod_perl/1.29 configured -- resuming
normal operations
[Mon Nov 22 11:40:50 2004] [notice] Accept mutex: sysvsem
(Default: sysvsem)
[Mon Nov 22 11:41:04 2004] [notice] child pid 8860 exit signal
Segmentation fault (11)
[Mon Nov 22 11:41:06 2004] [notice] child pid 8888 exit signal
Segmentation fault (11)
[Mon Nov 22 11:41:08 2004] [notice] child pid 8889 exit signal
Segmentation fault (11)
[Mon Nov 22 11:41:10 2004] [notice] child pid 8861 exit signal
Segmentation fault (11)
[Mon Nov 22 11:41:41 2004] [notice] child pid 8892 exit signal
Segmentation fault (11)
[Mon Nov 22 11:41:41 2004] [notice] child pid 8893 exit signal
Segmentation fault (11)
[Mon Nov 22 11:42:00 2004] [notice] child pid 8894 exit signal
Segmentation fault (11)
[Mon Nov 22 11:42:00 2004] [notice] child pid 8895 exit signal
Segmentation fault (11)
[Mon Nov 22 11:42:06 2004] [notice] child pid 8859 exit signal
Segmentation fault (11)
[Mon Nov 22 11:42:06 2004] [notice] child pid 8857 exit signal
Segmentation fault (11)
[Mon Nov 22 11:42:08 2004] [notice] child pid 8887 exit signal
Segmentation fault (11)
[Mon Nov 22 11:42:39 2004] [notice] child pid 8858 exit signal
Segmentation fault (11)
[Mon Nov 22 11:48:38 2004] [notice] child pid 8928 exit signal
Segmentation fault (11)
[Mon Nov 22 11:48:38 2004] [notice] child pid 8932 exit signal
Segmentation fault (11)
[Mon Nov 22 11:48:52 2004] [notice] child pid 8934 exit signal
Segmentation fault (11)
[Mon Nov 22 11:48:52 2004] [notice] child pid 8935 exit signal
Segmentation fault (11)
[Mon Nov 22 11:48:55 2004] [notice] child pid 8937 exit signal
Segmentation fault (11)
[Mon Nov 22 11:48:55 2004] [notice] child pid 8938 exit signal
Segmentation fault (11)
[Mon Nov 22 11:50:24 2004] [notice] child pid 8939 exit signal
Segmentation fault (11)
[Mon Nov 22 11:50:24 2004] [notice] child pid 8940 exit signal
Segmentation fault (11)
[Mon Nov 22 11:51:16 2004] [notice] child pid 9055 exit signal
Segmentation fault (11)
[Mon Nov 22 11:51:17 2004] [notice] child pid 9060 exit signal
Segmentation fault (11)
[Mon Nov 22 11:53:17 2004] [notice] child pid 9107 exit signal
Segmentation fault (11)
[Mon Nov 22 11:53:17 2004] [notice] child pid 9110 exit signal
Segmentation fault (11)
[Mon Nov 22 11:53:23 2004] [notice] child pid 9061 exit signal
Segmentation fault (11)
[Mon Nov 22 11:53:23 2004] [notice] child pid 9062 exit signal
Segmentation fault (11)
[Mon Nov 22 11:56:11 2004] [notice] caught SIGTERM, shutting
down
I couldn't get a backtrace out of apache, but strace was able to
catch it sometimes:
[pid 9055] open("/usr/lib/locale/locale-archive", O_RDONLY|
O_LARGEFILE) = 7
[pid 9055] fstat64(7, {st_mode=S_IFREG|0644,
st_size=4216816, ...}) = 0
[pid 9055] mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 7,
0) = 0x42a30000
[pid 9055] close(7) = 0
[pid 9055] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
Which doesn't really enlighten me too much.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 02:00:01 2025 UTC |
yeah, i was already working on that (gdb) bt #0 0x405d80d8 in zend_hash_get_current_data_ex () from /usr/lib/apache/1.3/libphp4.so #1 0x405ca094 in zval_update_constant () from /usr/lib/apache/1.3/libphp4.so #2 0x405d75c0 in zend_hash_apply_with_argument () from /usr/lib/apache/1.3/libphp4.so #3 0x405ca296 in zval_update_constant () from /usr/lib/apache/1.3/libphp4.so #4 0x405d75c0 in zend_hash_apply_with_argument () from /usr/lib/apache/1.3/libphp4.so #5 0x405d3701 in _object_and_properties_init () from /usr/lib/apache/1.3/libphp4.so #6 0x405d373c in _object_init_ex () from /usr/lib/apache/1.3/libphp4.so #7 0x405e1c1f in execute () from /usr/lib/apache/1.3/libphp4.so #8 0x407f3186 in my_execute (op_array=0x9530c7c) at /usr/local/src/APC-2.0.4/apc_main.c:199 #9 0x405d2751 in zend_execute_scripts () from /usr/lib/apache/1.3/libphp4.so #10 0x405a571f in php_execute_script () from /usr/lib/apache/1.3/libphp4.so #11 0x405e520e in apache_php_module_main () from /usr/lib/apache/1.3/libphp4.so #12 0x405e5dcc in apache_php_module_main () from /usr/lib/apache/1.3/libphp4.so #13 0x405e5f91 in apache_php_module_main () from /usr/lib/apache/1.3/libphp4.so #14 0x080552d3 in ap_invoke_handler () ---Type <return> to continue, or q <return> to quit--- #15 0x08068325 in ap_some_auth_required () #16 0x080684d4 in ap_process_request () #17 0x08060ab2 in ap_child_terminate ()#0 0x405d80d8 in zend_hash_get_current_data_ex () from /usr/lib/apache/1.3/libphp4.so #1 0x405ca094 in zval_update_constant () from /usr/lib/apache/1.3/libphp4.so #2 0x405d75c0 in zend_hash_apply_with_argument () from /usr/lib/apache/1.3/libphp4.so #3 0x405ca296 in zval_update_constant () from /usr/lib/apache/1.3/libphp4.so #4 0x405d75c0 in zend_hash_apply_with_argument () from /usr/lib/apache/1.3/libphp4.so #5 0x405d3701 in _object_and_properties_init () from /usr/lib/apache/1.3/libphp4.so #6 0x405d373c in _object_init_ex () from /usr/lib/apache/1.3/libphp4.so #7 0x405e1c1f in execute () from /usr/lib/apache/1.3/libphp4.so #8 0x407f3186 in my_execute (op_array=0x962af34) at /usr/local/src/APC-2.0.4/apc_main.c:199 #9 0x405d2751 in zend_execute_scripts () from /usr/lib/apache/1.3/libphp4.so #10 0x405a571f in php_execute_script () from /usr/lib/apache/1.3/libphp4.so #11 0x405e520e in apache_php_module_main () from /usr/lib/apache/1.3/libphp4.so #12 0x405e5dcc in apache_php_module_main () from /usr/lib/apache/1.3/libphp4.so #13 0x405e5f91 in apache_php_module_main () from /usr/lib/apache/1.3/libphp4.so #14 0x080552d3 in ap_invoke_handler () ---Type <return> to continue, or q <return> to quit--- #15 0x08068325 in ap_some_auth_required () #16 0x080684d4 in ap_process_request () #17 0x08060ab2 in ap_child_terminate ()(gdb) bt #0 0x405d80d8 in zend_hash_get_current_data_ex () from /usr/lib/apache/1.3/libphp4.so #1 0x405ca094 in zval_update_constant () from /usr/lib/apache/1.3/libphp4.so #2 0x405d75c0 in zend_hash_apply_with_argument () from /usr/lib/apache/1.3/libphp4.so #3 0x405ca296 in zval_update_constant () from /usr/lib/apache/1.3/libphp4.so #4 0x405d75c0 in zend_hash_apply_with_argument () from /usr/lib/apache/1.3/libphp4.so #5 0x405d3701 in _object_and_properties_init () from /usr/lib/apache/1.3/libphp4.so #6 0x405d373c in _object_init_ex () from /usr/lib/apache/1.3/libphp4.so #7 0x405e1c1f in execute () from /usr/lib/apache/1.3/libphp4.so #8 0x407f3186 in my_execute (op_array=0x9530c7c) at /usr/local/src/APC-2.0.4/apc_main.c:199 #9 0x405d2751 in zend_execute_scripts () from /usr/lib/apache/1.3/libphp4.so #10 0x405a571f in php_execute_script () from /usr/lib/apache/1.3/libphp4.so #11 0x405e520e in apache_php_module_main () from /usr/lib/apache/1.3/libphp4.so #12 0x405e5dcc in apache_php_module_main () from /usr/lib/apache/1.3/libphp4.so #13 0x405e5f91 in apache_php_module_main () from /usr/lib/apache/1.3/libphp4.so #14 0x080552d3 in ap_invoke_handler ()Actually those are three different backtraces. I think. Unless I got confused in retrying and ended up pasting the wrong ones in. I have no idea which PHP code corresponds to the backtraces. The page I was fetching was a smarty templated page with multiple objects involved and multiple included templates involved. The code that corresponds to the failures where the corrupted data is visible is code of the form: Class Foo extends Bar { var $sort_expressions = array( name => array('brand_xform asc', 'brand_xform desc'), num_ads => array('num_ads desc, brand_xform asc', 'num_ads asc, brand_xform desc', backwards => 1), num_ads_recent => array('num_ads desc, last_updated desc', 'num_ads asc, last_updated asc', backwards => 1), ); which is later used in a function with code of the form: function get_rows($params = array()) { global $db; $sort = array_key_exists('sort', $params) ? $params[sort] : $this->sort; $sort_dir = array_key_exists('sort_dir', $params) ? $params[sort_dir] : $this->sort_dir; $sort_clause = $this->sort_expressions[$sort] [$sort_dir]; ... $rows = $db->getall(" SELECT * FROM ... ORDER BY $sort_clause