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]