tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 12837] New: - Possible Memory Leak in I_R2.dll
Date Thu, 19 Sep 2002 22:51:51 GMT
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: tomcat-dev@jakarta.apache.org
        ReportedBy: marcus.kellermann@bentley.com
                CC: robert.priest@bentley.com


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:tomcat-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-dev-help@jakarta.apache.org>


Mime
View raw message