java.util.ConcurrentModificationException on client with JAXBFrontend
---------------------------------------------------------------------

                 Key: CXF-1569
                 URL: https://issues.apache.org/jira/browse/CXF-1569
             Project: CXF
          Issue Type: Bug
          Components: JAXB Databinding
    Affects Versions: 2.0.6
            Reporter: Marc Giger


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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to