Re: Problem with XmlRpcClient.execute()
Hi Alan Now I have been able to recreate the problem and can post the stack traces. I have actually one client and one server on each machine, but in the example below the call from the client to the server does not return. *On the client side:* /XML-RPC-1 prio=6 tid=0x02bf1c00 nid=0xd70 in Object.wait() [0x03a7f000..0x03a7fd14] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:60) - locked 0x22f506b8 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) Locked ownable synchronizers: - None XML-RPC-0 prio=6 tid=0x02c8a400 nid=0xb00 in Object.wait() [0x036df000..0x036dfb14] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:60) - locked 0x22f42870 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) Locked ownable synchronizers: - None XML-RPC Weblistener prio=6 tid=0x03008800 nid=0x798 runnable [0x037df000..0x037dfb94] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(Unknown Source) - locked 0x22f13ec8 (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(Unknown Source) at java.net.ServerSocket.accept(Unknown Source) at org.apache.xmlrpc.webserver.WebServer.run(WebServer.java:326) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None/ *On the server side:* /XML-RPC-2 prio=6 tid=0x030e9400 nid=0xe64 waiting for monitor entry [0x035af000..0x035afa94] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.xmlrpc.util.ThreadPool$Poolable.getTask(ThreadPool.java:99) - waiting to lock 0x09293ac0 (a org.apache.xmlrpc.util.ThreadPool$Poolable) at org.apache.xmlrpc.util.ThreadPool$Poolable.access$100(ThreadPool.java:47) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:59) - locked 0x09293a50 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) Locked ownable synchronizers: - None XML-RPC-1 prio=6 tid=0x02d2f000 nid=0x26c in Object.wait() [0x03baf000..0x03bafb14] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on 0x0928f800 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) at java.lang.Object.wait(Object.java:485) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:60) - locked 0x0928f800 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) Locked ownable synchronizers: - None XML-RPC-0 prio=6 tid=0x02d3c800 nid=0x3d0 in Object.wait() [0x03b5f000..0x03b5fb94] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on 0x0928e1e0 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) at java.lang.Object.wait(Object.java:485) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:60) - locked 0x0928e1e0 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) Locked ownable synchronizers: - None XML-RPC Weblistener prio=6 tid=0x0309b400 nid=0x584 waiting for monitor entry [0x0340f000..0x0340fb94] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.xmlrpc.util.ThreadPool$Poolable.start(ThreadPool.java:107) - waiting to lock 0x09293a50 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) - locked 0x09293ac0 (a org.apache.xmlrpc.util.ThreadPool$Poolable) at org.apache.xmlrpc.util.ThreadPool.startTask(ThreadPool.java:168) - locked 0x091a3c60 (a org.apache.xmlrpc.util.ThreadPool) at org.apache.xmlrpc.webserver.WebServer.run(WebServer.java:338) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None Found one Java-level deadlock: = XML-RPC-2: waiting to lock monitor 0x030fd5bc (object 0x09293ac0, a org.apache.xmlrpc.util.ThreadPool$Poolable), which is held by XML-RPC Weblistener XML-RPC Weblistener: waiting to lock monitor 0x030a6134 (object 0x09293a50, a org.apache.xmlrpc.util.ThreadPool$Poolable$1), which is held by XML-RPC-2 Java stack information for the threads listed above: === XML-RPC-2: at org.apache.xmlrpc.util.ThreadPool$Poolable.getTask(ThreadPool.java:99) - waiting to lock 0x09293ac0 (a org.apache.xmlrpc.util.ThreadPool$Poolable) at org.apache.xmlrpc.util.ThreadPool$Poolable.access$100(ThreadPool.java:47) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:59) - locked 0x09293a50 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) XML-RPC Weblistener: at org.apache.xmlrpc.util.ThreadPool$Poolable.start(ThreadPool.java:107) - waiting to lock 0x09293a50 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) - locked 0x09293ac0 (a
Re: Problem with XmlRpcClient.execute()
Funny, looks like https://issues.apache.org/jira/browse/XMLRPC-168 Checkout and build the latest version from SVN. On Sat, May 9, 2009 at 11:21 PM, Lars Schnoor lars.schn...@ifad.dk wrote: Hi Alan Now I have been able to recreate the problem and can post the stack traces. I have actually one client and one server on each machine, but in the example below the call from the client to the server does not return. *On the client side:* /XML-RPC-1 prio=6 tid=0x02bf1c00 nid=0xd70 in Object.wait() [0x03a7f000..0x03a7fd14] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:60) - locked 0x22f506b8 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) Locked ownable synchronizers: - None XML-RPC-0 prio=6 tid=0x02c8a400 nid=0xb00 in Object.wait() [0x036df000..0x036dfb14] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:60) - locked 0x22f42870 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) Locked ownable synchronizers: - None XML-RPC Weblistener prio=6 tid=0x03008800 nid=0x798 runnable [0x037df000..0x037dfb94] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(Unknown Source) - locked 0x22f13ec8 (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(Unknown Source) at java.net.ServerSocket.accept(Unknown Source) at org.apache.xmlrpc.webserver.WebServer.run(WebServer.java:326) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None/ *On the server side:* /XML-RPC-2 prio=6 tid=0x030e9400 nid=0xe64 waiting for monitor entry [0x035af000..0x035afa94] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.xmlrpc.util.ThreadPool$Poolable.getTask(ThreadPool.java:99) - waiting to lock 0x09293ac0 (a org.apache.xmlrpc.util.ThreadPool$Poolable) at org.apache.xmlrpc.util.ThreadPool$Poolable.access$100(ThreadPool.java:47) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:59) - locked 0x09293a50 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) Locked ownable synchronizers: - None XML-RPC-1 prio=6 tid=0x02d2f000 nid=0x26c in Object.wait() [0x03baf000..0x03bafb14] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on 0x0928f800 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) at java.lang.Object.wait(Object.java:485) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:60) - locked 0x0928f800 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) Locked ownable synchronizers: - None XML-RPC-0 prio=6 tid=0x02d3c800 nid=0x3d0 in Object.wait() [0x03b5f000..0x03b5fb94] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on 0x0928e1e0 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) at java.lang.Object.wait(Object.java:485) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:60) - locked 0x0928e1e0 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) Locked ownable synchronizers: - None XML-RPC Weblistener prio=6 tid=0x0309b400 nid=0x584 waiting for monitor entry [0x0340f000..0x0340fb94] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.xmlrpc.util.ThreadPool$Poolable.start(ThreadPool.java:107) - waiting to lock 0x09293a50 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) - locked 0x09293ac0 (a org.apache.xmlrpc.util.ThreadPool$Poolable) at org.apache.xmlrpc.util.ThreadPool.startTask(ThreadPool.java:168) - locked 0x091a3c60 (a org.apache.xmlrpc.util.ThreadPool) at org.apache.xmlrpc.webserver.WebServer.run(WebServer.java:338) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - None Found one Java-level deadlock: = XML-RPC-2: waiting to lock monitor 0x030fd5bc (object 0x09293ac0, a org.apache.xmlrpc.util.ThreadPool$Poolable), which is held by XML-RPC Weblistener XML-RPC Weblistener: waiting to lock monitor 0x030a6134 (object 0x09293a50, a org.apache.xmlrpc.util.ThreadPool$Poolable$1), which is held by XML-RPC-2 Java stack information for the threads listed above: === XML-RPC-2: at org.apache.xmlrpc.util.ThreadPool$Poolable.getTask(ThreadPool.java:99) - waiting to lock 0x09293ac0 (a org.apache.xmlrpc.util.ThreadPool$Poolable) at org.apache.xmlrpc.util.ThreadPool$Poolable.access$100(ThreadPool.java:47) at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:59) - locked 0x09293a50 (a org.apache.xmlrpc.util.ThreadPool$Poolable$1) XML-RPC
Re: Problem with XmlRpcClient.execute()
Jochen Wiedmann wrote: Funny, looks like https://issues.apache.org/jira/browse/XMLRPC-168 Yes, the symptoms looked kinda similar, which I why I asked for the jstack output :-) -- Alan Burlison --