axis-java-dev mailing list archives

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

Dims, we did run into in OOM on tomcat if the array  size is larger (>100000). However,
when we tried with smaller array size of 50000, the memory size increased to certain level
due to object allocations. Once the the test ran to finish, the heap size is more or less
remained constant, but was not getting deallocated until we forced a deep garbage collection
(refer to attached image on deep GC).


> 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

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