Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-1569

java.util.ConcurrentModificationException on client with JAXBFrontend

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.6
    • Fix Version/s: 2.1.1, 2.0.7
    • Component/s: JAXB Databinding
    • Labels:
      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)

        Attachments

          Activity

            People

            • Assignee:
              bmargulies Benson Margulies
              Reporter:
              gigerstyle Marc Giger
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: