Re: 01.16.00 xmlrpc on windows ( utf related issues).

Troy Farrell <[email protected]> Tue, 13 Jan 2009 09:05:45 -0600
Newsgroups gmane.text.xml.rpc.specification
Message-ID <[email protected]>
Greetings Jay.

It seems by your log that you are passing invalid data to your method. 
UTF-8 can only represent values 0x00-0x7f in single-byte format.  When the 
value reaches0x80, two-byte representation is needed.  For example, 0x80 
is represented ("encoded") as 0xc280.  See the Wikipedia article on UTF0-8 
for more information:
http://en.wikipedia.org/wiki/UTF-8

You may also find your server's documentation (including the rant on 
XML-RPC strings) useful:
http://xmlrpc-c.sourceforge.net/doc/libxmlrpc.html#stringtype

Cheers.
Troy

[email protected] wrote on 01/13/2009 04:23:05 AM:

> [image removed] 
> 
> [xml-rpc] 01.16.00 xmlrpc on windows ( utf related issues).
> 
> jayshankar nair 
> 
> to:
> 
> xml-rpc
> 
> 01/13/2009 04:23 AM
> 
> Sent by:
> 
> [email protected]
> 
> Please respond to xml-rpc
> 
> Hi,
> 
> I am currently testing my application on windows with xmlrpc 01.16.
> 00. I am getting utf related problems. This occurs when i try to to 
> call function xmlrpc::value_struct const data(param1). It fails in 
> the utf8 routine.
> 
> XMLRPC Logs are as below. PLease let me know your opinion.
> 
> Thanks,
> Jay
> 
> value.cpp:value_struct:763
> value.cpp:value_struct:778
> value.cpp:value_struct:780
> value.cpp:value_struct:791
> xmlrpc_data.c:xmlrpc_INCREF:92 refcount= 1
> xmlrpc_data.c:xmlrpc_INCREF:94 ref count = 2 addr = 2f63338
> value.cpp:value_struct:793
> xmlrpc_data.c:xmlrpc_DECREF:101
> xmlrpc_data.c:xmlrpc_DECREF:105 addr=2f63338
> 106:refcount = 2
> 108:refcount = 1
> xmlrpc_data.c:xmlrpc_DECREF:109
> xmlrpc_data.c:xmlrpc_DECREF:113
> xmlrpc_data.c:xmlrpc_INCREF:92 refcount= 1
> xmlrpc_data.c:xmlrpc_INCREF:94 ref count = 2 addr = 2f0dde0
> xmlrpc_data.c:xmlrpc_DECREF:101
> xmlrpc_data.c:xmlrpc_DECREF:105 addr=2f0dde0
> 106:refcount = 2
> 108:refcount = 1
> xmlrpc_data.c:xmlrpc_DECREF:109
> xmlrpc_data.c:xmlrpc_DECREF:113
> value.cpp:operator=:136
> xmlrpc_data.c:xmlrpc_INCREF:92 refcount= 1
> xmlrpc_data.c:xmlrpc_INCREF:94 ref count = 2 addr = 2f0dde0
> xmlrpc_data.c:xmlrpc_DECREF:101
> xmlrpc_data.c:xmlrpc_DECREF:105 addr=2f0dde0
> 106:refcount = 2
> 108:refcount = 1
> xmlrpc_data.c:xmlrpc_DECREF:109
> xmlrpc_data.c:xmlrpc_DECREF:113
> xmlrpc_data.c:xmlrpc_INCREF:92 refcount= 1
> xmlrpc_data.c:xmlrpc_INCREF:94 ref count = 2 addr = 2f0dad8
> xmlrpc_data.c:xmlrpc_DECREF:101
> xmlrpc_data.c:xmlrpc_DECREF:105 addr=2f0dad8
> 106:refcount = 2
> 108:refcount = 1
> xmlrpc_data.c:xmlrpc_DECREF:109
> xmlrpc_data.c:xmlrpc_DECREF:113
> value.cpp:operator=:136
> xmlrpc_data.c:xmlrpc_INCREF:92 refcount= 1
> xmlrpc_data.c:xmlrpc_INCREF:94 ref count = 2 addr = 2f0dad8
> xmlrpc_data.c:xmlrpc_DECREF:101
> xmlrpc_data.c:xmlrpc_DECREF:105 addr=2f0dad8
> 106:refcount = 2
> 108:refcount = 1
> xmlrpc_data.c:xmlrpc_DECREF:109
> xmlrpc_data.c:xmlrpc_DECREF:113
> xmlrpc_data.c:xmlrpc_INCREF:92 refcount= 1
> xmlrpc_data.c:xmlrpc_INCREF:94 ref count = 2 addr = 2f50c00
> xmlrpc_data.c:xmlrpc_DECREF:101
> xmlrpc_data.c:xmlrpc_DECREF:105 addr=2f50c00
> 106:refcount = 2
> 108:refcount = 1
> xmlrpc_data.c:xmlrpc_DECREF:109
> xmlrpc_data.c:xmlrpc_DECREF:113
> value.cpp:operator=:136
> xmlrpc_data.c:xmlrpc_INCREF:92 refcount= 1
> xmlrpc_data.c:xmlrpc_INCREF:94 ref count = 2 addr = 2f50c00
> xmlrpc_data.c:xmlrpc_DECREF:101
> xmlrpc_data.c:xmlrpc_DECREF:105 addr=2f50c00
> 106:refcount = 2
> 108:refcount = 1
> xmlrpc_data.c:xmlrpc_DECREF:109
> xmlrpc_data.c:xmlrpc_DECREF:113
> xmlrpc_data.c:xmlrpc_INCREF:92 refcount= 1
> xmlrpc_data.c:xmlrpc_INCREF:94 ref count = 2 addr = 2efedb0
> xmlrpc_data.c:xmlrpc_DECREF:101
> xmlrpc_data.c:xmlrpc_DECREF:105 addr=2efedb0
> 106:refcount = 2
> 108:refcount = 1
> xmlrpc_data.c:xmlrpc_DECREF:109
> xmlrpc_data.c:xmlrpc_DECREF:113
> value.cpp:operator=:136
> xmlrpc_data.c:xmlrpc_INCREF:92 refcount= 1
> xmlrpc_data.c:xmlrpc_INCREF:94 ref count = 2 addr = 2efedb0
> xmlrpc_data.c:xmlrpc_DECREF:101
> xmlrpc_data.c:xmlrpc_DECREF:105 addr=2efedb0
> 106:refcount = 2
> 108:refcount = 1
> xmlrpc_data.c:xmlrpc_DECREF:109
> xmlrpc_data.c:xmlrpc_DECREF:113
> xmlrpc_data.c:xmlrpc_INCREF:92 refcount= 1
> xmlrpc_data.c:xmlrpc_INCREF:94 ref count = 2 addr = 2efeae0
> xmlrpc_data.c:xmlrpc_DECREF:101
> xmlrpc_data.c:xmlrpc_DECREF:105 addr=2efeae0
> 106:refcount = 2
> 108:refcount = 1
> xmlrpc_data.c:xmlrpc_DECREF:109
> xmlrpc_data.c:xmlrpc_DECREF:113
> value.cpp:operator=:136
> xmlrpc_data.c:xmlrpc_INCREF:92 refcount= 1
> xmlrpc_data.c:xmlrpc_INCREF:94 ref count = 2 addr = 2efeae0
> xmlrpc_data.c:xmlrpc_DECREF:101
> xmlrpc_data.c:xmlrpc_DECREF:105 addr=2efeae0
> 106:refcount = 2
> 108:refcount = 1
> xmlrpc_data.c:xmlrpc_DECREF:109
> xmlrpc_data.c:xmlrpc_DECREF:113
> 
> value.cpp:value_struct:763
> value.cpp:value_struct:778
> value.cpp:value_struct:780
> value.cpp:value_struct:784:0
> xmlrpc_data.c:xmlrpc_INCREF:92 refcount= 1
> xmlrpc_data.c:xmlrpc_INCREF:94 ref count = 2 addr = 2f50c00
> value.cpp:value_struct:788
> value.cpp:addToCStruct:206
> xmlrpc_struct.c:xmlrpc_struct_set_value_n:444
> xmlrpc_struct.c:xmlrpc_struct_set_value_n:453
> xmlrpc_build.c:xmlrpc_build_value:401
> xmlrpc_build.c:xmlrpc_build_value_va:372
> xmlrpc_build.c:xmlrpc_build_value_va:378
> xmlrpc_build.c:xmlrpc_build_value_va:381
> xmlrpc_build.c:getValue:264:s
> xmlrpc_build.c:getValue:285
> xmlrpc_build.c:getString:41
> xmlrpc_build.c:getString:48
> xmlrpc_string.c:xmlrpc_string_new_lp:731
> xmlrpc_string.c:stringNew:699
> xmlrpc_string.c:validateUtf:577
> xmlrpc_string.c:validateUtf:579
> value =c
> utf8.c:xmlrpc_validate_utf8:278
> utf8_data =c
> utf8.c:decode_utf8:145 c
> utf8.c:decode_utf8:146
> utf8.c:decode_utf8:148
> utf8.c:decode_utf8:150
> utf8.c:decode_utf8:153
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = c
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = d
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = e
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = f
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = g
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = h
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = i
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = j
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = k
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = l
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = m
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = n
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = o
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = p
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = q
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = r
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = s
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = t
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = u
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = v
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = w
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = x
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = y
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = z
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = {
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = |
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = }
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = ~
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = ⌂
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:167
> utf8.c:decode_utf8:160
> utf8.c:decode_utf8:161
> char = Ç
> utf8.c:decode_utf8:164
> utf8.c:decode_utf8:172
> utf8.c:decode_utf8:174
> utf8.c:decode_utf8:181
> length = 0( fault occured here).
> utf8.c:decode_utf8:266
> xmlrpc_string.c:stringNew:701
> xmlrpc_build.c:xmlrpc_build_value_va:383
> xmlrpc_build.c:xmlrpc_build_value:405
> xmlrpc_struct.c:xmlrpc_struct_set_value_n:456
> xmlrpc_struct.c:xmlrpc_struct_set_value_n:459
> xmlrpc_data.c:xmlrpc_DECREF:101
> xmlrpc_data.c:xmlrpc_DECREF:105 addr=ffffffff(invalid address)


[Non-text portions of this message have been removed]


------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/xml-rpc/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/xml-rpc/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[email protected] 
    mailto:[email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/