ID: 42326 Updated by: [EMAIL PROTECTED] Reported By: edman007 at edman007 dot com -Status: Assigned +Status: Closed Bug Type: SOAP related Operating System: Linux PHP Version: 5.2-CVS-2007-08-16 Assigned To: dmitry New Comment:
You have a bug in your WSDL file. You refer to _type_ productDetailsType. <xsd:element name="products" type="tns:productDetailsType"/> However productDetailsType is not a type but element. <xsd:element name="productDetailsType"> Also classmap works only with types and not with elements. Anyway PHP must not crash. The crush is fixed in CVS HEAD and PHP_5_2. Previous Comments: ------------------------------------------------------------------------ [2007-08-17 20:29:23] [EMAIL PROTECTED] Assigned to the maintainer of SOAP extension. ------------------------------------------------------------------------ [2007-08-17 16:01:06] edman007 at edman007 dot com Nope, did not help, here is the backtrace (gdb) bt 15 full #0 0xb752ab3b in get_encoder (sdl=0x8302600, ns=0x83021d0 "http://www.example.com/", type=0x83013b8 "productDetailsType") at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_sdl.c:118 enc = (encodePtr) 0x0 nscat = 0x8300fbc "\b" ns_len = 23 type_len = 18 len = 42 #1 0xb74ffd39 in master_to_xml (encode=0xb7a530fc, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:450 enc = (encodePtr) 0x0 ce = (zend_class_entry *) 0x83022dc tmp = (zval **) 0x83013a4 type_len = 19 idx = 0 pos = (HashPosition) 0x8301398 type_name = 0x83013b8 "productDetailsType" node = (xmlNodePtr) 0x0 #2 0xb750b810 in guess_xml_convert (type=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:2685 enc = (encodePtr) 0xb7a530fc ret = (xmlNodePtr) 0xb79e2a80 #3 0xb750cfe2 in sdl_guess_convert_xml (enc=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:3108 type = (sdlTypePtr) 0x0 ret = (xmlNodePtr) 0x0 #4 0xb7500367 in master_to_xml (encode=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:483 node = (xmlNodePtr) 0x0 #5 0xb750b810 in guess_xml_convert (type=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:2685 enc = (encodePtr) 0xb7a530fc ret = (xmlNodePtr) 0xb79e2a80 #6 0xb750cfe2 in sdl_guess_convert_xml (enc=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:3108 type = (sdlTypePtr) 0x0 ret = (xmlNodePtr) 0x0 #7 0xb7500367 in master_to_xml (encode=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:483 node = (xmlNodePtr) 0x0 #8 0xb750b810 in guess_xml_convert (type=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:2685 enc = (encodePtr) 0xb7a530fc ret = (xmlNodePtr) 0xb79e2a80 #9 0xb750cfe2 in sdl_guess_convert_xml (enc=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:3108 type = (sdlTypePtr) 0x0 ret = (xmlNodePtr) 0x0 #10 0xb7500367 in master_to_xml (encode=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:483 node = (xmlNodePtr) 0x0 #11 0xb750b810 in guess_xml_convert (type=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:2685 enc = (encodePtr) 0xb7a530fc ret = (xmlNodePtr) 0xb79e2a80 #12 0xb750cfe2 in sdl_guess_convert_xml (enc=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:3108 type = (sdlTypePtr) 0x0 ret = (xmlNodePtr) 0x0 #13 0xb7500367 in master_to_xml (encode=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:483 node = (xmlNodePtr) 0x0 #14 0xb750b810 in guess_xml_convert (type=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:2685 enc = (encodePtr) 0xb7a530fc ret = (xmlNodePtr) 0xb79e2a80 (More stack frames follow...) (gdb) bt -25 full #71353 0xb7500367 in master_to_xml (encode=0x8303450, data=0x8301bcc, style=2, parent=0x8341c88) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:483 node = (xmlNodePtr) 0x0 #71354 0xb75054f0 in model_to_xml_object (node=0x8341c88, model=0x8306de0, object=0xbfada7a0, style=2, strict=1) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:1609 data = (zval *) 0x8301bcc property = (xmlNodePtr) 0xbfada0d8 enc = (encodePtr) 0x8303450 #71355 0xb7505882 in model_to_xml_object (node=0x8341c88, model=0x8306d00, object=0xbfada7a0, style=2, strict=1) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:1685 tmp = (sdlContentModelPtr *) 0x8306e28 pos = (HashPosition) 0x8306e1c #71356 0xb750602f in to_xml_object (type=0x8301ff0, data=0xbfada7a0, style=2, parent=0x8341c38) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:1862 array_el = (sdlTypePtr) 0xb76cd8a1 xmlParam = (xmlNodePtr) 0x8341c88 prop = (HashTable *) 0x8301a2c i = 137381884 sdlType = (sdlTypePtr) 0x8301d64 #71357 0xb750d149 in sdl_guess_convert_xml (enc=0x8301ff0, data=0xbfada7a0, style=2, parent=0x8341c38) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:3159 type = (sdlTypePtr) 0x8301d64 ret = (xmlNodePtr) 0x0 #71358 0xb7500367 in master_to_xml (encode=0x8301ff0, data=0xbfada7a0, style=2, parent=0x8341c38) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/php_encoding.c:483 node = (xmlNodePtr) 0x0 #71359 0xb74f801c in serialize_zval (val=0xbfada7a0, param=0x8304670, paramName=0x83046fc "out", style=2, parent=0x8341c38) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/soap.c:4299 xmlParam = (xmlNodePtr) 0x0 enc = (encodePtr) 0x8301ff0 defval = {value = {lval = 137370100, dval = -0.057887793540476823, str = {val = 0x83019f4 "L-0\b,\0320\b", len = -1079139464}, ht = 0x83019f4, obj = {handle = 137370100, handlers = 0xbfada378}}, refcount = 3077312910, type = 160 ' ', is_ref = 167 '§'} #71360 0xb74f7f13 in serialize_parameter (param=0x8304670, param_val=0xbfada7a0, index=0, name=0xb7997d4e "return", style=2, parent=0x8341c38) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/soap.c:4272 paramName = 0x83046fc "out" xmlParam = (xmlNodePtr) 0x83045cc paramNameBuf = "0\b\200*\236·÷\003\000" #71361 0xb74f4c6d in serialize_response_call2 (body=0x8341c38, function=0x83042c8, function_name=0x8301710 "GetProductsResponse", uri=0x8301e84 "http://www.example.com/", ret=0xbfada7a0, version=1, main=1) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/soap.c:3626 method = (xmlNodePtr) 0x0 param = (xmlNodePtr) 0x8341b88 parameter = (sdlParamPtr) 0x8304670 param_count = 1 style = 2 use = 2 ns = (xmlNsPtr) 0x0 #71362 0xb74f6db3 in serialize_response_call (function=0x83042c8, function_name=0x8301710 "GetProductsResponse", uri=0x8301e84 "http://www.example.com/", ret=0xbfada7a0, headers=0x0, version=1) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/soap.c:4005 doc = (xmlDocPtr) 0x8340af8 envelope = (xmlNodePtr) 0x8341b88 body = (xmlNodePtr) 0x8341c38 param = (xmlNodePtr) 0x4 ns = (xmlNsPtr) 0x8341be8 use = 2 head = (xmlNodePtr) 0x0 #71363 0xb74ed658 in zim_SoapServer_handle (ht=0, return_value=0x83012a0, return_value_ptr=0x0, this_ptr=0x82fc400, return_value_used=0) at /root/php-5.2-cvs/php5.2-200708171430/ext/soap/soap.c:1814 response_name = 0x8301710 "GetProductsResponse" soap_version = 1 old_soap_version = 1 old_sdl = (sdlPtr) 0x0 service = (soapServicePtr) 0x83012dc doc_request = (xmlDocPtr) 0x8340af8 doc_return = (xmlDocPtr) 0x0 function_name = {value = {lval = 137369160, dval = 2.3409823083372065e-313, str = {val = 0x8301648 "GetProducts", len = 11}, ht = 0x8301648, obj = {handle = 137369160, handlers = 0xb}}, refcount = 1, type = 6 '\006', is_ref = 0 '\0'} params = (zval **) 0x83076cc soap_obj = (zval *) 0x0 retval = {value = {lval = 4, dval = -1.2979947415347924e-40, str = {val = 0x4 <Address 0x4 out of bounds>, len = -1213817536}, ht = 0x4, obj = {handle = 4, handlers = 0xb7a69d40}}, refcount = 1, type = 5 '\005', is_ref = 0 '\0'} fn_name = 0x83018b0 'Z' <repeats 12 times>, "a-H¿ß±h·1" cont_len = "0\bZ\000\000\000\v\000\000\000 \a\236·´\0220\b\204릷ø§¿ $j·" ---Type <return> to continue, or q <return> to quit--- num_params = 1 size = -1079138344 i = 4 call_status = 0 buf = (xmlChar *) 0xb7a6eb84 "Ø»\036\b" function_table = (HashTable *) 0x8303594 soap_headers = (soapHeader *) 0x0 function = (sdlFunctionPtr) 0x83042c8 arg = 0x0 arg_len = 1 old_encoding = (xmlCharEncodingHandlerPtr) 0x0 old_class_map = (HashTable *) 0x0 old_typemap = (HashTable *) 0x0 old_features = 0 _old_handler = 0 '\0' _old_error_code = 0x0 _old_error_object = (zval *) 0x0 _old_soap_version = 1 #71364 0xb76e5591 in zend_do_fcall_common_helper_SPEC (execute_data=0xbfadaab4) at /root/php-5.2-cvs/php5.2-200708171430/Zend/zend_vm_execute.h:200 return_reference = 0 '\0' opline = (zend_op *) 0x8300980 original_return_value = (zval **) 0xb76e3bd7 current_scope = (zend_class_entry *) 0x0 current_this = (zval *) 0x0 return_value_used = 0 should_change_scope = 1 '\001' ctor_opline = (zend_op *) 0xbfadaad8 #71365 0xb76e61de in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0xbfadaab4) at /root/php-5.2-cvs/php5.2-200708171430/Zend/zend_vm_execute.h:322 No locals. #71366 0xb76e50f1 in execute (op_array=0x8300010) at /root/php-5.2-cvs/php5.2-200708171430/Zend/zend_vm_execute.h:92 execute_data = {opline = 0x8300980, function_state = {function_symbol_table = 0x0, function = 0x82ade70, reserved = {0x0, 0xbfadaad8, 0x1, 0x0}}, fbc = 0x82ade70, op_array = 0x8300010, object = 0x82fc400, Ts = 0xbfada980, CVs = 0xbfada960, original_in_execution = 0 '\0', symbol_table = 0xb7a725b0, prev_execute_data = 0x0, old_error_reporting = 0x0} #71367 0xb76c0817 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /root/php-5.2-cvs/php5.2-200708171430/Zend/zend.c:1134 files = 0xbfadab84 "" i = 1 file_handle = (zend_file_handle *) 0xbfadcdf4 orig_op_array = (zend_op_array *) 0x0 orig_retval_ptr_ptr = (zval **) 0x0 local_retval = (zval *) 0x0 #71368 0xb766eade in php_execute_script (primary_file=0xbfadcdf4) at /root/php-5.2-cvs/php5.2-200708171430/main/main.c:1982 realfile = "\003\000\000\000$¼\036\b\220Vk·\230Þ\031\b` \236·è»¿I5j·Ø»\036\b\\û/\blX\234·½\001\000\000\000\000\000\000\000\000\000\000¸Ë¿ü[g·\\û/\blX\234·½\001\000\000\000\000\000\000\000\000\000\000¡i\230·¨Ï¿?gl·mysqli_escape_string\000ο\002\000\000\000à\033\236·¬\006\000\000\212i\230·¨Ï¿?gl·mysqli_client_encoding\000¿\002\000\000\000à\033\236·¬\006\000\000wi\230·¨Ï¿?gl·mysqli_bind_"... __orig_bailout = (jmp_buf *) 0xbfadcd58 __bailout = {{__jmpbuf = {120, 135913112, -1079137388, -1079128904, 1084730224, 1215097003}, __mask_was_saved = 0, __saved_mask = {__val = {3215838228, 137656680, 3215838264, 3082950263, 3082949408, 137652480, 135913112, 3080626246, 3215838344, 1084738496, 1215092897, 0, 137659192, 137656888, 9, 3082911753, 3086709134, 137656696, 137660591, 0, 429496729, 5, 0, 0, 0, 0, 0, 267, 137659328, 3082498036, 135913112, 3082912532}}}} prepend_file_p = (zend_file_handle *) 0x0 append_file_p = (zend_file_handle *) 0x0 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 = 0xbfadaba0 "/home/edman007/public_html/test" retval = 0 #71369 0xb7739c7e in php_handler (r=0x8346900) at /root/php-5.2-cvs/php5.2-200708171430/sapi/apache2handler/sapi_apache2.c:631 zfd = {type = 5 '\005', filename = 0x8347b90 "/home/edman007/public_html/test/server.php", opened_path = 0x0, handle = {fd = 137363904, fp = 0x83001c0, stream = {handle = 0x83001c0, reader = 0xb768379d <_php_stream_read>, closer = 0xb766d251 <stream_closer_for_zend>, fteller = 0xb766d26c <stream_fteller_for_zend>, interactive = 0}}, free_filename = 0 '\0'} __orig_bailout = (jmp_buf *) 0x0 __bailout = {{__jmpbuf = {120, 135913112, -1214341050, -1079128488, 1084738752, 1215928694}, __mask_was_saved = 0, __saved_mask = {__val = {137652480, 3215838616, 134957329, 135913088, 137658920, 24, 137658931, 137658931, 137658920, 3215838760, 134987156, 137652480, 137658920, 11, 0, 2, 137652480, 4, 0, 0, 0, 3215838696, 3082947940, 6, 137652400, 3215838760, 135046993, 3215838744, 1, 8, 20, 1}}}} ctx = (php_struct * volatile) 0x8348248 conf = (void *) 0x81661e0 brigade = (apr_bucket_brigade * volatile) 0x8348380 bucket = (apr_bucket *) 0x0 ---Type <return> to continue, or q <return> to quit--- rv = 0 parent_req = (request_rec * volatile) 0x0 #71370 0x0807da2a in ap_invoke_handler () No symbol table info available. #71371 0x080b754f in ap_process_request () No symbol table info available. #71372 0x080b43b0 in ap_process_http_connection () No symbol table info available. #71373 0x0808330b in ap_process_connection () No symbol table info available. #71374 0x080d449d in child_main () No symbol table info available. #71375 0x080d47a8 in make_child () No symbol table info available. #71376 0x080d543c in ap_mpm_run () No symbol table info available. #71377 0x080685ca in main () No symbol table info available. ------------------------------------------------------------------------ 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/42326 -- Edit this bug report at http://bugs.php.net/?id=42326&edit=1