ID: 20658
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
-Status: Open
+Status: Feedback
Bug Type: Reproducible crash
Operating System: Linux 2.4.19-pre4
PHP Version: 4CVS-2002-11-26 (stable)
New Comment:
What if putting var_dump() before array_walk() like following?
function get_flat($packageid = 0) {
if ($packageid == $this->lastflatid)
return $this->flat;
$this->lastflatid = $packageid;
$this->flat = array();
+ var_dump($this->tree);
array_walk(&$this->tree[$packageid], array(&$this,
"get_flat_callback"));
return $this->flat;
}
I guess you are recursively calling array_walk() infinite times. If my
assumption is right, var_dump() would also continue displaying the
content of $this->tree until you stop the execution.
Previous Comments:
------------------------------------------------------------------------
[2002-11-29 04:51:10] [EMAIL PROTECTED]
Reopening. Reproduced it again, this time on another 'root' script, but
in the same included script. Backtrace follows:
Program received signal SIGSEGV, Segmentation fault.
0x401fe2f7 in memcpy () from /lib/libc.so.6
(gdb) bt
#0 0x401fe2f7 in memcpy () from /lib/libc.so.6
#1 0x403aa20c in _estrndup (s=0x0, length=136151736)
at /home/chris/php4-STABLE-200211290430/Zend/zend_alloc.c:357
#2 0x403bd677 in zend_is_callable (callable=0x81ca890, syntax_only=0,
callable_name=0xbfff8e24)
at /home/chris/php4-STABLE-200211290430/Zend/zend_API.c:1385
#3 0x40318f87 in php_array_walk (target_hash=0x8211a4c, userdata=0x0)
at /home/chris/php4-STABLE-200211290430/ext/standard/array.c:985
#4 0x4031910d in zif_array_walk (ht=2, return_value=0x821af4c,
this_ptr=0x0,
return_value_used=0)
at /home/chris/php4-STABLE-200211290430/ext/standard/array.c:1031
#5 0x403cc8e1 in execute (op_array=0x8256b7c)
at /home/chris/php4-STABLE-200211290430/Zend/zend_execute.c:1598
#6 0x403b1646 in call_user_function_ex (function_table=0x82565b0,
object_pp=0x825eb60, function_name=0x825df1c,
retval_ptr_ptr=0xbfff9478,
param_count=2, params=0xbfff9490, no_separation=0,
symbol_table=0x0)
at
/home/chris/php4-STABLE-200211290430/Zend/zend_execute_API.c:557
#7 0x40318f59 in php_array_walk (target_hash=0x8259734, userdata=0x0)
at /home/chris/php4-STABLE-200211290430/ext/standard/array.c:978
#8 0x4031910d in zif_array_walk (ht=2, return_value=0x825442c,
this_ptr=0x0,
return_value_used=0)
at /home/chris/php4-STABLE-200211290430/ext/standard/array.c:1031
#9 0x403cc8e1 in execute (op_array=0x8256b7c)
at /home/chris/php4-STABLE-200211290430/Zend/zend_execute.c:1598
#10 0x403b1646 in call_user_function_ex (function_table=0x82565b0,
object_pp=0x824d2e8, function_name=0x825a124,
retval_ptr_ptr=0xbfff9ac8,
param_count=2, params=0xbfff9ae0, no_separation=0,
symbol_table=0x0)
at
/home/chris/php4-STABLE-200211290430/Zend/zend_execute_API.c:557
#11 0x40318f59 in php_array_walk (target_hash=0x824c7dc, userdata=0x0)
at /home/chris/php4-STABLE-200211290430/ext/standard/array.c:978
#12 0x4031910d in zif_array_walk (ht=2, return_value=0x825de3c,
this_ptr=0x0,
return_value_used=0)
at /home/chris/php4-STABLE-200211290430/ext/standard/array.c:1031
#13 0x403cc8e1 in execute (op_array=0x8256b7c)
at /home/chris/php4-STABLE-200211290430/Zend/zend_execute.c:1598
#14 0x403b1646 in call_user_function_ex (function_table=0x82565b0,
object_pp=0x824ddb8, function_name=0x825a064,
retval_ptr_ptr=0xbfffa118,
param_count=2, params=0xbfffa130, no_separation=0,
symbol_table=0x0)
at
/home/chris/php4-STABLE-200211290430/Zend/zend_execute_API.c:557
#15 0x40318f59 in php_array_walk (target_hash=0x825a2fc, userdata=0x0)
at /home/chris/php4-STABLE-200211290430/ext/standard/array.c:978
#16 0x4031910d in zif_array_walk (ht=2, return_value=0x825a0b4,
this_ptr=0x0,
return_value_used=0)
at /home/chris/php4-STABLE-200211290430/ext/standard/array.c:1031
#17 0x403cc8e1 in execute (op_array=0x8256b7c)
at /home/chris/php4-STABLE-200211290430/Zend/zend_execute.c:1598
#18 0x403b1646 in call_user_function_ex (function_table=0x82565b0,
object_pp=0x8259210, function_name=0x8257464,
retval_ptr_ptr=0xbfffa768,
param_count=2, params=0xbfffa780, no_separation=0,
symbol_table=0x0)
at
/home/chris/php4-STABLE-200211290430/Zend/zend_execute_API.c:557
#19 0x40318f59 in php_array_walk (target_hash=0x8255f4c, userdata=0x0)
at /home/chris/php4-STABLE-200211290430/ext/standard/array.c:978
#20 0x4031910d in zif_array_walk (ht=2, return_value=0x8259bac,
this_ptr=0x0,
return_value_used=0)
at /home/chris/php4-STABLE-200211290430/ext/standard/array.c:1031
#21 0x403cc8e1 in execute (op_array=0x8256b7c)
at /home/chris/php4-STABLE-200211290430/Zend/zend_execute.c:1598
#22 0x403b1646 in call_user_function_ex (function_table=0x82565b0,
object_pp=0x825db20, function_name=0x824d594,
retval_ptr_ptr=0xbfffadb8,
param_count=2, params=0xbfffadd0, no_separation=0,
symbol_table=0x0)
at
/home/chris/php4-STABLE-200211290430/Zend/zend_execute_API.c:557
#23 0x40318f59 in php_array_walk (target_hash=0x8250fec, userdata=0x0)
at /home/chris/php4-STABLE-200211290430/ext/standard/array.c:978
#24 0x4031910d in zif_array_walk (ht=2, return_value=0x824d7d4,
this_ptr=0x0,
return_value_used=0)
at /home/chris/php4-STABLE-200211290430/ext/standard/array.c:1031
#25 0x403cc8e1 in execute (op_array=0x8203cd4)
at /home/chris/php4-STABLE-200211290430/Zend/zend_execute.c:1598
#26 0x403cca5e in execute (op_array=0x81ca574)
at /home/chris/php4-STABLE-200211290430/Zend/zend_execute.c:1640
#27 0x403cca5e in execute (op_array=0x81d3764)
at /home/chris/php4-STABLE-200211290430/Zend/zend_execute.c:1640
#28 0x403ba453 in zend_execute_scripts (type=8, retval=0x0,
file_count=3)
at /home/chris/php4-STABLE-200211290430/Zend/zend.c:864
#29 0x4039013d in php_execute_script (primary_file=0xbffff578)
at /home/chris/php4-STABLE-200211290430/main/main.c:1549
#30 0x403d332e in apache_php_module_main (r=0x81c90b4,
display_source_mode=0)
at
/home/chris/php4-STABLE-200211290430/sapi/apache/sapi_apache.c:55
#31 0x403d3eef in send_php (r=0x81c90b4, display_source_mode=0,
filename=0x0)
at /home/chris/php4-STABLE-200211290430/sapi/apache/mod_php4.c:556
#32 0x403d3f53 in send_parsed_php (r=0x81c90b4)
at /home/chris/php4-STABLE-200211290430/sapi/apache/mod_php4.c:571
#33 0x0808ffd9 in ap_invoke_handler ()
#34 0x080a6daf in process_request_internal ()
#35 0x080a723a in ap_internal_redirect ()
#36 0x080687c6 in handler_redirect ()
#37 0x0808ffd9 in ap_invoke_handler ()
#38 0x080a6daf in process_request_internal ()
#39 0x080a6e22 in ap_process_request ()
#40 0x0809d2d6 in child_main ()
#41 0x0809d4b5 in make_child ()
#42 0x0809d636 in startup_children ()
#43 0x0809dce0 in standalone_main ()
#44 0x0809e56c in main ()
#45 0x4019fc6f in __libc_start_main () from /lib/libc.so.6
------------------------------------------------------------------------
[2002-11-28 23:27:13] [EMAIL PROTECTED]
Closing...
------------------------------------------------------------------------
[2002-11-28 23:25:56] [EMAIL PROTECTED]
Seems to be fixed now, thanks for the help.
------------------------------------------------------------------------
[2002-11-26 17:02:17] [EMAIL PROTECTED]
Yep. I found a bug in error reporting code while investigating
array_walk() and fixed it. Now please try the latest one and it will
give you a bit more useful information, I suppose.
------------------------------------------------------------------------
[2002-11-26 16:48:36] [EMAIL PROTECTED]
The one I tried and quoted in the bug report was less than 2 hours old
at the time of the reporting.
Has anything changed between then and now?
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/20658
--
Edit this bug report at http://bugs.php.net/?id=20658&edit=1