Hi all.

I have a tomcat setup that works through mod_jk-1.2.5 and Apache
1.3.28, running on Solaris 7 and Solaris 8 boxes.  I've found what
appears to be a file descriptor leak.  I haven't been able to find
mention of this on http://marc.theaimsgroup.com/?l=tomcat-user, or in
apache's bug reporting database.

I was hoping to see whether anyone else had seen similar behavior,
or if anyone else could reproduce it.

After a cold start, this is what the list of open fd's looks like.
"one_mod_jk_log" and "two_mod_jk_log" are files named by JkLogFile
directives (there are two JkLogfile directives, each in a different
VirtualHost container in srm.conf).

  $ lsof -p `cat /etc/httpd.pid ` | grep _jk
  httpd   21307 root  txt   VREG         136,0   834728 958215 
/l/apache/libexec/mod_jk.so
  httpd   21307 root    4u  VREG         136,0     3023 848146 
/l/apache/logs/localhost/two_mod_jk_log
  httpd   21307 root    5u  VREG         136,0     3023 848147 
/l/apache/logs/localhost/one_mod_jk_log
  httpd   21307 root    6u  VREG         136,0     3023 848146 
/l/apache/logs/localhost/two_mod_jk_log
  httpd   21307 root    7u  VREG         136,0     3023 848147 
/l/apache/logs/localhost/one_mod_jk_log

After signaling the server to restart, the number of open descriptors
increases.  (/etc/httpd.pid is Apache's PidFile).

  $ kill -HUP `cat /etc/httpd.pid `
  $ lsof -p `cat /etc/httpd.pid ` | grep _jk
  httpd   21307 root  txt   VREG         136,0   834728 958215 
/l/apache/libexec/mod_jk.so
  httpd   21307 root    4u  VREG         136,0     5028 848146 
/l/apache/logs/localhost/two_mod_jk_log
  httpd   21307 root    5u  VREG         136,0     5029 848147 
/l/apache/logs/localhost/one_mod_jk_log
  httpd   21307 root    6u  VREG         136,0     5028 848146 
/l/apache/logs/localhost/two_mod_jk_log
  httpd   21307 root    7u  VREG         136,0     5029 848147 
/l/apache/logs/localhost/one_mod_jk_log
  httpd   21307 root    8u  VREG         136,0     5028 848146 
/l/apache/logs/localhost/two_mod_jk_log
  httpd   21307 root    9u  VREG         136,0     5029 848147 
/l/apache/logs/localhost/one_mod_jk_log

After the HUP, there are two additional file descriptors open.
Another HUP will open up two more, and so forth.  USR1 (aka apachectl
graceful) seems to produce similar results.

The problem really shows itself with log rotations; you need to
restart the server in order to have it close and reopen its logfiles.
But in this case, the parent httpd process eventually runs out of file
descriptors and dies. :(

mod_jk-1.2.3 shows the same behavior.

If any of the other mod_jk/apache users wouldn't mind trying to
reproduce this, I'd very much appreciate knowing what you found.
Likewise, if anyone could offer a pointer to a workaround.

Thanks in advance.

-- 
Steve

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to