[
https://issues.apache.org/jira/browse/XMLRPC-168?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alan Burlison updated XMLRPC-168:
---------------------------------
Description:
When running a XML-RPC server under heavy load, it eventually deadlocks inside
the thread pool that manages the 'worker' threads which handle the individual
XML-RPC requests - the classes involved are org.apache.xmlrpc.util.ThreadPool
and org.apache.xmlrpc.util.ThreadPool$Poolable. jstack on the hung process
shows:
----------
Found one Java-level deadlock:
=============================
"XML-RPC-13":
waiting to lock monitor 0x08d10bec (object 0xbb6959c0, a
org.apache.xmlrpc.util.ThreadPool),
which is held by "XML-RPC Weblistener"
"XML-RPC Weblistener":
waiting to lock monitor 0x08d1186c (object 0xbd2ed340, a
org.apache.xmlrpc.util.ThreadPool$Poolable$1),
which is held by "XML-RPC-2"
"XML-RPC-2":
waiting to lock monitor 0x08d112f4 (object 0xbd2ed570, a
org.apache.xmlrpc.util.ThreadPool$Poolable),
which is held by "XML-RPC Weblistener"
Java stack information for the threads listed above:
===================================================
"XML-RPC-13":
at org.apache.xmlrpc.util.ThreadPool.repool(Unknown Source)
- waiting to lock <0xbb6959c0> (a org.apache.xmlrpc.util.ThreadPool)
at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(Unknown Source)
"XML-RPC Weblistener":
at org.apache.xmlrpc.util.ThreadPool$Poolable.start(Unknown Source)
- waiting to lock <0xbd2ed340> (a
org.apache.xmlrpc.util.ThreadPool$Poolable$1)
- locked <0xbd2ed570> (a org.apache.xmlrpc.util.ThreadPool$Poolable)
at org.apache.xmlrpc.util.ThreadPool.startTask(Unknown Source)
- locked <0xbb6959c0> (a org.apache.xmlrpc.util.ThreadPool)
at org.apache.xmlrpc.webserver.WebServer.run(Unknown Source)
at java.lang.Thread.run(Thread.java:619)
"XML-RPC-2":
at org.apache.xmlrpc.util.ThreadPool$Poolable.isShuttingDown(Unknown
Source)
- waiting to lock <0xbd2ed570> (a
org.apache.xmlrpc.util.ThreadPool$Poolable)
at org.apache.xmlrpc.util.ThreadPool$Poolable.access$000(Unknown Source)
at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(Unknown Source)
- locked <0xbd2ed340> (a org.apache.xmlrpc.util.ThreadPool$Poolable$1)
Found 1 deadlock.
----------
And another slight variant on the above:
----------
Found one Java-level deadlock:
=============================
"XML-RPC-9":
waiting to lock monitor 0x0850dfb4 (object 0xf973c5a8, a
org.apache.xmlrpc.util.ThreadPool),
which is held by "XML-RPC Weblistener"
"XML-RPC Weblistener":
waiting to lock monitor 0x0854cda4 (object 0xf9730398, a
org.apache.xmlrpc.util.ThreadPool$Poolable$1),
which is held by "XML-RPC-3"
"XML-RPC-3":
waiting to lock monitor 0x0850df50 (object 0xf973fa38, a
org.apache.xmlrpc.util.ThreadPool$Poolable),
which is held by "XML-RPC Weblistener"
Java stack information for the threads listed above:
===================================================
"XML-RPC-9":
at org.apache.xmlrpc.util.ThreadPool.repool(ThreadPool.java:147)
- waiting to lock <0xf973c5a8> (a org.apache.xmlrpc.util.ThreadPool)
at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:71)
"XML-RPC Weblistener":
at org.apache.xmlrpc.util.ThreadPool$Poolable.start(ThreadPool.java:118)
- waiting to lock <0xf9730398> (a
org.apache.xmlrpc.util.ThreadPool$Poolable$1)
- locked <0xf973fa38> (a org.apache.xmlrpc.util.ThreadPool$Poolable)
at org.apache.xmlrpc.util.ThreadPool.startTask(ThreadPool.java:179)
- locked <0xf973c5a8> (a org.apache.xmlrpc.util.ThreadPool)
at org.apache.xmlrpc.webserver.WebServer.run(WebServer.java:338)
at java.lang.Thread.run(Thread.java:619)
"XML-RPC-3":
at
org.apache.xmlrpc.util.ThreadPool$Poolable.getTask(ThreadPool.java:108)
- waiting to lock <0xf973fa38> (a
org.apache.xmlrpc.util.ThreadPool$Poolable)
at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:60)
- locked <0xf9730398> (a org.apache.xmlrpc.util.ThreadPool$Poolable$1)
Found 1 deadlock.
----------
was:
When running a XML-RPC server under heavu load, it eventually deadlocks inside
the thread pool that manages the 'worker' threads which handle the individual
XML-RPC requests - the classes involved are org.apache.xmlrpc.util.ThreadPool
and org.apache.xmlrpc.util.ThreadPool$Poolable. jstack on the hung process
shows:
----------
Found one Java-level deadlock:
=============================
"XML-RPC-13":
waiting to lock monitor 0x08d10bec (object 0xbb6959c0, a
org.apache.xmlrpc.util.ThreadPool),
which is held by "XML-RPC Weblistener"
"XML-RPC Weblistener":
waiting to lock monitor 0x08d1186c (object 0xbd2ed340, a
org.apache.xmlrpc.util.ThreadPool$Poolable$1),
which is held by "XML-RPC-2"
"XML-RPC-2":
waiting to lock monitor 0x08d112f4 (object 0xbd2ed570, a
org.apache.xmlrpc.util.ThreadPool$Poolable),
which is held by "XML-RPC Weblistener"
Java stack information for the threads listed above:
===================================================
"XML-RPC-13":
at org.apache.xmlrpc.util.ThreadPool.repool(Unknown Source)
- waiting to lock <0xbb6959c0> (a org.apache.xmlrpc.util.ThreadPool)
at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(Unknown Source)
"XML-RPC Weblistener":
at org.apache.xmlrpc.util.ThreadPool$Poolable.start(Unknown Source)
- waiting to lock <0xbd2ed340> (a
org.apache.xmlrpc.util.ThreadPool$Poolable$1)
- locked <0xbd2ed570> (a org.apache.xmlrpc.util.ThreadPool$Poolable)
at org.apache.xmlrpc.util.ThreadPool.startTask(Unknown Source)
- locked <0xbb6959c0> (a org.apache.xmlrpc.util.ThreadPool)
at org.apache.xmlrpc.webserver.WebServer.run(Unknown Source)
at java.lang.Thread.run(Thread.java:619)
"XML-RPC-2":
at org.apache.xmlrpc.util.ThreadPool$Poolable.isShuttingDown(Unknown
Source)
- waiting to lock <0xbd2ed570> (a
org.apache.xmlrpc.util.ThreadPool$Poolable)
at org.apache.xmlrpc.util.ThreadPool$Poolable.access$000(Unknown Source)
at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(Unknown Source)
- locked <0xbd2ed340> (a org.apache.xmlrpc.util.ThreadPool$Poolable$1)
Found 1 deadlock.
----------
> XML-RPC server deadlocks under heavy load
> -----------------------------------------
>
> Key: XMLRPC-168
> URL: https://issues.apache.org/jira/browse/XMLRPC-168
> Project: XML-RPC
> Issue Type: Bug
> Components: Source
> Affects Versions: 3.1.2
> Environment: Soalris
> Reporter: Alan Burlison
>
> When running a XML-RPC server under heavy load, it eventually deadlocks
> inside the thread pool that manages the 'worker' threads which handle the
> individual XML-RPC requests - the classes involved are
> org.apache.xmlrpc.util.ThreadPool and
> org.apache.xmlrpc.util.ThreadPool$Poolable. jstack on the hung process shows:
> ----------
> Found one Java-level deadlock:
> =============================
> "XML-RPC-13":
> waiting to lock monitor 0x08d10bec (object 0xbb6959c0, a
> org.apache.xmlrpc.util.ThreadPool),
> which is held by "XML-RPC Weblistener"
> "XML-RPC Weblistener":
> waiting to lock monitor 0x08d1186c (object 0xbd2ed340, a
> org.apache.xmlrpc.util.ThreadPool$Poolable$1),
> which is held by "XML-RPC-2"
> "XML-RPC-2":
> waiting to lock monitor 0x08d112f4 (object 0xbd2ed570, a
> org.apache.xmlrpc.util.ThreadPool$Poolable),
> which is held by "XML-RPC Weblistener"
> Java stack information for the threads listed above:
> ===================================================
> "XML-RPC-13":
> at org.apache.xmlrpc.util.ThreadPool.repool(Unknown Source)
> - waiting to lock <0xbb6959c0> (a org.apache.xmlrpc.util.ThreadPool)
> at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(Unknown Source)
> "XML-RPC Weblistener":
> at org.apache.xmlrpc.util.ThreadPool$Poolable.start(Unknown Source)
> - waiting to lock <0xbd2ed340> (a
> org.apache.xmlrpc.util.ThreadPool$Poolable$1)
> - locked <0xbd2ed570> (a org.apache.xmlrpc.util.ThreadPool$Poolable)
> at org.apache.xmlrpc.util.ThreadPool.startTask(Unknown Source)
> - locked <0xbb6959c0> (a org.apache.xmlrpc.util.ThreadPool)
> at org.apache.xmlrpc.webserver.WebServer.run(Unknown Source)
> at java.lang.Thread.run(Thread.java:619)
> "XML-RPC-2":
> at org.apache.xmlrpc.util.ThreadPool$Poolable.isShuttingDown(Unknown
> Source)
> - waiting to lock <0xbd2ed570> (a
> org.apache.xmlrpc.util.ThreadPool$Poolable)
> at org.apache.xmlrpc.util.ThreadPool$Poolable.access$000(Unknown Source)
> at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(Unknown Source)
> - locked <0xbd2ed340> (a org.apache.xmlrpc.util.ThreadPool$Poolable$1)
> Found 1 deadlock.
> ----------
> And another slight variant on the above:
> ----------
> Found one Java-level deadlock:
> =============================
> "XML-RPC-9":
> waiting to lock monitor 0x0850dfb4 (object 0xf973c5a8, a
> org.apache.xmlrpc.util.ThreadPool),
> which is held by "XML-RPC Weblistener"
> "XML-RPC Weblistener":
> waiting to lock monitor 0x0854cda4 (object 0xf9730398, a
> org.apache.xmlrpc.util.ThreadPool$Poolable$1),
> which is held by "XML-RPC-3"
> "XML-RPC-3":
> waiting to lock monitor 0x0850df50 (object 0xf973fa38, a
> org.apache.xmlrpc.util.ThreadPool$Poolable),
> which is held by "XML-RPC Weblistener"
> Java stack information for the threads listed above:
> ===================================================
> "XML-RPC-9":
> at org.apache.xmlrpc.util.ThreadPool.repool(ThreadPool.java:147)
> - waiting to lock <0xf973c5a8> (a org.apache.xmlrpc.util.ThreadPool)
> at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:71)
> "XML-RPC Weblistener":
> at org.apache.xmlrpc.util.ThreadPool$Poolable.start(ThreadPool.java:118)
> - waiting to lock <0xf9730398> (a
> org.apache.xmlrpc.util.ThreadPool$Poolable$1)
> - locked <0xf973fa38> (a org.apache.xmlrpc.util.ThreadPool$Poolable)
> at org.apache.xmlrpc.util.ThreadPool.startTask(ThreadPool.java:179)
> - locked <0xf973c5a8> (a org.apache.xmlrpc.util.ThreadPool)
> at org.apache.xmlrpc.webserver.WebServer.run(WebServer.java:338)
> at java.lang.Thread.run(Thread.java:619)
> "XML-RPC-3":
> at
> org.apache.xmlrpc.util.ThreadPool$Poolable.getTask(ThreadPool.java:108)
> - waiting to lock <0xf973fa38> (a
> org.apache.xmlrpc.util.ThreadPool$Poolable)
> at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:60)
> - locked <0xf9730398> (a org.apache.xmlrpc.util.ThreadPool$Poolable$1)
> Found 1 deadlock.
> ----------
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.