php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #42326 SoapServer crash
Submitted: 2007-08-17 07:30 UTC Modified: 2007-08-31 08:07 UTC
From: edman007 at edman007 dot com Assigned: dmitry (profile)
Status: Closed Package: SOAP related
PHP Version: 5.2-CVS-2007-08-16 OS: Linux
Private report: No CVE-ID: None
 [2007-08-17 07:30 UTC] edman007 at edman007 dot com
Description:
------------
When running the provided code SoapClient can parse the wsdl file just fine but the server segfaults upon receiving the request

Reproduce code:
---------------
1. download the code from http://edman007.com/test.tar.gz
2. edit the OSCAdmin.wsdl so that the "http://localhost/~edman007/test/server.php" points to your server.php
3. Run client.php

Expected result:
----------------
PHP to remain stable, and either successfully pull the data from the server or a SoapFault

Actual result:
--------------
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1210508384 (LWP 26987)]
zend_hash_find (ht=0xb70f8568, arKey=0x8189374 "http://www.example.com/:productDetailsType", nKeyLength=43, pData=0xb70f8568) at /home/edman007/php-upgrade/php-5.2.3/Zend/zend_hash.c:870
870             h = zend_inline_hash_func(arKey, nKeyLength);
(gdb) 
(gdb) bt full 15
#0  zend_hash_find (ht=0xb70f8568, arKey=0x8189374 "http://www.example.com/:productDetailsType", nKeyLength=43, pData=0xb70f8568) at /home/edman007/php-upgrade/php-5.2.3/Zend/zend_hash.c:870
        h = 135828340
        nIndex = 3067893742
        p = (Bucket *) 0x0
#1  0xb6cc21f1 in get_encoder_ex (sdl=0x818afc8, nscat=0x8189374 "http://www.example.com/:productDetailsType", len=42) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_sdl.c:172
        enc = (encodePtr *) 0x0
#2  0xb6cc1f60 in get_encoder (sdl=0x818afc8, ns=0x818a4c0 "http://www.example.com/", type=0x818b88c "productDetailsType") at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_sdl.c:124
        enc = 0xb70b8b94
        nscat = 0x8189374 "http://www.example.com/:productDetailsType"
        len = 42
#3  0xb6ca8273 in master_to_xml (encode=0xb70da99c, data=0x81892a8, style=2, parent=0x823c1a8) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:442
        enc = 0xb70f8568
        ce = (zend_class_entry *) 0x818a53c
        tmp = (zval **) 0x818b878
        type_len = 19
        idx = 3067894481
        pos = 0x818b86c
        type_name = 0x818b88c "productDetailsType"
        node = 0x0
#4  0xb6caf2b8 in guess_xml_convert (type=0x818b02c, data=0x81892a8, style=2, parent=0x823c1a8) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:2677
        enc = 0xb70f8568
        ret = 0xb70f8568
#5  0xb6cb05e2 in sdl_guess_convert_xml (enc=0x818b02c, data=0x81892a8, style=2, parent=0x2) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:3100
        type = 0x2b
        ret = 0x0
#6  0xb6ca806f in master_to_xml (encode=0x818b02c, data=0x81892a8, style=2, parent=0x823c1a8) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:475
        __nl = 3211682312
        nscat = {c = 0x80a8178 "\001", len = 135828340, a = 3211682376}
        new_enc = (encodePtr *) 0x0
        node = 0x0
#7  0xb6caf2b8 in guess_xml_convert (type=0x818b02c, data=0x81892a8, style=2, parent=0x823c1a8) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:2677
        enc = 0xb70f8568
        ret = 0xb70f8568
#8  0xb6cb05e2 in sdl_guess_convert_xml (enc=0x818b02c, data=0x81892a8, style=2, parent=0x2) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:3100
        type = 0x2b
        ret = 0x0
#9  0xb6ca806f in master_to_xml (encode=0x818b02c, data=0x81892a8, style=2, parent=0x823c1a8) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:475
        __nl = 3211682552
        nscat = {c = 0x80a8178 "\001", len = 135828340, a = 3211682616}
        new_enc = (encodePtr *) 0x0
        node = 0x0
#10 0xb6caf2b8 in guess_xml_convert (type=0x818b02c, data=0x81892a8, style=2, parent=0x823c1a8) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:2677
        enc = 0xb70f8568
        ret = 0xb70f8568
#11 0xb6cb05e2 in sdl_guess_convert_xml (enc=0x818b02c, data=0x81892a8, style=2, parent=0x2) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:3100
        type = 0x2b
        ret = 0x0
#12 0xb6ca806f in master_to_xml (encode=0x818b02c, data=0x81892a8, style=2, parent=0x823c1a8) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:475
        __nl = 3211682792
        nscat = {c = 0x80a8178 "\001", len = 135828340, a = 3211682856}
        new_enc = (encodePtr *) 0x0
        node = 0x0
#13 0xb6caf2b8 in guess_xml_convert (type=0x818b02c, data=0x81892a8, style=2, parent=0x823c1a8) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:2677
        enc = 0xb70f8568
        ret = 0xb70f8568
#14 0xb6cb05e2 in sdl_guess_convert_xml (enc=0x818b02c, data=0x81892a8, style=2, parent=0x2) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:3100
        type = 0x2b
        ret = 0x0
(More stack frames follow...)

(gdb) bt full -25
#104664 0xb6ca806f in master_to_xml (encode=0x818b02c, data=0x81892a8, style=2, parent=0x823c1a8) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:475
        __nl = 135832660
        nscat = {c = 0x8187960 "products", len = 8, a = 135832660}
        new_enc = (encodePtr *) 0xb70b8b94
        node = 0x0
#104665 0xb6cab96d in model_to_xml_object (node=0x823c1a8, model=0x8189bd8, object=0xbfee29a0, style=2, strict=1) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:1601
        data = (zval *) 0x81892a8
        property = 0x23
        enc = 0x818b02c
#104666 0xb6cabcb9 in model_to_xml_object (node=0x823c1a8, model=0x8189b68, object=0xbfee29a0, style=2, strict=1) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:1677
        tmp = (sdlContentModelPtr *) 0x8189bfc
        pos = 0x8189bf0
#104667 0xb6cac23d in to_xml_object (type=0x818bc68, data=0xbfee29a0, style=2, parent=0x81891f8) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:1854
        array_el = 0x81891f8
        xmlParam = 0x823c1a8
        prop = (HashTable *) 0x81891f8
        i = 135827960
        sdlType = 0x818ba6c
#104668 0xb6ca806f in master_to_xml (encode=0x818bc68, data=0xbfee29a0, style=2, parent=0x823c108) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/php_encoding.c:475
        __nl = 3220055512
        nscat = {c = 0x81891d4 "(?\030\b", len = 32, a = 3220055640}
        new_enc = (encodePtr *) 0x818bb54
        node = 0x0
#104669 0xb6ca4277 in serialize_zval (val=0x8189374, param=0xb70f8568, paramName=0x818a310 "out", style=2, parent=0x823c108) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/soap.c:4267
        xmlParam = 0xb6df838c
        enc = 0x818bc68
        defval = {value = {lval = -1074910816, dval = -1.4359979421946516e-39, str = {val = 0xbfee29a0 "\004", len = -1210104332}, ht = 0xbfee29a0, obj = {handle = 3220056480, handlers = 0xb7df45f4}}, 
  refcount = 32, type = 148 '\224', is_ref = 139 '\213'}
#104670 0xb6ca4192 in serialize_parameter (param=0x818a2cc, param_val=0xbfee29a0, index=0, name=0xb7071a28 "return", style=2, parent=0x823c108) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/soap.c:4240
        paramName = 0x818a310 "out"
        xmlParam = 0xb70f8568
        paramNameBuf = "t?\030\b\000\000\000\000?&"
#104671 0xb6ca2223 in serialize_response_call2 (body=0x823c108, function=0x818a10c, function_name=0x818bc08 "GetProductsResponse", uri=0x818bb20 "http://www.example.com/", ret=0xbfee29a0, version=1, 
    main=1) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/soap.c:3594
        method = 0x0
        param = 0x823c0b8
        parameter = 0x818a2cc
        param_count = -1223719576
        style = 1
        use = 2
        ns = 0xb7065582
#104672 0xb6ca25ec in serialize_response_call (function=0x818a10c, function_name=0x818bc08 "GetProductsResponse", uri=0x818bb20 "http://www.example.com/", ret=0xbfee29a0, headers=0x1, version=1)
    at /home/edman007/php-upgrade/php-5.2.3/ext/soap/soap.c:3973
        hdr_enc = 0xb70facb0
        hdr_ns = 0xbfee2a50 "L?\030\b\204?\030\b?\001$\b(\205\027\bd*??ж\030\b\230*??Thܶ8\211\030\b\030?\026\b\230*??\r"
        hdr_name = 0xbfee2a60 "d*??ж\030\b\230*??Thܶ8\211\030\b\030?\026\b\230*??\r"
        hdr_use = -1074901504
        hdr_ret = (zval *) 0x1
        h = (soapHeader *) 0xbfee2b40
        doc = 0x8238f40
        envelope = 0x823c0b8
        body = 0x823c108
        param = 0x818a3ec
        ns = 0x823c048
        use = 2
        head = 0x0
#104673 0xb6c9baf9 in zim_SoapServer_handle (ht=0, return_value=0x818b710, return_value_ptr=0x0, this_ptr=0x8189374, return_value_used=0) at /home/edman007/php-upgrade/php-5.2.3/ext/soap/soap.c:1814
        response_name = 0x818bc08 "GetProductsResponse"
        soap_version = 1
        old_soap_version = 1
        old_sdl = 0x0
        service = 0x818b7c8
        doc_request = 0x823bf88
---Type <return> to continue, or q <return> to quit---
        doc_return = 0x0
        function_name = {value = {lval = 135838572, dval = 2.3409066872423328e-313, str = {val = 0x818bb6c "GetProducts", len = 11}, ht = 0x818bb6c, obj = {handle = 135838572, handlers = 0xb}}, 
  refcount = 1, type = 6 '\006', is_ref = 0 '\0'}
        params = (zval **) 0x818bfa4
        soap_obj = (zval *) 0x0
        retval = {value = {lval = 4, dval = -1.7397722555026501e-43, str = {val = 0x4 <Address 0x4 out of bounds>, len = -1223751200}, ht = 0x4, obj = {handle = 4, handlers = 0xb70f09e0}}, refcount = 1, 
  type = 5 '\005', is_ref = 0 '\0'}
        fn_name = 0x818a410 "??\030\broducts"
        cont_len = "\022C۷\b?\026\b?)?\000\001\000\000\000ж\030\b@\217\030\b?)??\002y"
        num_params = 1
        size = -1074910952
        i = 135838728
        call_status = 0
        buf = (xmlChar *) 0xb <Address 0xb out of bounds>
        function_table = (HashTable *) 0x818b0b0
        soap_headers = (soapHeader *) 0x0
        function = 0x818a10c
        arg = 0x0
        arg_len = -1074910900
        old_encoding = 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
#104674 0xb6dfa673 in zend_do_fcall_common_helper_SPEC (execute_data=0xbfee2b40) at zend_vm_execute.h:200
        return_reference = 0 '\0'
        opline = (zend_op *) 0x8188dfc
        original_return_value = (zval **) 0x6
        current_scope = (zend_class_entry *) 0x0
        current_this = (zval *) 0x0
        should_change_scope = 1 '\001'
#104675 0xb6df9e39 in execute (op_array=0x8188770) at zend_vm_execute.h:92
        execute_data = {opline = 0x8188dfc, function_state = {function_symbol_table = 0xb70b8b94, function = 0x816e438, reserved = {0xb6dd4fff, 0x8188998, 0xbfee4e20, 0xbfee2b88}}, fbc = 0x816e438, 
  op_array = 0x8188770, object = 0x818b6d0, Ts = 0xbfee2a60, CVs = 0xbfee2a50, original_in_execution = 0 '\0', symbol_table = 0xb70facb0, prev_execute_data = 0x0, old_error_reporting = 0x0}
#104676 0xb6dde561 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /home/edman007/php-upgrade/php-5.2.3/Zend/zend.c:1134
        files = 0xbfee2c04 ""
        i = 1
        file_handle = (zend_file_handle *) 0xbfee4e20
        orig_op_array = (zend_op_array *) 0x0
        orig_retval_ptr_ptr = (zval **) 0x0
        local_retval = (zval *) 0x0
#104677 0xb6da00af in php_execute_script (primary_file=0xbfee4e20) at /home/edman007/php-upgrade/php-5.2.3/main/main.c:1794
        realfile = "settype\000\002\000\000\000xod?gettype\000\002\000\000\000\000\000??strval\000?\002\000\000\000u`k?doubleval\000\000\000\000\000??floatval\000\000\000\000\000\000\000?intval\000?\002\000\000\000\000???dns_get_record\000?getmxrr\000\002\000\000\000\000\000??dns_get_mx\000\000\000\000\000?checkdnsrr\000\000nqc?dns_check_record\000A\a?LO??\002\000\000\000\000\000\000?gethostb"...
        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 = 0xbfee2c10 "/mnt/hd/public_html/osc/emailOSC"
        retval = 0
#104678 0xb6e573ce in apache_php_module_main (r=0x8234c14, display_source_mode=0) at /home/edman007/php-upgrade/php-5.2.3/sapi/apache/sapi_apache.c:53
        retval = 0
        file_handle = {type = 5 '\005', filename = 0x82366d4 "/home/edman007/public_html/test/server.php", opened_path = 0x0, handle = {fd = 135825588, fp = 0x81888b4, stream = {handle = 0x81888b4, 
      reader = 0xb6db08d0 <_php_stream_read>, closer = 0xb6d9ebe0 <stream_closer_for_zend>, fteller = 0xb6d9ec10 <stream_fteller_for_zend>, interactive = 0}}, free_filename = 0 '\0'}
#104679 0xb6e58073 in send_php (r=0x8234c14, display_source_mode=0, filename=0x0) at /home/edman007/php-upgrade/php-5.2.3/sapi/apache/mod_php5.c:663
        __bailout = {{__jmpbuf = {-1223980140, 136530964, 2, -1074900968, -1074901392, -1226473573}, __mask_was_saved = 0, __saved_mask = {__val = {136539120, 136539172, 136539188, 136539172, 136539120, 
        136539092, 2, 3220066184, 3083972799, 136539172, 136539144, 0, 136539132, 136539188, 136539212, 0, 0, 24, 136530964, 3220066248, 134546373, 136539172, 136539172, 136539092, 134548767, 136532348, 
        3220066276, 23, 3083996786, 0, 136539211, 3220066360}}}}
        retval = 0
        per_dir_conf = (HashTable *) 0x8189374
---Type <return> to continue, or q <return> to quit---
#104680 0xb6e581c2 in send_parsed_php (r=0x8234c14) at /home/edman007/php-upgrade/php-5.2.3/sapi/apache/mod_php5.c:678
        result = 2
#104681 0x08054b3f in ap_invoke_handler ()
No symbol table info available.
#104682 0x0806a4db in ap_some_auth_required ()
No symbol table info available.
#104683 0x0806a53a in ap_process_request ()
No symbol table info available.
#104684 0x0806117c in ap_child_terminate ()
No symbol table info available.
#104685 0x0806134a in ap_child_terminate ()
No symbol table info available.
#104686 0x080614b0 in ap_child_terminate ()
No symbol table info available.
#104687 0x08061b50 in ap_child_terminate ()
No symbol table info available.
#104688 0x08062388 in main ()
No symbol table info available.
(gdb) 


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-08-17 16:01 UTC] 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.
 [2007-08-17 20:29 UTC] jani@php.net
Assigned to the maintainer of SOAP extension.
 [2007-08-31 08:07 UTC] dmitry@php.net
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.

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 10:01:29 2024 UTC