ConcurrentModificationException when there are two concurrent SOAP requests ---------------------------------------------------------------------------
Key: XFIRE-1119 URL: http://jira.codehaus.org/browse/XFIRE-1119 Project: XFire Issue Type: Bug Affects Versions: 1.2.1 Environment: WebSphere 6.1.0 and IHS Reporter: Dotan Limon Assignee: Dan Diephouse I'm using XFire 1.2.1 in my application and when there are two concurrent SOAP requests I'm sometime getting the next exception: java.util.ConcurrentModificationException: concurrent access to HashMap attempted by Thread[WebContainer : 16,5,main] at java.util.HashMap.onExit(HashMap.java:225) at java.util.HashMap.transfer(HashMap.java:636) at java.util.HashMap.resize(HashMap.java:622) at java.util.HashMap.addEntry(HashMap.java:994) at java.util.HashMap.put(HashMap.java:510) at org.codehaus.xfire.aegis.type.basic.BeanTypeInfo.mapType(BeanTypeInfo.java:219) at org.codehaus.xfire.aegis.type.basic.BeanTypeInfo.getType(BeanTypeInfo.java:202) at org.codehaus.xfire.aegis.type.basic.BeanType.getType(BeanType.java:408) at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:272) at org.codehaus.xfire.aegis.AegisBindingProvider.writeParameter(AegisBindingProvider.java:111) at org.codehaus.xfire.service.binding.AbstractBinding.writeParameter(AbstractBinding.java:240) at org.codehaus.xfire.service.binding.WrappedBinding.writeMessage(WrappedBinding.java:89) at org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java:81) at org.codehaus.xfire.util.dom.DOMOutHandler.getMessageBytes(DOMOutHandler.java:58) at org.codehaus.xfire.util.dom.DOMOutHandler.invoke(DOMOutHandler.java:43) at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:98) at org.codehaus.xfire.service.binding.ServiceInvocationHandler.sendMessage(ServiceInvocationHandler.java:210) at org.codehaus.xfire.service.binding.ServiceInvocationHandler.invoke(ServiceInvocationHandler.java:71) at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:98) at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:58) at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38) at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:276) at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:145) at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:100) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:989) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:501) at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464) at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3276) at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:267) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811) at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:113) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:263) at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469) It's probably caused by accessing hashmap that is not thread safe in the xfire code. Hope you can help with this bug. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email