Hey Everyone,

I recently started using xmlrpc for a testing framework that I'm developing 
and I found that as I pushed the amount of simultaneous requests on an 
XmlRpcclient up I could get the execute stuck somewhere in the IO land. Now I 
have a stack trace that shows for more than one instance where things are 
stuck:

"DTFWorker-13" prio=10 tid=0x083c0000 nid=0x77d2 runnable 
[0xad030000..0xad030f30]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
        - locked <0xae28b3c8> (a java.io.BufferedInputStream)
        at org.apache.xmlrpc.util.HttpUtil.readLine(HttpUtil.java:130)
        at 
org.apache.xmlrpc.client.XmlRpcLiteHttpTransport.getInputStream(XmlRpcLiteHttpTransport.java:209)
        at 
org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:141)
        at 
org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:94)
        at 
org.apache.xmlrpc.client.XmlRpcLiteHttpTransport.sendRequest(XmlRpcLiteHttpTransport.java:75)
        at 
org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53)

and

"DTFWorker-11" prio=10 tid=0x083b4400 nid=0x77d0 runnable 
[0xad0d2000..0xad0d3030]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
        - locked <0xae25c180> (a java.io.BufferedInputStream)
        at org.apache.xmlrpc.util.HttpUtil.readLine(HttpUtil.java:130)
        at 
org.apache.xmlrpc.client.XmlRpcLiteHttpTransport.getInputStream(XmlRpcLiteHttpTransport.java:209)
        at 
org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:141)
        at 
org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:94)
        at 
org.apache.xmlrpc.client.XmlRpcLiteHttpTransport.sendRequest(XmlRpcLiteHttpTransport.java:75)
        at 
org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53)

Now I've been able to work around this by setting a client side timeout of 3s 
and then retrying the operation upto 3 times. That is a workaround but its 
just masking the real bug. 

I'm running xmlrpc 3.1 and as you can see in the trace I am using the LiteHttp 
client. The server side is the WebServer class that is supplied with the 
xmlrpc library.

let me know if there is anything else that would be helpful to figure out the 
issue here.

Regards,
Rodney.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to