Blocked Lock Chains on: oracle/bpel/lang/v20/model/impl/InvokeImpl

(Doc ID 2352628.1)

Last updated on JANUARY 25, 2018

Applies to:

Oracle SOA Suite - Version 11.1.1.6.0 and later
Information in this document applies to any platform.

Symptoms

Composites queue processing problem is being caused by threads blocking the work when trying to update a hashmap



ERROR
-----------------------


Blocked lock chains
===================
...
Chain 19:
"orabpel.invoke.pool-4.thread-19" id=250 idx=0x3ec tid=13029 waiting for oracle/bpel/lang/v20/model/impl/InvokeImpl@0x47ac7f50 held by:
"orabpel.invoke.pool-4.thread-1" id=230 idx=0x3a0 tid=12974 in chain 4

Chain 20:
xb"orabpel.invoke.pool-4.thread-20" id=251 idx=0x3f0 tid=13030 waiting for oracle/bpel/lang/v20/model/impl/InvokeImpl@0x47ac7f50 held by:
"orabpel.invoke.pool-4.thread-1" id=230 idx=0x3a0 tid=12974 in chain 4

Open lock chains
================
Chain 1:
"ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'" id=27 idx=0x8c tid=8584 waiting for java/lang/String@0x7206eb90 held by:
"ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" id=26 idx=0x88 tid=8583 (active)

Chain 4:
"orabpel.invoke.pool-4.thread-2" id=231 idx=0x3a4 tid=12975 waiting for oracle/bpel/lang/v20/model/impl/InvokeImpl@0x47ac7f50 held by:
"orabpel.invoke.pool-4.thread-1" id=230 idx=0x3a0 tid=12974 (active)
"


The thread that has the lock is "orabpel.invoke.pool-4.thread-1" and it is trying to put data in the HashMap (Non threadsafe) using:

  at oracle/xml/parser/v2/XMLNode.setUserData(XMLNode.java:1980)

Here is a good portion of the thread:


"orabpel.invoke.pool-4.thread-1" id=230 idx=0x3a0 tid=12974 prio=5 alive, native_blocked
  at java/util/HashMap.transfer(HashMap.java:636)[optimized]
  at java/util/HashMap.resize(HashMap.java:569)[inlined]
  at java/util/HashMap.addEntry(HashMap.java:939)[optimized]
  at java/util/HashMap.put(HashMap.java:477)[optimized]
  at oracle/xml/parser/v2/XMLNode.setUserData(XMLNode.java:1980)
  at oracle/bpel/lang/v20/model/impl/ExtensibleElementImpl.doCreateElement(ExtensibleElementImpl.java:470)
  at oracle/dp/entity/impl/EmFacadeObjectImpl.getElement(EmFacadeObjectImpl.java:35)
  at oracle/bpel/lang/v20/model/impl/ExtensibleElementImpl.performDOMChange(ExtensibleElementImpl.java:675)
  at oracle/bpel/lang/v20/model/impl/ExtensibleElementImpl.doOnChange(ExtensibleElementImpl.java:604)
  at oracle/bpel/lang/v20/model/impl/ExtensibleElementImpl$DOMUpdater.notifyChanged(ExtensibleElementImpl.java:503)
  at oracle/dp/notify/impl/NotifierImpl.emNotify(NotifierImpl.java:39)
  at oracle/dp/entity/impl/EmHolderImpl.doNotifyOnSet(EmHolderImpl.java:53)
  at oracle/dp/entity/impl/EmHolderImpl.set(EmHolderImpl.java:47)
  at oracle/bpel/lang/v20/model/impl/InvokeImpl.getPreAsserts(InvokeImpl.java:470)
  ^-- Holding lock: oracle/bpel/lang/v20/model/impl/InvokeImpl@0x47ac7f50[thin lock]
  at com/collaxa/cube/engine/ext/bpel/v2/wmp/BPEL2InvokeWMP.(BPEL2InvokeWMP.java:70)
  at com/collaxa/cube/engine/ext/bpel/v2/nodes/BPEL2InvokeNode.createWMP(BPEL2InvokeNode.java:38)
  at com/collaxa/cube/engine/ext/bpel/common/BaseBPELCubeNode.getWorkManager(BaseBPELCubeNode.java:112)
  at com/collaxa/cube/engine/CubeEngine.manageScope(CubeEngine.java:2471)
  at com/collaxa/cube/engine/CubeEngine.checkManageScope(CubeEngine.java:4061)
  at com/collaxa/cube/engine/CubeEngine.finalizeActivity(CubeEngine.java:3144)
  at com/collaxa/cube/engine/CubeEngine.checkBlockConditions(CubeEngine.java:3823)
  at com/collaxa/cube/engine/CubeEngine.performActivity(CubeEngine.java:2724)
  at com/collaxa/cube/engine/CubeEngine._handleWorkItem(CubeEngine.java:1190)
  at com/collaxa/cube/engine/CubeEngine.handleWorkItem(CubeEngine.java:1093)
  at com/collaxa/cube/engine/dispatch/message/instance/PerformMessageHandler.handleLocal(PerformMessageHandler.java:76)
  at com/collaxa/cube/engine/dispatch/DispatchHelper.handleLocalMessage(DispatchHelper.java:232)
  at com/collaxa/cube/engine/dispatch/DispatchHelper.sendMemory(DispatchHelper.java:311)
  at com/collaxa/cube/engine/CubeEngine.endRequest(CubeEngine.java:4621)
  at com/collaxa/cube/engine/CubeEngine.endRequest(CubeEngine.java:4552)
  at com/collaxa/cube/engine/CubeEngine._createAndInvoke(CubeEngine.java:713)
"


At the same time other threads are trying to get data from the hashmap:


"orabpel.invoke.pool-4.thread-13" id=243 idx=0x3d4 tid=13016 prio=5 alive, native_blocked
  at java/util/HashMap.get(HashMap.java:385)[optimized]
  at oracle/xml/parser/v2/XMLNode.setUserData(XMLNode.java:1976)
  at oracle/bpel/lang/v20/model/impl/ExtensibleElementImpl.doCreateElement(ExtensibleElementImpl.java:470)
  at oracle/dp/entity/impl/EmFacadeObjectImpl.getElement(EmFacadeObjectImpl.java:35)
  at oracle/bpel/lang/v20/model/impl/ExtensibleElementImpl.performDOMChange(ExtensibleElementImpl.java:675)
  at oracle/bpel/lang/v20/model/impl/ExtensibleElementImpl.doOnChange(ExtensibleElementImpl.java:604)
  at oracle/bpel/lang/v20/model/impl/ExtensibleElementImpl$DOMUpdater.notifyChanged(ExtensibleElementImpl.java:503)
  at oracle/dp/notify/impl/NotifierImpl.emNotify(NotifierImpl.java:39)
  at oracle/dp/entity/impl/EmHolderImpl.doNotifyOnSet(EmHolderImpl.java:53)
  at oracle/dp/entity/impl/EmHolderImpl.set(EmHolderImpl.java:47)
  at oracle/bpel/lang/v20/model/impl/InvokeImpl.getPreAsserts(InvokeImpl.java:470)
  ^-- Holding lock: oracle/bpel/lang/v20/model/impl/InvokeImpl@0x57005560[biased lock]
  at com/collaxa/cube/engine/ext/bpel/v2/wmp/BPEL2InvokeWMP.(BPEL2InvokeWMP.java:70)
  at com/collaxa/cube/engine/ext/bpel/v2/nodes/BPEL2InvokeNode.createWMP(BPEL2InvokeNode.java:38)
  at com/collaxa/cube/engine/ext/bpel/common/BaseBPELCubeNode.getWorkManager(BaseBPELCubeNode.java:112)
  at com/collaxa/cube/engine/CubeEngine.manageScope(CubeEngine.java:2471)
  at com/collaxa/cube/engine/CubeEngine.checkManageScope(CubeEngine.java:4061)
  at com/collaxa/cube/engine/CubeEngine.finalizeActivity(CubeEngine.java:3144)
  at com/collaxa/cube/engine/CubeEngine.checkBlockConditions(CubeEngine.java:3823)
  at com/collaxa/cube/engine/CubeEngine.performActivity(CubeEngine.java:2724)
  at com/collaxa/cube/engine/CubeEngine._handleWorkItem(CubeEngine.java:1190)
  at com/collaxa/cube/engine/CubeEngine.handleWorkItem(CubeEngine.java:1093)
  at com/collaxa/cube/engine/dispatch/message/instance/PerformMessageHandler.handleLocal(PerformMessageHandler.java:76)
  at com/collaxa/cube/engine/dispatch/DispatchHelper.handleLocalMessage(DispatchHelper.java:232)
  at com/collaxa/cube/engine/dispatch/DispatchHelper.sendMemory(DispatchHelper.java:311)
  at com/collaxa/cube/engine/CubeEngine.endRequest(CubeEngine.java:4621)
  at com/collaxa/cube/engine/CubeEngine.endRequest(CubeEngine.java:4552)
  at com/collaxa/cube/engine/CubeEngine._createAndInvoke(CubeEngine.java:713)

 

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