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

java.util.ConcurrentModificationException on client with JAXBFrontend

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.6
    • 2.1.1, 2.0.7
    • JAXB Databinding
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: