You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Aleksander Slominski <as...@cs.indiana.edu> on 2004/06/14 05:00:45 UTC

out of memory exception for current AXIS version from CVS

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



Re: severe memory leakage [Re: out of memory exception for current AXIS version from CVS

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
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
><as...@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


Re: Re: severe memory leakage [Re: out of memory exception for current AXIS version from CVS

Posted by Davanum Srinivas <da...@gmail.com>.
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?

thanks,
dims

On Mon, 14 Jun 2004 13:12:37 -0500, Aleksander Slominski
<as...@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
> 
> 




-- 
Davanum Srinivas - http://webservices.apache.org/~dims/

Re: severe memory leakage [Re: out of memory exception for current AXIS version from CVS

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
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


Re: severe memory leakage [Re: out of memory exception for current AXIS version from CVS

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
Sanjiva Weerawarana wrote:

>"Aleksander Slominski" <as...@cs.indiana.edu> writes:
>  
>
>>so that strongly suggest that there is severe memory leak in AXIS Java 
>>if high (913MB!) memoery usage stays for hours not garbage collected ...
>>    
>>
>
>Its been a while since I did perf stuff on a unix box (have to go
>back to my Purdue days :-)), but IIRC Unix doesn't actually shrink
>processes. That is, while you can grow a process, you can't actually
>shrink .. so even if GC is picking up the memory that won't show
>up via "ps". 
>  
>
when i used defaul -Xms i have got OutofMemoryError so i thin it is 
indication of the problem and no other java process grows to 900MB ...

>Did you record any info from the JVM and see what it thinks?
>  
>
i will try to do this when i finsih with performance tests.

thanks,

alek

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


Re: severe memory leakage [Re: out of memory exception for current AXIS version from CVS

Posted by Sanjiva Weerawarana <sa...@opensource.lk>.
"Aleksander Slominski" <as...@cs.indiana.edu> writes:
> 
> so that strongly suggest that there is severe memory leak in AXIS Java 
> if high (913MB!) memoery usage stays for hours not garbage collected ...

Its been a while since I did perf stuff on a unix box (have to go
back to my Purdue days :-)), but IIRC Unix doesn't actually shrink
processes. That is, while you can grow a process, you can't actually
shrink .. so even if GC is picking up the memory that won't show
up via "ps". 

Did you record any info from the JVM and see what it thinks?

Sanjiva.

severe memory leakage [Re: out of memory exception for current AXIS version from CVS

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
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