[
http://jira.codehaus.org/browse/XFIRE-773?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Guillaume Nodet reassigned XFIRE-773:
-------------------------------------
Assignee: Guillaume Nodet (was: Dan Diephouse)
> Bug with concurrent soap requests and aegis
> -------------------------------------------
>
> Key: XFIRE-773
> URL: http://jira.codehaus.org/browse/XFIRE-773
> Project: XFire
> Issue Type: Bug
> Components: Aegis Module
> Affects Versions: 1.2.2
> Environment: win xp, jdk-1.5.0_06, apache-tomcat-5.5.17,
> spring-1.2.6, httpclient-3.0.1
> Reporter: Jose Dillet
> Assigned To: Guillaume Nodet
> Attachments: BeanTypeInfo.java, testWS.war, WS Test.jmx
>
>
> I'm getting some problems when I launch some concurrent requests to a web
> service made using xfire and spring.
> I have a simple service (MyService) with a method (testService) that returns
> an object (MyObject).
> I test it launching some concurrent requests using JMeter (jmeter -n -t "WS
> Test.jmx").
> With this test, sometime I get the following exception:
> 2006-11-22 17:53:16,078 ERROR
> [org.codehaus.xfire.handler.DefaultFaultHandler] Fault occurred!
> java.util.ConcurrentModificationException
> at
> java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)
> at java.util.AbstractList$Itr.next(AbstractList.java:420)
> at
> org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:394)
> at
> org.codehaus.xfire.aegis.AegisBindingProvider.writeParameter(AegisBindingProvider.java:200)
> at
> org.codehaus.xfire.service.binding.AbstractBinding.writeParameter(AbstractBinding.java:273)
> at
> org.codehaus.xfire.service.binding.WrappedBinding.writeMessage(WrappedBinding.java:89)
> at
> org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java:80)
> at
> org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAttachments(HttpChannel.java:56)
> at
> org.codehaus.xfire.transport.http.XFireServletChannel.sendViaServlet(XFireServletChannel.java:85)
> at
> org.codehaus.xfire.transport.http.XFireServletChannel.send(XFireServletChannel.java:44)
> at
> org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
> at
> org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
> at
> org.codehaus.xfire.service.binding.PostInvocationHandler.invoke(PostInvocationHandler.java:36)
> at
> org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
> at
> org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
> at
> org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
> at
> org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:301)
> at
> org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:130)
> at
> org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> at java.lang.Thread.run(Thread.java:595)
> or, sometimes I get this other exception:
> Fault occurred!
> org.codehaus.xfire.XFireRuntimeException: Couldn't get property null from
> bean [EMAIL PROTECTED] Nested exception is java.lang.NullPointerException:
> null
> java.lang.NullPointerException
> at
> org.codehaus.xfire.aegis.type.basic.BeanType.readProperty(BeanType.java:461)
> at
> org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:402)
> at
> org.codehaus.xfire.aegis.AegisBindingProvider.writeParameter(AegisBindingProvider.java:200)
> at
> org.codehaus.xfire.service.binding.AbstractBinding.writeParameter(AbstractBinding.java:273)
> at
> org.codehaus.xfire.service.binding.WrappedBinding.writeMessage(WrappedBinding.java:89)
> at
> org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java:80)
> at
> org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAttachments(HttpChannel.java:56)
> at
> org.codehaus.xfire.transport.http.XFireServletChannel.sendViaServlet(XFireServletChannel.java:85)
> at
> org.codehaus.xfire.transport.http.XFireServletChannel.send(XFireServletChannel.java:44)
> at
> org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
> at
> org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
> at
> org.codehaus.xfire.service.binding.PostInvocationHandler.invoke(PostInvocationHandler.java:36)
> at
> org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
> at
> org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
> at
> org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
> at
> org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:301)
> at
> org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:130)
> at
> org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> at java.lang.Thread.run(Thread.java:595)
> and sometimes it ends without any exception. Also, when I get an exception,
> and I try to access to wsdl file, sometimes I get another exception, or
> sometimes the definition of the object MyObject returned is wrong, because
> every field is repeated many times.
> I guess that problem is related to aegis configuration, because if I delete
> file MyObject.aegis.xml, then I never get these errors. Unfortunately, not
> all executions end with an exception, but launching it several times leads to
> finally get some of these exceptions.
> In testService I have added a sleep, to slow the execution of the method. In
> my real project, there is no sleep, but my service method is heavier, so I
> put the sleep to emulate the behaviour of my real service.
> I attach a war with a complete test application, a a jmx file to test the
> application with JMeter (launching 30 concurrent threads)
> Hope you can reproduce the bug.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email