HashMap.get Causes High CPU or Stuck Threads in BPELXPathFunctionResolver (Doc ID 1317431.1)

Last updated on NOVEMBER 21, 2013

Applies to:

Oracle(R) BPEL Process Manager - Version 11.1.1.3.0 and later
Information in this document applies to any platform.

Symptoms

You see multiple stuck threads caught in an unsynchronized HashMap being accessed by mutliple threads. The Hashmap updates need to be synchronized.

Below is the output observed for a stuck thread in the thread dump.  The output is observed even when the thread has been stuck for more than the configured time (StuckThreadMaxTime) of "1,200" seconds.

Stack trace:
----------------

Thread-19 "[STUCK] ExecuteThread: '0' for queue: 'weblogic.kernel.Default
(self-tuning)'" <alive, suspended, priority=1, DAEMON> {
java.util.HashMap.get(HashMap.java:368)

com.collaxa.cube.xml.xpath.BPELXPathFunctionResolver.resolveFunction(BPELXPath
FunctionResolver.java:74)
oracle.xml.xpath.JXPathContext.getFunction(JXPathContext.java:71)
oracle.xml.xpath.XSLParseString.getFunction(XSLParseString.java:251)
oracle.xml.xpath.XPathExtFunction.parse(XPathExtFunction.java:85)
oracle.xml.xpath.XPathFilterExpr.getPrimaryExpr(XPathFilterExpr.java:173)

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms