You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Marc Giger (JIRA)" <ji...@apache.org> on 2008/04/30 11:36:56 UTC
[jira] Created: (CXF-1560) EndpointReferenceUtils.getSchema
threading issue
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.
[jira] Commented: (CXF-1560) EndpointReferenceUtils.getSchema
threading issue
Posted by "Marc Giger (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-1560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12593410#action_12593410 ]
Marc Giger commented on CXF-1560:
---------------------------------
Hi Daniel,
My patch was not meant to apply as is. It just should show the problematic code part, and the possible solution;-)
Your patch works as expected.
Is your patch against cxf-2.1? I've tested it with cxf-2.0.6
Thanks
> 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
> Assignee: Daniel Kulp
> Attachments: cxf-1560.patch, 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.
[jira] Updated: (CXF-1560) EndpointReferenceUtils.getSchema
threading issue
Posted by "Marc Giger (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-1560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marc Giger updated CXF-1560:
----------------------------
Attachment: cxf-2.0.6-threading-issue.patch
> 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.
[jira] Updated: (CXF-1560) EndpointReferenceUtils.getSchema
threading issue
Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-1560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp updated CXF-1560:
-----------------------------
Attachment: cxf-1560.patch
The patch is a bit heavyweight (adds a sync block along the critical message path, even if not needed) so I'm going to change that a bit. However, it's also only "part" of the problem. There are a couple other places in the code where schema<-->doc stuff occurs that may also break with this. I'm going to go ahead and add a couple other sync blocks and stuff to hopefully fix this.
Unforunately, svn at apache is down again so I cannot commit it for you to test. :-( I'm going to attach a patch with my changes. If you could give that a try, that would be great.
> 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
> Assignee: Daniel Kulp
> Attachments: cxf-1560.patch, 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.
[jira] Resolved: (CXF-1560) EndpointReferenceUtils.getSchema
threading issue
Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-1560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-1560.
------------------------------
Fix Version/s: 2.0.7
2.1.1
Resolution: Fixed
> 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
> Assignee: Daniel Kulp
> Fix For: 2.1.1, 2.0.7
>
> Attachments: cxf-1560.patch, 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.
[jira] Commented: (CXF-1560) EndpointReferenceUtils.getSchema
threading issue
Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-1560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12593412#action_12593412 ]
Daniel Kulp commented on CXF-1560:
----------------------------------
Yea, my patch is against 2.1 as I pretty much always fix things there and then merge the fixes back to 2.0.x.
Thanks for the report. Once svn is back up, I'll get it committed and merged back 2.0.x.
> 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
> Assignee: Daniel Kulp
> Attachments: cxf-1560.patch, 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.
[jira] Assigned: (CXF-1560) EndpointReferenceUtils.getSchema
threading issue
Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-1560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp reassigned CXF-1560:
--------------------------------
Assignee: Daniel Kulp
> 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
> Assignee: Daniel Kulp
> 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.