Current CVS upon installing gives me:
PHP 4.3.0-dev (cli) (built: Nov 8 2002 21:56:15)
Copyright (c) 1997-2002 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2002 Zend Technologies
$ make install
Installing PHP SAPI module
Installing shared extensions:
/home/mfischer/php4/lib/php/extensions/no-debug-non-zts-20020429/
Installing PHP CLI binary: /home/mfischer/php4/bin/
Installing PEAR environment: /home/mfischer/php4/lib/php/
[PEAR] Archive_Tar - installed: 0.9
[PEAR] Console_Getopt - installed: 1.0
[PEAR] PEAR - installed: 1.0b1
Fatal error: Call to undefined function: 136152012() in
/home/mfischer/isrc/cvs/php4/pear/PEAR.php on line 641
[PEAR] DB - installed: 1.3
[PEAR] HTTP - installed: 1.2
[PEAR] Mail - installed: 1.0.1
[PEAR] Net_SMTP - installed: 1.0
[PEAR] Net_Socket - installed: 1.0.1
[PEAR] XML_Parser - installed: 1.0
[PEAR] XML_RPC - installed: 1.0.4
Fatal error: Call to undefined function: 136152676() in
/home/mfischer/isrc/cvs/php4/pear/PEAR.php on line 641
Installing build environment: /home/mfischer/php4/lib/php/build/
Installing header files: /home/mfischer/php4/include/php/
Installing helper programs: /home/mfischer/php4/bin/
program: phpize
program: php-config
Line 641 is
[...]
640: if (method_exists($objref, $destructor)) {
641: $objref->$destructor();
642: break;
643: } else {
[...]
Putting the line
echo get_class($objref), "->$destructor", "\n";
before 641 gives
Installing PHP SAPI module
Installing shared extensions:
/home/mfischer/php4/lib/php/extensions/no-debug-non-zts-20020429/
Installing PHP CLI binary: /home/mfischer/php4/bin/
Installing PEAR environment: /home/mfischer/php4/lib/php/
[PEAR] Archive_Tar - installed: 0.9
[PEAR] Console_Getopt - installed: 1.0
[PEAR] PEAR - installed: 1.0b1
pear_config->_pear
Fatal error: Call to undefined function: ->_pear() in
/home/mfischer/isrc/cvs/php4/pear/PEAR.php on line 642
[PEAR] DB - installed: 1.3
[PEAR] HTTP - installed: 1.2
[PEAR] Mail - installed: 1.0.1
[PEAR] Net_SMTP - installed: 1.0
[PEAR] Net_Socket - installed: 1.0.1
[PEAR] XML_Parser - installed: 1.0
[PEAR] XML_RPC - installed: 1.0.4
pear_config->_pear
Fatal error: Call to undefined function: ->_pear() in
/home/mfischer/isrc/cvs/php4/pear/PEAR.php on line 642
Installing build environment: /home/mfischer/php4/lib/php/build/
Installing header files: /home/mfischer/php4/include/php/
Installing helper programs: /home/mfischer/php4/bin/
program: phpize
program: php-config
Now, if I change
echo get_class($objref), "->$destructor", "\n";
to
echo get_class($objref), "$destructor", "\n";
I can even reproduce a segfault:
(gdb) r /home/mfischer/isrc/cvs/php4/pear/install-pear.php
/home/mfischer/isrc/cvs/php4/pear/packages/*.tar
Program received signal SIGSEGV, Segmentation fault.
0x081295eb in zend_hash_index_update_or_next_insert (ht=0x831e4f8, h=1,
pData=0xbfffe7a0, nDataSize=4, pDest=0x0, flag=1) at
/home/mfischer/isrc/cvs/php4/Zend/zend_hash.c:377
377 p = ht->arBuckets[nIndex];
(gdb) bt full
#0 0x081295eb in zend_hash_index_update_or_next_insert (ht=0x831e4f8, h=1,
pData=0xbfffe7a0, nDataSize=4, pDest=0x0, flag=1) at
/home/mfischer/isrc/cvs/php4/Zend/zend_hash.c:377
ht = (HashTable *) 0x831e4f8
nDataSize = 4
flag = 1
nIndex = 0
p = (Bucket *) 0xbfffe7a0
#1 0x0812bdae in zif_each (ht=1, return_value=0x8341d8c, this_ptr=0x0,
return_value_used=1) at /home/mfischer/isrc/cvs/php4/Zend/zend_builtin_functions.c:365
return_value = (zval *) 0x8341d8c
array = (zval **) 0x81d3474
entry = (zval *) 0x8341d8c
entry_ptr = (zval **) 0x830b8e8
tmp = (zval *) 0xbfffe7a0
string_key = 0x1 <Address 0x1 out of bounds>
num_key = 136270088
inserted_pointer = (zval **) 0x81f6560
target_hash = (HashTable *) 0x81fcf64
#2 0x0813593a in execute (op_array=0x81f51b0) at
/home/mfischer/isrc/cvs/php4/Zend/zend_execute.c:1597
original_return_value = (zval **) 0x81f5108
return_value_used = 1
execute_data = {opline = 0x81f6548, function_state = {function_symbol_table =
0x82e1a2c, function = 0x81a7bc0, reserved = {0x8125419, 0x81dad64, 0x16, 0xbffff13c}},
fbc = 0x0, ce = 0x0, object = {ptr = 0x0}, Ts = 0xbfffe7c4,
original_in_execution = 0 '\0', op_array = 0x81f51b0, prev_execute_data = 0xbffff0f8}
#3 0x0811f623 in call_user_function_ex (function_table=0x81a68c8, object_pp=0x0,
function_name=0x81fcc04, retval_ptr_ptr=0xbffff178, param_count=0, params=0x832ade4,
no_separation=1, symbol_table=0x0)
at /home/mfischer/isrc/cvs/php4/Zend/zend_execute_API.c:561
function_name = (zval *) 0x0
i = 0
original_return_value = (zval **) 0xbfffd608
calling_symbol_table = (HashTable *) 0x81a654c
original_function_state_ptr = <incomplete type>
original_op_array = (zend_op_array *) 0x0
original_opline_ptr = <incomplete type>
orig_free_op1 = 0
orig_free_op2 = 0
orig_unary_op = <incomplete type>
orig_binary_op = <incomplete type>
function_name_copy = {value = {lval = 136162660, dval =
4.6751180693788353e-313, str = {val = 0x81dad64 "_pear_call_destructors", len = 22},
ht = 0x81dad64, obj = {ce = 0x81dad64, properties = 0x16}}, type = 3 '\003', is_ref =
0 '\0',
refcount = 1}
execute_data = {opline = 0x0, function_state = {function_symbol_table =
0x81a62a4, function = 0x81f51b0, reserved = {0x4001274c, 0x0, 0x40012c68, 0x0}}, fbc =
0x0, ce = 0x0, object = {ptr = 0x0}, Ts = 0x0,
original_in_execution = 12 '\f', op_array = 0x0, prev_execute_data = 0x0}
#4 0x0811f0e0 in call_user_function (function_table=0x81a68c8, object_pp=0x0,
function_name=0x81fcc04, retval_ptr=0xbffff1c0, param_count=0, params=0x81fcd50) at
/home/mfischer/isrc/cvs/php4/Zend/zend_execute_API.c:403
retval_ptr = (zval *) 0xbffff1c0
param_count = 0
params_array = (zval ***) 0x832ade4
i = 1
ex_retval = 0
local_retval_ptr = (zval *) 0x0
#5 0x080ad824 in user_shutdown_function_call (shutdown_function_entry=0x81fc7ac) at
/home/mfischer/isrc/cvs/php4/ext/standard/basic_functions.c:2014
shutdown_function_entry = (php_shutdown_function_entry *) 0x81fc7ac
retval = {value = {lval = 1, dval = -1.9971656799316408, str = {val = 0x1
<Address 0x1 out of bounds>, len = -1073744796}, ht = 0x1, obj = {ce = 0x1, properties
= 0xbffff464}}, type = 236 '�', is_ref = 242 '�', refcount = 49151}
#6 0x08129e30 in zend_hash_apply (ht=0x81fd12c, apply_func=0x80ad7f8
<user_shutdown_function_call>) at /home/mfischer/isrc/cvs/php4/Zend/zend_hash.c:688
ht = (HashTable *) 0x81fd12c
apply_func = 0x80ad7f8 <user_shutdown_function_call>
p = (Bucket *) 0x81fd164
#7 0x080ada2e in php_call_shutdown_functions () at
/home/mfischer/isrc/cvs/php4/ext/standard/basic_functions.c:2095
orig_bailout = {{__jmpbuf = {-1073743796, 135947832, -1073744380, -1073744068,
-1073745212, 135283163}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 32
times>}}}}
orig_bailout_set = 1 '\001'
#8 0x081041e7 in php_request_shutdown (dummy=0x0) at
/home/mfischer/isrc/cvs/php4/main/main.c:895
orig_bailout = {{__jmpbuf = {0, 0, 0, 0, 0, 0}, __mask_was_saved = 0,
__saved_mask = {__val = {0 <repeats 32 times>}}}}
orig_bailout_set = 0 '\0'
#9 0x0813c3a6 in main (argc=9, argv=0xbffff8e4) at
/home/mfischer/isrc/cvs/php4/sapi/cli/php_cli.c:758
exit_status = 0
c = 63
file_handle = {type = 2 '\002', filename = 0xbffffa00
"/home/mfischer/isrc/cvs/php4/pear/install-pear.php", opened_path = 0x0, handle = {fd
= 136129040, fp = 0x81d2a10}, free_filename = 0 '\0'}
behavior = 1
orig_optind = 1
orig_optarg = 0x0
arg_free = 0xbffff84c ""
script_file = 0xbffffa00 "/home/mfischer/isrc/cvs/php4/pear/install-pear.php"
global_vars = {head = 0x0, tail = 0x0, size = 4, count = 0, dtor = 0,
persistent = 0 '\0', traverse_ptr = 0x81a13bc}
interactive = 0
module_started = 1
exec_direct = 0x0
param_error = 0x0
HTH,
- Markus
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php