We are using WSS4J, AxisJ and ApacheXMLSecurityJava for contacting a webservice using SOAP. One of our tool makes parallel SOAP requests to this web service. This tool runs on a m/c with 32 virtual processors.
We were running into a process block a way too often.We did a jstack on the process and the process seem to be doing this. at java.util.HashMap.get(HashMap.java:303) at org.apache.xml.security.utils.XMLUtils.createElementInSignatureSpace(Unknown Source) Everytime we get the same jstack when the process stops making progress. At this point, the process stops and the CPU starts spiking. When we looked at the XMLUtils code, we found that the class is not thread safe. There is a hashmap namePrefixes that is used without synchronization. It seems that a hashmap without synchronization can cause infinite loop http://lightbody.net/blog/2005/07/hashmapget_can_cause_an_infini.html Since the hash map used in the class is a static object, we guess the hash map is left in an inconsistent state. Is there any solution available so that we can get rid of this infinite loop. -- View this message in context: http://old.nabble.com/Infinite-Loop-due-to-inconsistent-hashmap%2C-in-ApacheXMLSecurityJava-XMLUtil.class-tp27125974p27125974.html Sent from the Apache XML - Security - Dev mailing list archive at Nabble.com.