ID: 39140
Updated by: [EMAIL PROTECTED]
Reported By: harry at telappliant dot com
-Status: Open
+Status: Assigned
Bug Type: SOAP related
Operating System: Linux 2.6.15-vs2.0.1-gentoo-r5
PHP Version: 5.2.0RC6-dev
-Assigned To:
+Assigned To: dmitry
Previous Comments:
------------------------------------------------------------------------
[2006-10-13 09:23:05] harry at telappliant dot com
Bug can still be replicated with PHP Version 5.2.0RC6-dev (snapshot
200610130830).
Full backtrace:
#0 0xb74603d2 in zend_get_executed_lineno ()
at
/home/harryr/software/php5.2-200610130830/Zend/zend_execute_API.c:394
No locals.
#1 0xb7483432 in zend_default_exception_new_ex (class_type=0xb7662418,
skip_top_traces=1)
at
/home/harryr/software/php5.2-200610130830/Zend/zend_exceptions.c:97
tmp = {value = {lval = -1078094272, dval =
-0.11557535821119647, str = {
val = 0xbfbd9640 "▒&f▒", len = -1078094248}, ht =
0xbfbd9640, obj = {handle = 3216873024,
handlers = 0xbfbd9658}}, refcount = 0, type = 252 '▒',
is_ref = 168 '▒'}
obj = {value = {lval = 2, dval = -6.2692341670811935e-42, str =
{
val = 0x2 <Address 0x2 out of bounds>, len = -1218348576}, ht =
0x2, obj = {handle = 2,
handlers = 0xb76179e0}}, refcount = 136390592, type = 72 'H',
is_ref = 150 '\226'}
object = (zend_object *) 0xb76626bc
#2 0xb74834bb in zend_default_exception_new (class_type=0x0)
at
/home/harryr/software/php5.2-200610130830/Zend/zend_exceptions.c:105
No locals.
#3 0xb746fb1c in _object_and_properties_init (arg=0xbfbd9810,
class_type=0x82b9cf0,
properties=0x0) at
/home/harryr/software/php5.2-200610130830/Zend/zend_API.c:950
tmp = (zval *) 0xb761a780
object = (zend_object *) 0x5
#4 0xb746fbda in _object_init_ex (arg=0x1, class_type=0x1)
at /home/harryr/software/php5.2-200610130830/Zend/zend_API.c:957
No locals.
#5 0xb7343e07 in set_soap_fault (obj=0xbfbd9810, fault_code_ns=0x0,
fault_code=0xb75c5360 "Server",
fault_string=0xbfbd9830 "Uncaught exception 'Exception' with
message 'bugger' in /home/webuser/
default/soapbug/test.php:5\nStack trace:\n#0 [internal
function]: TestClass->getCallLog(Array, NULL
, NULL, NULL, NULL)\n#1 /home/webu"...,
fault_actor=0x0, fault_detail=0x0, name=0x0)
at /home/harryr/software/php5.2-200610130830/ext/soap/soap.c:3115
No locals.
#6 0xb7347338 in soap_error_handler (error_num=1,
error_filename=0xb7663140 "/home/webuser/default/soapbug/test.php",
error_lineno=5,
format=0xb75bf02d "Uncaught %s\n thrown", args=0xbfbd9c80
"▒▒e▒▒\234▒▒")
at /home/harryr/software/php5.2-200610130830/ext/soap/soap.c:2134
code = 0xb75c5360 "Server"
buffer = "Uncaught exception 'Exception' with message 'bugger'
in /home/webuser/default/soa
pbug/test.php:5\nStack trace:\n#0 [internal function]:
TestClass->getCallLog(Array, NULL, NULL, NUL
L, NULL)\n#1 /home/webu"...
outbuf = (zval *) 0x0
outbuflen = {value = {lval = 0, dval = 0, str = {val = 0x0, len
= 0}, ht = 0x0, obj = {
handle = 0, handlers = 0x0}}, refcount = 1, type = 0 '\0', is_ref
= 0 '\0'}
old = 1
fault = 0
fault_obj = {value = {lval = 0, dval = 0, str = {val = 0x0, len
= 0}, ht = 0x0, obj = {
handle = 0, handlers = 0x0}}, refcount = 1, type = 5 '\005',
is_ref = 0 '\0'}
_old_in_compilation = 0 '\0'
_old_in_execution = 0 '\0'
---Type <return> to continue, or q <return> to quit---
_old_current_execute_data = (zend_execute_data *) 0x0
#7 0xb7484edc in zend_error_va (type=1, file=0x1 <Address 0x1 out of
bounds>, lineno=1,
format=0x1 <Address 0x1 out of bounds>)
at
/home/harryr/software/php5.2-200610130830/Zend/zend_exceptions.c:657
No locals.
#8 0xb7485084 in zend_exception_error (exception=0xb7663198)
at
/home/harryr/software/php5.2-200610130830/Zend/zend_exceptions.c:696
str = (zval *) 0xb76626f4
file = (zval *) 0xb7663128
line = (zval *) 0xb7663170
ce_exception = (zend_class_entry *) 0x4
#9 0xb746ed16 in zend_execute_scripts (type=8, retval=0x0,
file_count=3)
at /home/harryr/software/php5.2-200610130830/Zend/zend.c:1128
orig_user_exception_handler = (zval *) 0x1
params = (zval ***) 0x0
retval2 = (zval *) 0xbf2bbf30
old_exception = (zval *) 0x0
ex_class_name = "Exception", '\0' <repeats 118 times>
files = 0xbfbd9dd4 ""
i = 1
file_handle = (zend_file_handle *) 0x0
orig_op_array = (zend_op_array *) 0x0
orig_retval_ptr_ptr = (zval **) 0x0
local_retval = (zval *) 0x0
#10 0xb7429aeb in php_execute_script (primary_file=0xbfbdbff0)
at /home/harryr/software/php5.2-200610130830/main/main.c:1758
realfile =
"ceil\000▒▒▒\004\000\000\000\200▒▒\214\000\000\000|▒▒\002\000\000\000▒#G▒abs\000P▒▒▒\021\000\000\000\200▒▒\214\000\000\000|▒▒\002\000\000\000▒#G▒convert_uudecode\000\000\000\000|▒▒\002\000\000\000▒#G▒convert_uuencode\000\000\000\000|▒▒\002\000\000\000▒#G▒base64_encode\000▒▒\214\000\000\000|▒▒\002\000\000\000▒#G▒base64_decode\000▒▒\214\000\000\000|▒▒\002\000\000\000▒#G▒getlastm"...
prepend_file_p = (zend_file_handle *) 0x0
append_file_p = (zend_file_handle *) 0x3
prepend_file = {type = 0 '\0', filename = 0x0, opened_path =
0x0, handle = {fd = 0,
fp = 0x0, stream = {handle = 0x0, reader = 0, closer = 0, fteller =
0, interactive = 0}},
free_filename = 0 '\0'}
append_file = {type = 0 '\0', filename = 0x0, opened_path =
0x0, handle = {fd = 0,
fp = 0x0, stream = {handle = 0x0, reader = 0, closer = 0, fteller =
0, interactive = 0}},
free_filename = 0 '\0'}
old_cwd = 0xbfbd9de0 "/"
retval = 0
#11 0xb750fa7e in php_handler (r=0x82f6e88)
at
/home/harryr/software/php5.2-200610130830/sapi/apache2handler/sapi_apache2.c:592
zfd = {type = 5 '\005', filename = 0x82f7fd8
"/home/webuser/default/soapbug/test.php",
opened_path = 0xb765e794 "\b", handle = {fd = -1218058176, fp =
0xb765e840, stream = {
handle = 0xb765e840, reader = 0xb743ac70 <_php_stream_read>,
---Type <return> to continue, or q <return> to quit---
closer = 0xb7428220 <stream_closer_for_zend>,
fteller = 0xb7428250 <stream_fteller_for_zend>, interactive =
0}}, free_filename = 0 '\0'}
ctx = (php_struct * volatile) 0x82f86b8
conf = (void *) 0x814efb0
brigade = (apr_bucket_brigade * volatile) 0x82f8808
bucket = (apr_bucket *) 0x1
rv = 1
parent_req = (request_rec * volatile) 0x0
#12 0x08068ed5 in ap_run_handler ()
No symbol table info available.
#13 0x0806934c in ap_invoke_handler ()
No symbol table info available.
#14 0x08066118 in ap_process_request ()
No symbol table info available.
#15 0x08060fd8 in _start ()
No symbol table info available.
------------------------------------------------------------------------
[2006-10-12 18:07:34] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.2-win32-latest.zip
------------------------------------------------------------------------
[2006-10-12 18:05:54] harry at telappliant dot com
Description:
------------
when using use_soap_error_handler and a soap server & client without
wsdl the soap server bombs if an exception is thrown!
Reproduce code:
---------------
# test.php
<?php
class TestClass
{
public function getCallLog( ) {
throw new Exception("bugger");
}
}
use_soap_error_handler(TRUE);
$server = new SoapServer( NULL, array('uri' => 'http://example.com')
);
$server->setClass('TestClass');
$server->handle();
?>
# test-client.php
<?php
$params = array( 'style' => SOAP_RPC, 'use' => SOAP_ENCODED, 'uri' =>
'http://192.168.254.72/soapb$
$client = new SoapClient( NULL, $params );
$blah = $client->getCallLog( array() );
print_r($blah);
?>
Expected result:
----------------
The exception being passed back to the client.
Actual result:
--------------
The server-side bombs.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1213290816 (LWP 8597)]
0xb74122e2 in zend_get_executed_lineno () from
/usr/lib/apache2/modules/libphp5.so
(gdb) bt
#0 0xb74122e2 in zend_get_executed_lineno () from
/usr/lib/apache2/modules/libphp5.so
#1 0xbfb21e18 in ?? ()
#2 0xb7434152 in zend_clear_exception () from
/usr/lib/apache2/modules/libphp5.so
#3 0xb7434152 in zend_clear_exception () from
/usr/lib/apache2/modules/libphp5.so
#4 0xb74341db in zend_clear_exception () from
/usr/lib/apache2/modules/libphp5.so
#5 0xb74227dd in _object_and_properties_init () from
/usr/lib/apache2/modules/libphp5.so
#6 0xb742288a in _object_init_ex () from
/usr/lib/apache2/modules/libphp5.so
#7 0xb72fc097 in zif_SoapClient___setLocation () from
/usr/lib/apache2/modules/libphp5.so
#8 0xb72ff61b in zif_SoapServer_fault () from
/usr/lib/apache2/modules/libphp5.so
#9 0xb7435bcc in zend_throw_error_exception () from
/usr/lib/apache2/modules/libphp5.so
#10 0xb7435d74 in zend_exception_error () from
/usr/lib/apache2/modules/libphp5.so
#11 0xb74206aa in zend_execute_scripts () from
/usr/lib/apache2/modules/libphp5.so
#12 0xb73ddcbb in php_execute_script () from
/usr/lib/apache2/modules/libphp5.so
#13 0xb74aa20e in zend_get_zval_ptr_ptr () from
/usr/lib/apache2/modules/libphp5.so
#14 0x08068ed5 in ap_run_handler ()
#15 0x0806934c in ap_invoke_handler ()
#16 0x08066118 in ap_process_request ()
#17 0x08060fd8 in _start ()
(gdb)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=39140&edit=1