Hi
Would it be possible to get the newest version as a precompiled binary? I am unfortunately not familiar with SVN, only CVS.

Lars

Jochen Wiedmann wrote:
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 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 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)

Found 1 deadlock./

Lars

Alan Burlison wrote:
Lars Schnoor wrote:

Hi Alan
What is jstack and how do I run it?
It is a Java utility that allows you to see what the JVM is doing, and it
comes as part of the standard install on all platforms except Windows.  You
should find it in your Java bin directory, e.g. /usr/java/bin.

You should also see if there are any deadlocks reported at the end of the
output.

See http://java.sun.com/javase/6/docs/technotes/tools/share/jstack.html




Reply via email to