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

WS-RM's JAXB marshalling/unmarshalling is not thread-safe

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.7.11, 2.6.14, 3.0
    • 2.6.15, 2.7.12, 3.0.1
    • WS-* Components
    • None
    • Unknown

    Description

      WS-RM's JAXB classes such as Acknowledgement etc are not marshaled or unamarshalled thread-safe and this may lead to some JAXB exception

      2014 06 30 09:23:50#+00#WARN#org.apache.cxf.phase.PhaseInterceptorChain##M16 SSL client SSL Client (Standard)@SAPNetCA#default-workqueue-8##avatarperf#rpetsy2#ifl#sy2#Interceptor for

      {http://schem as.xmlsoap.org/ws/2005/02/rm}

      SequenceAbstractService#

      {http://schemas.xmlsoap.org/ws/2005/02/rm}

      TerminateSequence has thrown exception, unwinding nowjava.lang.ArrayIndexOutOfBoundsException: -1
      at com.sun.xml.internal.bind.v2.util.CollisionCheckStack.pushNocheck(CollisionCheckStack.java:117)
      at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:476)
      at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:308)
      at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:236)
      at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:95)
      at org.apache.cxf.ws.rm.persistence.PersistenceUtils.serialiseAcknowledgment(PersistenceUtils.java:75)
      at org.apache.cxf.ws.rm.persistence.jdbc.RMTxStore.updateDestinationSequence(RMTxStore.java:817)
      at org.apache.cxf.ws.rm.persistence.jdbc.RMTxStore.persistIncoming(RMTxStore.java:635)
      at sun.reflect.GeneratedMethodAccessor228.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
      at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
      at $Proxy119.persistIncoming(Unknown Source)
      at org.apache.cxf.ws.rm.DestinationSequence.terminate(DestinationSequence.java:558)
      at org.apache.cxf.ws.rm.Destination.terminateSequence(Destination.java:81)
      at org.apache.cxf.ws.rm.Servant.terminateSequence(Servant.java:247)
      at org.apache.cxf.ws.rm.Servant.invoke(Servant.java:107)
      at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
      at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107)
      at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
      at org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:242)
      at org.apache.cxf.ws.addressing.impl.InternalContextUtils$1.run(InternalContextUtils.java:323)
      at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:428)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$AWQThreadFactory$1.run(AutomaticWorkQueueImpl.java:353)
      at java.lang.Thread.run(Thread.java:789)

      This was reported by Franz Forsthofer by mail.

      Attachments

        Activity

          People

            ay Akitoshi Yoshida
            ay Akitoshi Yoshida
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: