cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marc Giger (JIRA)" <j...@apache.org>
Subject [jira] Created: (CXF-1560) EndpointReferenceUtils.getSchema threading issue
Date Wed, 30 Apr 2008 09:36:56 GMT
EndpointReferenceUtils.getSchema threading issue
------------------------------------------------

                 Key: CXF-1560
                 URL: https://issues.apache.org/jira/browse/CXF-1560
             Project: CXF
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.0.6
            Reporter: Marc Giger
         Attachments: cxf-2.0.6-threading-issue.patch

After the first time the service is started and the service is invoked in parallel with multiple
threads I get the following
stacktrace and the service returns a soap-fault:

30.04.2008 10:24:30 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
java.lang.ArrayIndexOutOfBoundsException: 2 >= 0
        at java.util.Vector.elementAt(Vector.java:427)
        at org.apache.xerces.dom.DeferredDocumentImpl.getNodeValueString(Unknown Source)
        at org.apache.xerces.dom.DeferredDocumentImpl.getNodeValueString(Unknown Source)
        at org.apache.xerces.dom.DeferredTextImpl.synchronizeData(Unknown Source)
        at org.apache.xerces.dom.CharacterDataImpl.getNodeValue(Unknown Source)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeDocumentation(XmlSchemaSerializer.java:2002)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeAnnotation(XmlSchemaSerializer.java:1904)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeElement(XmlSchemaSerializer.java:582)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeChoice(XmlSchemaSerializer.java:1229)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeComplexType(XmlSchemaSerializer.java:917)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeSchemaChild(XmlSchemaSerializer.java:254)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeSchemaElement(XmlSchemaSerializer.java:192)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeSchema(XmlSchemaSerializer.java:83)
        at org.apache.ws.commons.schema.XmlSchema.serialize_internal(XmlSchema.java:452)
        at org.apache.ws.commons.schema.XmlSchema.write(XmlSchema.java:426)
        at org.apache.ws.commons.schema.XmlSchema.write(XmlSchema.java:382)
        at org.apache.cxf.service.model.SchemaInfo.getElement(SchemaInfo.java:82)
        at org.apache.cxf.wsdl.EndpointReferenceUtils.getSchema(EndpointReferenceUtils.java:541)
        at org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.setSchemaInMessage(AbstractInDatabindingInterceptor.java:104)
        at org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.getDataReader(AbstractInDatabindingInterceptor.java:86)
        at org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.getDataReader(AbstractInDatabindingInterceptor.java:93)
        at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:69)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
        at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
        at org.apache.cxf.transport.local.LocalConduit.dispatchDirect(LocalConduit.java:100)
        at org.apache.cxf.transport.local.LocalConduit.close(LocalConduit.java:71)
        at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
        at org.apache.camel.component.cxf.invoker.CxfClient.invokeWithMessageStream(CxfClient.java:130)
        at org.apache.camel.component.cxf.invoker.CxfClient.dispatch(CxfClient.java:75)
        at org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:248)
        at org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:170)
        at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:59)
        at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:53)
        at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsynProcessorBridge.process(AsyncProcessorTypeConverter.java:44)
        at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:143)
        at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:87)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:85)
        at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:40)
        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:44)
        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:68)
        at org.apache.camel.component.cxf.CamelInvoker.invoke(CamelInvoker.java:59)
        at org.apache.camel.component.cxf.feature.MessageInvokerInterceptor$1.run(MessageInvokerInterceptor.java:51)
        at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
        at org.apache.camel.component.cxf.feature.MessageInvokerInterceptor.handleMessage(MessageInvokerInterceptor.java:71)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
        at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
        at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:92)
        at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:214)
        at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:151)
        at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:170)
        at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:148)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
        at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
        at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
        at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:730)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
        at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
        at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
30.04.2008 10:24:30 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
java.lang.ArrayIndexOutOfBoundsException: 6 >= 0
        at java.util.Vector.elementAt(Vector.java:427)
        at org.apache.xerces.dom.DeferredDocumentImpl.getNodeValueString(Unknown Source)
        at org.apache.xerces.dom.DeferredDocumentImpl.getNodeValueString(Unknown Source)
        at org.apache.xerces.dom.DeferredTextImpl.synchronizeData(Unknown Source)
        at org.apache.xerces.dom.CharacterDataImpl.getNodeValue(Unknown Source)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeDocumentation(XmlSchemaSerializer.java:2002)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeAnnotation(XmlSchemaSerializer.java:1904)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeElement(XmlSchemaSerializer.java:582)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeSequence(XmlSchemaSerializer.java:989)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeComplexType(XmlSchemaSerializer.java:913)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeSchemaChild(XmlSchemaSerializer.java:254)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeSchemaElement(XmlSchemaSerializer.java:192)
        at org.apache.ws.commons.schema.XmlSchemaSerializer.serializeSchema(XmlSchemaSerializer.java:83)
        at org.apache.ws.commons.schema.XmlSchema.serialize_internal(XmlSchema.java:452)
        at org.apache.ws.commons.schema.XmlSchema.write(XmlSchema.java:426)
        at org.apache.ws.commons.schema.XmlSchema.write(XmlSchema.java:382)
        at org.apache.cxf.service.model.SchemaInfo.getElement(SchemaInfo.java:82)
        at org.apache.cxf.wsdl.EndpointReferenceUtils.getSchema(EndpointReferenceUtils.java:541)
        at org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.setSchemaInMessage(AbstractInDatabindingInterceptor.java:104)
        at org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.getDataReader(AbstractInDatabindingInterceptor.java:86)
        at org.apache.cxf.interceptor.AbstractInDatabindingInterceptor.getDataReader(AbstractInDatabindingInterceptor.java:93)
        at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:69)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
...
...
...

If I invoke a fresh started service once with a single thread and after that with multiple
threads it works fine.

The attached patch fixes that but I'm not sure if it's the right place and who is at fault
here. The overhead by this patch should be minimal.

-- 
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