Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0.6
-
None
Description
I have a testcase where I do fire 100 ws calls in parallel. The test ends with following stacktrace on the client side:
Every client is a new instance and not reused!
That's the first time I got this exception, so it seems very difficult to reproduce.
-------------------------------------------------------------------------------
Test set: TestSuite
-------------------------------------------------------------------------------
Tests run: 100, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 23.645 sec <<< FAILURE!
test_ParallelPerf(ch.itserve.lohnstandard.refapps2.ws20051002.test.PerformanceTest) Time elapsed: 5.059 sec <<< FAILURE!
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$KeyIterator.next(HashMap.java:828)
at org.apache.cxf.common.util.WeakIdentityHashMap.keySet(WeakIdentityHashMap.java:94)
at org.apache.cxf.common.util.CacheMap.updateMainDataMap(CacheMap.java:55)
at org.apache.cxf.common.util.CacheMap.containsKey(CacheMap.java:64)
at org.apache.cxf.jaxb.JAXBDataBinding.createJAXBContext(JAXBDataBinding.java:509)
at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:268)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:283)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:368)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:162)
at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:97)
at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:74)
at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:51)
at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:92)
at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:387)
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:282)
at javax.xml.ws.Service.getPort(Service.java:92)
at ch.swissdec.schema.sd._20051002.salarydeclarationservice.SalaryDeclarationService.getSalaryDeclaration(SalaryDeclarationService.java:55)
at ch.itserve.lohnstandard.refapps2.ws20051002.test.TestBase.invoke(TestBase.java:185)
at ch.itserve.lohnstandard.refapps2.ws20051002.test.PerformanceTest.test_ParallelPerf(PerformanceTest.java:55)
test_ParallelPerf(ch.itserve.lohnstandard.refapps2.ws20051002.test.PerformanceTest) Time elapsed: 0.369 sec <<< FAILURE!
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$KeyIterator.next(HashMap.java:828)
at org.apache.cxf.common.util.WeakIdentityHashMap.keySet(WeakIdentityHashMap.java:94)
at org.apache.cxf.common.util.CacheMap.updateMainDataMap(CacheMap.java:55)
at org.apache.cxf.common.util.CacheMap.get(CacheMap.java:84)
at org.apache.cxf.jaxb.JAXBDataBinding.createJAXBContext(JAXBDataBinding.java:429)
at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:268)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:283)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:368)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:162)
at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:97)
at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:74)
at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:51)
at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:92)
at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:387)
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:282)
at javax.xml.ws.Service.getPort(Service.java:92)
at ch.swissdec.schema.sd._20051002.salarydeclarationservice.SalaryDeclarationService.getSalaryDeclaration(SalaryDeclarationService.java:55)
at ch.itserve.lohnstandard.refapps2.ws20051002.test.TestBase.invoke(TestBase.java:185)
at ch.itserve.lohnstandard.refapps2.ws20051002.test.PerformanceTest.test_ParallelPerf(PerformanceTest.java:55)