axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aleksander Slominski <as...@cs.indiana.edu>
Subject Re: severe memory leakage [Re: out of memory exception for current AXIS version from CVS
Date Mon, 14 Jun 2004 18:48:32 GMT
Davanum Srinivas wrote:

>Am banging on the JAX-RPC TCK stuff...I'd REALLY appreciate any help
>in tracking down the source of this bug (a patch would be even
>better). Can u please start by logging the bug in JIRA?
>  
>
http://nagoya.apache.org/jira/browse/AXIS-1391

alek

>On Mon, 14 Jun 2004 13:12:37 -0500, Aleksander Slominski
><aslom@cs.indiana.edu> wrote:
>  
>
>>as a followup: 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 ...
>>
>>
>>alek
>>
>>Aleksander Slominski wrote:
>>
>>    
>>
>>>hi,
>>>
>>>with tomcat service running on JVM maxed memory to 1GB
>>>
>>>setenv JAVA_OPTS -Xmx1024m
>>>./catalina.sh start
>>>
>>>after running full benchmark :
>>>
>>>/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
>>>
>>>that took few hours to finish and here is what i got next day few
>>>hours after test was finished:
>>>
>>>106 processes: 105 sleeping, 1 running, 0 zombie, 0 stopped
>>>CPU states:   0.0% user,   1.6% system,   0.0% nice,  98.4% idle
>>>Mem:   1033500K total,  1019936K used,    13564K free,    14904K buffers
>>>Swap:  4112560K total,  1580800K used,  2531760K free,    37460K cached
>>>
>>> PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
>>>2453 aslom     17   0  1040 1040   804 R     6.2  0.1   0:04 top
>>>1762 aslom      9   0  983M 347M 75840 S     0.0 34.4   0:06 java
>>>1763 aslom      9   0  983M 347M 75840 S     0.0 34.4   0:00 java
>>>1764 aslom      9   0  983M 347M 75840 S     0.0 34.4   7:06 java
>>>1765 aslom      9   0  983M 347M 75840 S     0.0 34.4   0:07 java
>>>1766 aslom      9   0  983M 347M 75840 S     0.0 34.4   0:15 java
>>>1767 aslom      9   0  983M 347M 75840 S     0.0 34.4   0:00 java
>>>1768 aslom      9   0  983M 347M 75840 S     0.0 34.4   0:00 java
>>>1769 aslom      9   0  983M 347M 75840 S     0.0 34.4   0:03 java
>>>1770 aslom      9   0  983M 347M 75840 S     0.0 34.4   0:32 java
>>>1772 aslom      9   0  983M 347M 75840 S     0.0 34.4   0:00 java
>>>1775 aslom      9   0  983M 347M 75840 S     0.0 34.4   0:00 java
>>>1776 aslom      9   0  983M 347M 75840 S     0.0 34.4   2:14 java
>>>1777 aslom      9   0  983M 347M 75840 S     0.0 34.4   0:00 java
>>>
>>>
>>>so that strongly suggest that there is severe memory leak in AXIS Java
>>>if high (913MB!) memoery usage stays for hours not garbage collected ...
>>>
>>>alek
>>>
>>>Aleksander Slominski wrote:
>>>
>>>      
>>>
>>>>hi,
>>>>
>>>>there was some discussion abot memory problems and it seems i have a
>>>>way to experiment and maybe find how to fix it (i did not see Peter
>>>>Molettiere actually posting soemthing to JIRA on how to reproduce his
>>>>problems? AFAICT only other open issues are
>>>>http://nagoya.apache.org/jira/browse/AXIS-1270
>>>>http://nagoya.apache.org/jira/browse/AXIS-1202
>>>>http://nagoya.apache.org/jira/browse/AXIS-1095)
>>>>
>>>>here is how to reproduce this OME (got it on linux but probably is
>>>>the same on any OS) with the latest AXIS from CVS:
>>>>
>>>>compile current axis and generate war file (ant war - wil take some
>>>>time ...)
>>>>get tomcat 4.1.30, deploy current axis.war, modify to disable
>>>>multi-ref in WEB-INF\server-config.wsdd
>>>>set <parameter name="sendXsiTypes" value="false"/> and <parameter
>>>>name="sendMultiRefs" value="false"/>
>>>>
>>>>then download source code and compile from
>>>>http://www.extreme.indiana.edu/~aslom/bnp/wsperf/axis_java/
>>>><>
>>>>after service is deployed start tomcat (running JDK 1.4.2on linux
>>>>without any chnages to -Xmx i.e. /opt/j2sdk/bin/java
>>>>-Djava.endorsed.dirs=/home/aslom/Forge/tomcat/common/endorsed
>>>>-classpath
>>>>/opt/j2sdk/lib/tools.jar:/home/aslom/Forge/tomcat/bin/bootstrap.jar
>>>>-Dcatalina.base=/home/aslom/Forge/tomcat
>>>>-Dcatalina.home=/home/aslom/Forge/tomcat
>>>>-Djava.io.tmpdir=/home/aslom/Forge/tomcat/temp
>>>>org.apache.catalina.startup.Bootstrap start)
>>>>
>>>>and run client with it:
>>>>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
>>>>
>>>>the OME happens after running test two times, here are details:
>>>>
>>>>nimitz:~/Forge/driver> 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)
>>>>
>>>>HTH,
>>>>
>>>>alek
>>>>
>>>>        
>>>>
>>>      
>>>
>>--
>>The best way to predict the future is to invent it - Alan Kay
>>
>>
>>    
>>
>
>
>
>
>  
>


-- 
The best way to predict the future is to invent it - Alan Kay


Mime
View raw message