PASS Methods via variable name, bug #20120 [tests/classes/bug20120.phpt] make: *** [test] Segmentation fault
Is there a way to find out which test segfaults? Obviously the one after tests/classes/bug20120.phpt, but ...
Mine segfaults already on the third test (tests/run-test/test003.phpt), but the funny thing is, that making it execute as: make test TESTS=tests/run-test/test003.phpt
does work.
However - I made a typo like this: make test TESTS=tests/run-tests/test003.phpt (notice the 's'), and that segfaulted too.
Looking at the backtrace this has to do with error logging/reporting.
Backtrace (FreeBSD 4.7-STABLE) is attached.
<signature type="newbie"> %farewell;
%job;
%name; %phone; %pager; %mobile;
%email.antispam; %url.mypage; %fancy.ascii;
%disclaimer;
%fancy.ascii;
%quote.collection.standard.current;
<?attach sameinfo.vcf ?>
</signature>Core was generated by `php'.
Program terminated with signal 11, Segmentation fault.
#0 0x81d0b88 in zend_hash_find (ht=0x82b6040,
arKey=0x822586a "error_reporting", nKeyLength=16, pData=0xbfbf4c7c)
at /home/mdev/cvs/php5/Zend/zend_hash.c:869
869 HANDLE_NUMERIC(arKey, nKeyLength, zend_hash_index_find(ht, idx,
pData));
#0 0x81d0b88 in zend_hash_find (ht=0x82b6040,
arKey=0x822586a "error_reporting", nKeyLength=16, pData=0xbfbf4c7c)
at /home/mdev/cvs/php5/Zend/zend_hash.c:869
tmp = 0x822586a "error_reporting"
h = 3216985304
nIndex = 136765888
p = (Bucket *) 0x8257484
#1 0x81d890e in zend_alter_ini_entry (name=0x822586a "error_reporting",
name_length=16, new_value=0x8225868 "0", new_value_length=1,
modify_type=1, stage=16) at /home/mdev/cvs/php5/Zend/zend_ini.c:201
ini_entry = (zend_ini_entry *) 0x834ebb0
duplicate = 0x826dfc4 ""
#2 0x81e8a53 in zend_begin_silence_handler (execute_data=0xbfbf90a4,
op_array=0x830e200) at /home/mdev/cvs/php5/Zend/zend_execute.c:3812
No locals.
#3 0x81df667 in execute (op_array=0x830e200)
at /home/mdev/cvs/php5/Zend/zend_execute.c:1231
execute_data = {opline = 0x831f708, function_state = {
function_symbol_table = 0x833293c, function = 0x830e200, reserved = {
0xbfbf90f0, 0x81e9f58, 0x8332a48, 0x81e1dc8}}, fbc = 0x0,
fbc_constructor = 0x81c6cfd, op_array = 0x830e200, object = 0x0,
Ts = 0xbfbf4cd8, original_in_execution = 1 '\001', calling_scope = 0x0,
prev_execute_data = 0xbfbfe474}
#4 0x81e4c94 in zend_do_fcall_common_helper (execute_data=0xbfbfe474,
op_array=0x827d09c) at /home/mdev/cvs/php5/Zend/zend_execute.c:2638
calling_symbol_table = (HashTable *) 0x826e090
original_return_value = (zval **) 0xbfbfe4ec
current_scope = (zend_class_entry *) 0x0
current_this = (zval *) 0x0
return_value_used = 1
active_namespace = (zend_namespace *) 0x826ddcc
#5 0x81e50d3 in zend_do_fcall_by_name_handler (execute_data=0xbfbfe474,
op_array=0x827d09c) at /home/mdev/cvs/php5/Zend/zend_execute.c:2706
No locals.
#6 0x81df667 in execute (op_array=0x827d09c)
at /home/mdev/cvs/php5/Zend/zend_execute.c:1231
execute_data = {opline = 0x828f870, function_state = {
function_symbol_table = 0x832a7b0, function = 0x830e200, reserved = {
0xbfbfe4b0, 0x81a77f9, 0x826df68, 0xbfbffab8}}, fbc = 0x830e200,
fbc_constructor = 0x81a77d0, op_array = 0x827d09c, object = 0x0,
Ts = 0xbfbf9178, original_in_execution = 0 '\000', calling_scope = 0x0,
prev_execute_data = 0x0}
#7 0x81c98c4 in zend_execute_scripts (type=8, retval=0x0, file_count=3)
at /home/mdev/cvs/php5/Zend/zend.c:985
files = 0xbfbfe51c ""
i = 1
file_handle = (zend_file_handle *) 0xbfbffab8
orig_op_array = (zend_op_array *) 0x0
local_retval = (zval *) 0x0
#8 0x8187fc3 in php_execute_script (primary_file=0xbfbffab8)
at /home/mdev/cvs/php5/main/main.c:1736
orig_bailout = {{_jb = {136235057, 136672388, -1077937708,
-1077937440, -1077937348, -1077937312, 4735, 0, 0, 0, 0, 0}}}
orig_bailout_set = 1 '\001'
prepend_file_p = (zend_file_handle *) 0x0
append_file_p = (zend_file_handle *) 0x0
prepend_file = {type = 7 '\a',
filename = 0x1 <Address 0x1 out of bounds>, opened_path = 0x8304560 "STDIN",
handle = {fd = 6, fp = 0x6, stream = {handle = 0x6,
reader = 0x8257484 <__DTOR_END__+4>, closer = 0, interactive = 0}},
free_filename = 0 '\000'}
append_file = {type = 7 '\a',
filename = 0x1 <Address 0x1 out of bounds>,
opened_path = 0x8304570 "STDOUT", handle = {fd = 7, fp = 0x7, stream = {
handle = 0x7, reader = 0x8257484 <__DTOR_END__+4>, closer = 0x1,
interactive = 0}}, free_filename = 1 '\001'}
old_cwd = 0xbfbfe528 ""
old_primary_file_path = 0x0
retval = 0
#9 0x81ed347 in main (argc=8, argv=0xbfbffb3c)
at /home/mdev/cvs/php5/sapi/cli/php_cli.c:885
orig_bailout = {{_jb = {0 <repeats 12 times>}}}
orig_bailout_set = 0 '\000'
exit_status = 0
c = -1
file_handle = {type = 5 '\005',
filename = 0xbfbffc83 "/home/mdev/cvs/php5/run-tests.php",
opened_path = 0x0, handle = {fd = 677168448, fp = 0x285cc540, stream = {
handle = 0x285cc540, reader = 0x81d9fd8 <zend_stream_stdio_reader>,
closer = 0x81da010 <zend_stream_stdio_closer>, interactive = 0}},
free_filename = 0 '\000'}
behavior = 1
no_headers = 1
orig_optind = 1
orig_optarg = 0x0
arg_free = 0xbfbffc83 "/home/mdev/cvs/php5/run-tests.php"
arg_excp = (char **) 0xbfbffb58
script_file = 0xbfbffc83 "/home/mdev/cvs/php5/run-tests.php"
global_vars = {head = 0x0, tail = 0x0, count = 0, size = 4, dtor = 0,
persistent = 0 '\000', traverse_ptr = 0x1000000}
interactive = 0
module_started = 1
lineno = 1
exec_direct = 0x0
exec_run = 0x0
exec_begin = 0x0
exec_end = 0x0
param_error = 0x0
scan_input = 0
hide_argv = 0
#10 0x8069ed6 in _start (
arguments=0xbfbffc2c "/home/mdev/cvs/php5/sapi/cli/php")
at /usr/src/lib/csu/i386-elf/crt1.c:119
rtld_cleanup = 0x8223880 <yy_chk+9824>
argc = 8
argv = (char **) 0xbfbffb3c
env = (char **) 0xbfbffb60
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php
