Details
-
Bug Report
-
Resolution: Fixed
-
L3 - Default
-
None
Description
Problem Description:
- the dom implementation (Apache Xerxes) is not thread safe, even for read only access. See also [1]
- camunda engine provides API which allows multiple threads to access the same model element instance.
=> Exceptions related to concurrent access of Dom Implementation classes.
Example:
Caused by: java.lang.NullPointerException
at org.apache.xerces.dom.ParentNode.nodeListGetLength(Unknown Source)
at org.apache.xerces.dom.ParentNode.getLength(Unknown Source)
at org.camunda.bpm.model.xml.impl.util.DomUtil.filterNodeList(DomUtil.java:135)
at org.camunda.bpm.model.xml.impl.util.DomUtil.filterNodeListForElements(DomUtil.java:153)
at org.camunda.bpm.model.xml.impl.instance.DomElementImpl.getChildElements(DomElementImpl.java:91)
at org.camunda.bpm.model.bpmn.impl.instance.ExtensionElementsImpl.getElements(ExtensionElementsImpl.java:56)
at org.camunda.bpm.model.bpmn.impl.instance.ExtensionElementsImpl.getElementsQuery(ExtensionElementsImpl.java:60)
Workarounds:
- synchronize Model API access