axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Archit Shah (JIRA)" <axis-...@ws.apache.org>
Subject [jira] Commented: (AXIS-1391) severe memory leakage in server side service (with tomcat)
Date Fri, 05 Nov 2004 00:39:34 GMT
     [ http://nagoya.apache.org/jira/browse/AXIS-1391?page=comments#action_55067 ]
     
Archit Shah commented on AXIS-1391:
-----------------------------------

I ran the tests twice through again with only 128megs. This still caused no problem.    I
am quite certain that the memory issue that Venkat just reported and the memory issue I am
seeing is actually the same as issue 1567. This is just that a large amount of memory is required
to process large input and output arrays. That the objects are not collected until deep GC
does not count as a memory leak. It is just the JVM being lazy about GC. Bottom line, I do
not think there is a memory leak. (If there is, it is quite small. The benchmark is allocated
and deallocating multiple gigabytes of memory in total with a max heap of just 128 megs).

> severe memory leakage in server side service (with tomcat)
> ----------------------------------------------------------
>
>          Key: AXIS-1391
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1391
>      Project: Axis
>         Type: Bug
>   Components: Basic Architecture
>     Versions: current (nightly)
>  Environment: Linux 2.4.24 debian (woody mostly)
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
> Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)
>     Reporter: Aleksander Slominski
>     Assignee: Davanum Srinivas
>  Attachments: deepGC.PNG
>
> if you observe test progress on server machine using top you will notice that about every
10-20 seconds in-memory size of tomcat increases by 1MB ... probably the same would be happening
on windows or any other OS because of WORA ...
> steps to reproduce
> deploy test service (Benchmark1) available from
> http://www.extreme.indiana.edu/~aslom/bnp/wsperf/
> start tomcat with lot of memeory (to avoid too quick out of memory error):
> setenv JAVA_OPTS -Xmx1024m
> ./catalina.sh start
> run benchmark driver:
> opt/j2sdk/bin/java -Dmachine.name=LINUX_JDK142 -Dserver.name=AXIS_1_2
> soap_bench.BenchClient http://server:8080/axis/services/Benchmark1
> 200000 aa 10,100,1000,5000,10000,25000,50000,75000,100000
> observe memory usage of tomcat process (on linux use top)
> if memeory -Xmx is not increased you should get after some time (depending on default
-Xmx) this java.lang.OutOfMemoryError:
> > >> java -Dmachine.name=LINUX_JDK142
> > >> -Dserver.name=AXIS_1_2 soap_bench.BenchClient
> > >> http://server:8080/axis/services/Benchmark1 200000 ev
> > >> 10,100,1000,5000,10000,25000,50000,75000,100000
> > >> size=10
> > >> invoking 20000 times for test v arraysSize=10
> ...
> > >> Exception in thread "main"
> > >> xsul.invoker.DynamicInfosetInvokerException: HTTP server error 500
> > >> Internal Server E
> > >> rror body="
> > >> <html><head><title>Apache Tomcat/4.1.30 - Error
> > >> report</title><STYLE><!--H1{font-family : sans-serif,Arial,Taho
> > >> ma;color : white;background-color : #0086b2;} H3{font-family :
> > >> sans-serif,Arial,Tahoma;color : white;background
> > >> -color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color :
> > >> black;background-color : white;} B{color
> > >> : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE>
> > >> </head><body><h1>HTTP Status 500 - </h1><
> > >> HR size=\"1\" noshade><p><b>type</b> Exception
> > >> report</p><p><b>message</b> <u></u></p><p><b>description</b>
<u>
> > >> The server encountered an internal error () that prevented it from
> > >> fulfilling this request.</u></p><p><b>except
> > >> ion</b> <pre>javax.servlet.ServletException: Servlet execution
threw
> > >> an exception
> > >>        at
> > >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> > >>
> > >>        at
> > >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> > >>
> > >>        at
> > >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
> > >>
> > >>        at
> > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.j
> > >>
> > >> ava:643)
> > >>        at
> > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > >>
> > >>        at
> > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> > >>        at
> > >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> > >>
> > >>        at
> > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.j
> > >>
> > >> ava:643)
> > >>        at
> > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > >>
> > >>        at
> > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> > >>        at
> > >> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
> > >>
> > >>        at
> > >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
> > >>
> > >>        at
> > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.j
> > >>
> > >> ava:643)
> > >>        at
> > >> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
> > >>
> > >>        at
> > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.j
> > >>
> > >> ava:641)
> > >>        at
> > >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
> > >>
> > >>        at
> > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.j
> > >>
> > >> ava:641)
> > >>        at
> > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > >>
> > >>        at
> > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> > >>        at
> > >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
> > >>
> > >>        at
> > >> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.j
> > >>
> > >> ava:643)
> > >>        at
> > >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > >>
> > >>        at
> > >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> > >>        at
> > >> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
> > >>        at
> > >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
> > >>
> > >>        at
> > >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.jav
> > >>
> > >> a:700)
> > >>        at
> > >> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
> > >>
> > >>        at
> > >> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
> > >>
> > >>        at java.lang.Thread.run(Thread.java:534)
> > >> </pre></p><p><b>root cause</b> <pre>java.lang.OutOfMemoryError
> > >> </pre></p><HR size=\"1\" noshade><h3>Apache
> > >> Tomcat/4.1.30</h3></body></html>"
> > >>        at
> > >> xsul.invoker.http.HttpDynamicInfosetInvoker.invokeXml(HttpDynamicInfosetInvoker.java:300)
> > >>
> > >>        at
> > >> xsul.invoker.soap_over_http.SoapHttpDynamicInfosetInvoker.invokeMessage(SoapHttpDynamicInfosetInvoke
> > >>
> > >> r.java:122)
> > >>        at
> > >> xsul.soaprpc_client.SoapRpcInvocationHandler.invokeRemoteEndpoint(SoapRpcInvocationHandler.java:170)
> > >>
> > >>        at
> > >> xsul.soaprpc_client.SoapRpcInvocationHandler.invoke(SoapRpcInvocationHandler.java:101)
> > >>
> > >>        at $Proxy0.echoVoid(Unknown Source)
> > >>        at soap_bench.BenchClient.runOneTest(BenchClient.java:338)
> > >>        at
> > >> soap_bench.BenchClient.runTestsForDirection(BenchClient.java:193)
> > >>        at soap_bench.BenchClient.runTestsForSize(BenchClient.java:172)
> > >>        at soap_bench.BenchClient.main(BenchClient.java:143)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Mime
View raw message