cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dennis Sosnoski (JIRA)" <j...@apache.org>
Subject [jira] Created: (CXF-3273) WS-RM ConcurrentModificationException from unsynchronized use of SequenceAcknowledgement
Date Sun, 23 Jan 2011 01:49:43 GMT
WS-RM ConcurrentModificationException from unsynchronized use of SequenceAcknowledgement
----------------------------------------------------------------------------------------

                 Key: CXF-3273
                 URL: https://issues.apache.org/jira/browse/CXF-3273
             Project: CXF
          Issue Type: Bug
          Components: WS-* Components
    Affects Versions: 2.3.2
            Reporter: Dennis Sosnoski


The WS-RM code needs to use synchronized blocks for both modifying and accessing SequenceAcknowledgement.
Currently the code appears to use synchronized blocks for modifying SequenceAcknowledgement
information, but not for reading it (for example in RMSoapInterceptor.encode(SoapMessage,
RMProperties), where the SequenceAcknowledgement is serialized to XML). This can result in
ConcurrentModificationException:

     [java] java.util.ConcurrentModificationException
     [java]     at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)
     [java]     at java.util.AbstractList$Itr.next(AbstractList.java:420)
     [java]     at com.sun.xml.bind.v2.runtime.reflect.Lister$CollectionLister$1.next(Lister.java:284)
     [java]     at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty.java:135)
     [java]     at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.serializeBody(ArrayERProperty.java:155)
     [java]     at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:340)
     [java]     at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696)
     [java]     at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:152)
     [java]     at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:189)
     [java]     at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:316)
     [java]     at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:323)
     [java]     at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:72)
     [java]     at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494)
     [java]     at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:315)
     [java]     at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:244)
     [java]     at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:109)
     [java]     at org.apache.cxf.ws.rm.soap.RMSoapInterceptor.encodeProperty(RMSoapInterceptor.java:396)
     [java]     at org.apache.cxf.ws.rm.soap.RMSoapInterceptor.encode(RMSoapInterceptor.java:206)
     [java]     at org.apache.cxf.ws.rm.soap.RMSoapInterceptor.encode(RMSoapInterceptor.java:154)
     [java]     at org.apache.cxf.ws.rm.soap.RMSoapInterceptor.mediate(RMSoapInterceptor.java:138)
     [java]     at org.apache.cxf.ws.rm.soap.RMSoapInterceptor.handleMessage(RMSoapInterceptor.java:126)
     [java]     at org.apache.cxf.ws.rm.soap.RMSoapInterceptor.handleMessage(RMSoapInterceptor.java:93)
     [java]     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
     [java]     at org.apache.cxf.ws.addressing.ContextUtils.rebaseResponse(ContextUtils.java:403)
     [java]     at org.apache.cxf.ws.addressing.MAPAggregator.mediate(MAPAggregator.java:547)
     [java]     at org.apache.cxf.ws.addressing.MAPAggregator.handleMessage(MAPAggregator.java:227)
     [java]     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
     [java]     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
     [java]     at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:311)
     [java]     at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:280)
     [java]     at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72)
     [java]     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:922)
     [java]     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:860)
     [java]     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
     [java]     at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247)
     [java]     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
     [java]     at org.eclipse.jetty.server.Server.handle(Server.java:352)
     [java]     at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596)
     [java]     at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1066)
     [java]     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805)
     [java]     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212)
     [java]     at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426)
     [java]     at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510)
     [java]     at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
     [java]     at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
     [java]     at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)
     [java]     at java.lang.Thread.run(Thread.java:595)


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


Mime
View raw message