DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12837>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12837 Possible Memory Leak in I_R2.dll Summary: Possible Memory Leak in I_R2.dll Product: Tomcat 4 Version: 4.1.7 Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Normal Priority: Other Component: Connector:Coyote JK 2 AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] CC: [EMAIL PROTECTED] Possible Memory Leak in I_R2.dll While doing some testing I noticed that the ISAPI connector using I_R2.dll appears that it may have a memory leak in it. Testing: All test were done using the ab.exe testing program Windows 2000 Server Service pack 2 Pentium 4, 1.5Ghz 512mb RAM Note: -c500 -n100000 sugested by Nacho Test1: ab -c500 -n100000 http://localhost/examples/jsp/index.html - start with a reboot to insure memory was cleared - Available memory at begining of test 364916K - inetinfo.exe process started out at 10,416K mem usage - Tomcat java.exe process started out at 19,440K mem usage - at 50,000 requests inetinfo was using 206,256K of memory the java process was hovering around 18,240K ab.exe its self was using 3,512K - at 70,000 requests NOTICE that the VIRTUAL SIZE is HUGE. The machine ran out of RAM CWD: C:\WINNT\system32\ CmdLine: C:\WINNT\System32\inetsrv\inetinfo.exe VirtualSize: 1137040 KB PeakVirtualSize: 1141200 KB WorkingSetSize: 14368 KB PeakWorkingSetSize:373076 KB NumberOfThreads: 91 CWD: D:\Tomcat 4.1\bin\ CmdLine: "d:\j2sdk1.4.0.01\bin\java" - Djava.endorsed.dirs="..\bin;..\comm on\endorsed" -classpath "d:\j2sdk1.4.0.01 \lib\tools.jar;..\bin\bootstrap.jar" -D catalina.base=".." -Dcatalina.home=".." -Djava.io.tmpdir="..\temp" org.apache.ca talina.startup.Bootstrap start VirtualSize: 217376 KB PeakVirtualSize: 217376 KB WorkingSetSize: 10232 KB PeakWorkingSetSize: 23420 KB NumberOfThreads: 90 ab.exe its self was using 3,512K - At end of RUN CWD: C:\WINNT\system32\ CmdLine: C:\WINNT\System32\inetsrv\inetinfo.exe VirtualSize: 1125764 KB PeakVirtualSize: 1141200 KB WorkingSetSize: 15068 KB PeakWorkingSetSize:373076 KB NumberOfThreads: 91 CWD: D:\Tomcat 4.1\bin\ CmdLine: "d:\j2sdk1.4.0.01\bin\java" - Djava.endorsed.dirs="..\bin;..\comm on\endorsed" -classpath "d:\j2sdk1.4.0.01 \lib\tools.jar;..\bin\bootstrap.jar" -D catalina.base=".." -Dcatalina.home=".." -Djava.io.tmpdir="..\temp" org.apache.ca talina.startup.Bootstrap start VirtualSize: 217376 KB PeakVirtualSize: 221536 KB WorkingSetSize: 10576 KB PeakWorkingSetSize: 23420 KB - overall system memory was at 3,896 free - after aborting the test at 50K request, the system did not free any of the memory from the inetinfo.exe process - tomcat was only using 10,416K during the same test - Right after starting the test the following error appeared in the TOMCAT console Sep 19, 2002 6:12:45 PM org.apache.jk.server.JkCoyoteHandler action SEVERE: Error in action code java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite (SocketOutputStream.java:92) at java.net.SocketOutputStream.write (SocketOutputStream.java:126) at org.apache.jk.common.ChannelSocket.send (ChannelSocket.java:380) at org.apache.jk.common.ChannelSocket.invoke (ChannelSocket.java:558) at org.apache.jk.server.JkCoyoteHandler.action (JkCoyoteHandler.java:354) at org.apache.coyote.Response.action(Response.java:216) at org.apache.coyote.Response.finish(Response.java:336) at org.apache.coyote.tomcat4.CoyoteResponse.finishResponse(CoyoteRespons e.java:503) at org.apache.coyote.tomcat4.CoyoteAdapter.service (CoyoteAdapter.java:22 4) at org.apache.jk.server.JkCoyoteHandler.invoke (JkCoyoteHandler.java:256) at org.apache.jk.common.HandlerRequest.invoke (HandlerRequest.java:355) at org.apache.jk.common.ChannelSocket.invoke (ChannelSocket.java:563) at org.apache.jk.common.ChannelSocket.processConnection (ChannelSocket.ja va:535) at org.apache.jk.common.SocketConnection.runIt (ChannelSocket.java:638) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP ool.java:533) at java.lang.Thread.run(Thread.java:536) Sep 19, 2002 6:12:45 PM org.apache.jk.common.ChannelSocket processConnection SEVERE: Error, closing connection java.net.SocketException: Software caused connection abort: JVM_recv in socket i nput stream read at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read (SocketInputStream.java:116) at java.io.BufferedInputStream.fill (BufferedInputStream.java:183) at java.io.BufferedInputStream.read1 (BufferedInputStream.java:222) at java.io.BufferedInputStream.read (BufferedInputStream.java:277) at org.apache.jk.common.ChannelSocket.read (ChannelSocket.java:471) at org.apache.jk.common.ChannelSocket.receive (ChannelSocket.java:409) at org.apache.jk.common.ChannelSocket.processConnection (ChannelSocket.ja va:524) at org.apache.jk.common.SocketConnection.runIt (ChannelSocket.java:638) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP ool.java:533) at java.lang.Thread.run(Thread.java:536) Sep 19, 2002 6:12:46 PM org.apache.jk.common.ChannelSocket processConnection WARNING: server has closed the current connection (-1) Sep 19, 2002 6:12:46 PM org.apache.jk.common.ChannelSocket processConnection WARNING: server has closed the current connection (-1) -------------------------------------------------------------------------------- --------- Test 1: RESULTS -------------------------------------------------------------------------------- --------- Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Finished 100000 requests Server Software: Microsoft-IIS/5.0 Server Hostname: localhost Server Port: 80 Document Path: /examples/jsp/index.html Document Length: 0 bytes Concurrency Level: 500 Time taken for tests: 1370.140165 seconds Complete requests: 100000 Failed requests: 99918 (Connect: 0, Length: 99918, Exceptions: 0) Write errors: 0 Non-2xx responses: 1 Total transferred: 768468823 bytes HTML transferred: 748086066 bytes Requests per second: 72.99 [#/sec] (mean) Time per request: 6.851 [ms] (mean) Time per request: 0.014 [ms] (mean, across all concurrent requests) Transfer rate: 547.72 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 3.2 0 500 Processing: 0 6838 90070.3 380 1368758 Waiting: -1032473565212 -51616909 7300544625.2 370 1368748 Total: 0 6839 90070.4 380 1368758 Percentage of the requests served within a certain time (ms) 50% 380 66% 410 75% 640 80% 1532 90% 2493 95% 3334 98% 3715 99% 5878 100% 1368758 (longest request) Test2: ab -c500 -n100000 http://localhost:8080/examples/jsp/index.html -------------------------------------------------------------------------------- --------- - start with a reboot to insure memory was cleared - inetinfo.exe process is not running - going straight to tomcat which is listening on port 8080 - at 5000 Requests CWD: D:\Tomcat 4.1\bin\ CmdLine: "d:\j2sdk1.4.0.01\bin\java" - Djava.endorsed.dirs="..\bin;..\comm on\endorsed" -classpath "d:\j2sdk1.4.0.01 \lib\tools.jar;..\bin\bootstrap.jar" -D catalina.base=".." -Dcatalina.home=".." -Djava.io.tmpdir="..\temp" org.apache.ca talina.startup.Bootstrap start VirtualSize: 204064 KB PeakVirtualSize: 208224 KB WorkingSetSize: 22760 KB PeakWorkingSetSize: 23292 KB NumberOfThreads: 38 Total System Memory Free 398396K - At end of Requests CWD: D:\Tomcat 4.1\bin\ CmdLine: "d:\j2sdk1.4.0.01\bin\java" - Djava.endorsed.dirs="..\bin;..\comm on\endorsed" -classpath "d:\j2sdk1.4.0.01 \lib\tools.jar;..\bin\bootstrap.jar" -D catalina.base=".." -Dcatalina.home=".." -Djava.io.tmpdir="..\temp" org.apache.ca talina.startup.Bootstrap start VirtualSize: 204064 KB PeakVirtualSize: 208224 KB WorkingSetSize: 22760 KB PeakWorkingSetSize: 23292 KB NumberOfThreads: 38 -------------------------------------------------------------------------------- --------- Test 1: RESULTS -------------------------------------------------------------------------------- --------- Benchmarking localhost (be patient) Completed 10000 requests Completed 20000 requests Completed 30000 requests Completed 40000 requests Completed 50000 requests Completed 60000 requests Completed 70000 requests Completed 80000 requests Completed 90000 requests Finished 100000 requests Server Software: Apache Server Hostname: localhost Server Port: 8080 Document Path: /examples/jsp/index.html Document Length: 7487 bytes Concurrency Level: 500 Time taken for tests: 246.424340 seconds Complete requests: 100000 Failed requests: 0 Write errors: 0 Total transferred: 771200000 bytes HTML transferred: 748700000 bytes Requests per second: 405.80 [#/sec] (mean) Time per request: 1.232 [ms] (mean) Time per request: 0.002 [ms] (mean, across all concurrent requests) Transfer rate: 3056.21 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 3.0 0 30 Processing: 20 1226 16162.7 150 246093 Waiting: 0 1148 16167.3 80 246083 Total: 20 1227 16162.7 150 246093 Percentage of the requests served within a certain time (ms) 50% 150 66% 160 75% 160 80% 160 90% 170 95% 190 98% 210 99% 230 100% 246093 (longest request) -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>