tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <rainer.j...@kippdata.de>
Subject Re: Abandoned apache children with mod_jk
Date Sat, 22 Jun 2013 17:30:56 GMT
On 21.06.2013 19:47, Chris Boyce wrote:
> Hello,
> 
> I'm running apache 2.2.24 (worker MPM) with mod_jk 1.2.37 under Solaris 11, compiled
as follows (from config.log):
> 
> --with-included-apr --with-mpm=worker --enable-so --enable-rewrite --enable-headers --enable-proxy
--enable-proxy-http --enable-expires --enable-nonportable-atomics=yes --disable-include --disable-autoindex
--disable-imap --disable-userdir CC=/usr/sfw/bin/gcc
> 
> We are running Tomcat 7.0.32.
> 
> Since moving to Solaris 11 I'm noticing over time that apache children are getting left
in an idle state (and usually not showing up on the scoreboard at all) when doing graceful
restarts.  If I do a hard restart, the error_log notes that the process had to be forcibly
killed:
> 
> [Wed May 15 11:41:24 2013] [warn] child process 10057 still did not exit, sending a SIGTERM
> [Wed May 15 11:41:26 2013] [error] child process 10057 still did not exit, sending a
SIGKILL
> 
> If I let apache go unchecked, it will eventually stop passing traffic completely and
a hard restart is required.  Example ps output looks like this:
> 
> nobody 24429 20925   0 11:43:59 ?           0:02 /usr/local/apache2/bin/httpd -k start
> nobody  9750 20925   0 23:59:02 ?           0:00 /usr/local/apache2/bin/httpd -k start
> nobody 20925  2440   0   May 15 ?           3:07 /usr/local/apache2/bin/httpd -k start
> nobody 24689 20925   0 11:47:52 ?           0:00 /usr/local/apache2/bin/httpd -k start
> nobody 24628 20925   0 11:46:18 ?           0:01 /usr/local/apache2/bin/httpd -k start
> nobody 24428 20925   0 11:43:39 ?           0:02 /usr/local/apache2/bin/httpd -k start
> 
> Note PID 9750 is lingering, doing nothing according to pfiles and truss, and its timestamp
coincides with the last graceful restart (log rotation).  Two main differences between this
web server and ones that are working include:
> 
> a) This is Solaris 11 (vs. Solaris 10)
> b) I have hardened apache by putting it in a Solaris 11 zone, and I'm starting apache
as the "nobody" user with the net_privaddr privilege so it can function as the parent process.
 It talks to Tomcat on another zone and everything works great (other than the problem described
here).
> 
> Apache has permission to write to /logs, and /log/apache2 is where I set these:
> 
> JkLogFile /logs/apache2/mod_jk.log
> JkShmFile /logs/apache2/jk-runtime-status
> 
> And this.
> PidFile /logs/apache2/run/httpd.pid
> 
> 
> Can anyone think of a reason why children are not being recycled or getting stranded
like this over successive graceful restarts?  We do use multiple listeners, so I don't know
if I'm dealing with a locking/mutex/serialization type of issue.  I'm not a C programmer.
 There seems to be little info out there for Solaris platforms that's recent.  
> 
> I'd be happy to post more info if needed.  I appreciate your time.

What does "pstack" show for such an abandoned child?

Maybe another occurance of
https://issues.apache.org/bugzilla/show_bug.cgi?id=49504.

Regards,

Rainer


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message