httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <>
Subject Re: no seg fault recovery with worker or threaded
Date Wed, 24 Oct 2001 16:04:20 GMT
Justin Erenkrantz <> writes:

> On Tue, Oct 23, 2001 at 05:00:04PM -0400, Greg Ames wrote:
> > Feeling brave, I decided to build with the threaded MPM and try a log
> > replay.  I got a bunch of seg faults very quickly, no dump, and got
> > seg-fault-but-no-dump log messages.  ps makes it look like the main
> > thread bailed out before all its worker threads exited.  The server then
> > became useless.
> > 
> > I re-built with the worker MPM, and got very similar results.  
> FWIW, I took a fresh CVS checkout and worker is restarting fine for
> me.  Can anyone else reproduce this?  I tried killing off processes
> (sending the child a SIGKILL directly), and worker spawned off a new
> process accordingly (yay!) - took about a second, but that's the
> idle server maint period, IIRC.

This is very easy to reproduce, but you need to generate a synchronous
signal like SIGSEGV/SIGILL/whatever on one of the workers.  I use a
module to do that (send it special args).  Putting "*(int *)-1 =
0xbaaaaaad;" in the code somewhere temporarily does the trick too.

When used with worker MPM on Linux to cause a worker thread to segfault:

  many threads for that process are presumably left around; ps output
  for lt-httpd shows a bunch of threads with ppid 1

  connection to browser is left open since process didn't completely
  go away taking open file descriptors with it

  server seems to process requests okay (though my browser -- IE -- is
  hung; maybe it keeps trying to use the same connection to the server)

  there is a log entry for the segfault

Try it on a different platform or different linux-kernel+glibc
combination and maybe it will work differently.

Jeff Trawick | | PGP public key at web site:
             Born in Roswell... married an alien...

View raw message