The information in this article applies to:
Product: PM4Data
Version: 8.1.8
Platform: Windows, AIX, SunOS, HP-UX, Linux
Issue
When using the Java Registry Service (TCP or WMQ), the user may receive the following stack trace:
org.dom4j.DocumentException: concurrent access to HashMap attempted by Thread Nested exception: concurrent access to HashMap attempted by Thread at org.dom4j.io.SAXReader.read(SAXReader.java:342) at org.dom4j.io.SAXReader.read(SAXReader.java:256) at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:215) at com.commercequest.xmdirectory.server.IPConnectionHandler.handleConnection(IPConnectionHandler.java:136) at com.commercequest.xmdirectory.server.IPConnectionHandler.run(IPConnectionHandler.java:276) at java.lang.Thread.run(Thread.java:570) Nested exception: java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread at java.util.HashMap.onEntry(HashMap.java:211) at java.util.HashMap.transfer(HashMap.java:554) at java.util.HashMap.resize(HashMap.java:541) at java.util.HashMap.addEntry(HashMap.java:901) at java.util.HashMap.put(HashMap.java:474) at org.dom4j.tree.QNameCache.get(QNameCache.java:83) at org.dom4j.DocumentFactory.createQName(DocumentFactory.java:159) at org.dom4j.tree.NamespaceStack.createQName(NamespaceStack.java:269) at org.dom4j.tree.NamespaceStack.pushQName(NamespaceStack.java:262) at org.dom4j.tree.NamespaceStack.getAttributeQName(NamespaceStack.java:193) at org.dom4j.tree.AbstractElement.setAttributes(AbstractElement.java:475) at org.dom4j.io.SAXContentHandler.addAttributes(SAXContentHandler.java:745) at org.dom4j.io.SAXContentHandler.startElement(SAXContentHandler.java:237) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.dom4j.io.SAXReader.read(SAXReader.java:323) at org.dom4j.io.SAXReader.read(SAXReader.java:256) at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:215) at com.commercequest.xmdirectory.server.IPConnectionHandler.handleConnection(IPConnectionHandler.java:136) at com.commercequest.xmdirectory.server.IPConnectionHandler.run(IPConnectionHandler.java:276) at java.lang.Thread.run(Thread.java:570) This exception is due to a bug in the dom4j library. It has been addressed in a more recent release.
Resolution
- Upgrade the dom4j jar file to version 1.6.1. The dom4j.jar file can be found here: http://locationofJarFile
- Stop the JavaRegistryService.
- Copy the file into the C:\\CQ\\java directory (Windows) or the /opt/CQ/java directory (UNIX).
- Start the Java RegistryService.