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 root4u VREG 136,0 3023 848146
/l/apache/logs/localhost/two_mod_jk_log
httpd 21307 root5u VREG 136,0 3023 848147
/l/apache/logs/localhost/one_mod_jk_log
httpd 21307 root6u VREG 136,0 3023 848146
/l/apache/logs/localhost/two_mod_jk_log
httpd 21307 root7u 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 root4u VREG 136,0 5028 848146
/l/apache/logs/localhost/two_mod_jk_log
httpd 21307 root5u VREG 136,0 5029 848147
/l/apache/logs/localhost/one_mod_jk_log
httpd 21307 root6u VREG 136,0 5028 848146
/l/apache/logs/localhost/two_mod_jk_log
httpd 21307 root7u VREG 136,0 5029 848147
/l/apache/logs/localhost/one_mod_jk_log
httpd 21307 root8u VREG 136,0 5028 848146
/l/apache/logs/localhost/two_mod_jk_log
httpd 21307 root9u 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]