Weird crash over night with nginx
Maxim Dounin
mdounin at mdounin.ru
Mon Mar 22 19:00:02 MSK 2010
Hello!
On Mon, Mar 22, 2010 at 04:14:33PM +0100, Robert Gabriel wrote:
> And how am I suppose to do the backtrace, I mean I cant reproduce the
> error or you just need a simple backtrace?
You have to configure your system to dump cores, and once you'll
have coredump run
gdb /path/to/nginx /path/to/nginx.core
then in gdb:
bt
Depending on your OS procedure to enable core dumps is different,
but it may be simplified using nginx's own global direcitives
worker_rlimit_core and working_directory, e.g.:
worker_rlimit_core 500m;
working_directory /path/to/corefiles;
nginx must have write access to '/path/to/corefiles' directory.
Note well: it's good idea to make sure your nginx binary isn't
stripped (e.g. via file(1) command).
If you are unable to reproduce segmentation fault and therefore
unable to obtain coredump - it's still good idea to provide nginx
-V output and your config. There is a chance that segmentation
fault you've seen was already fixed or caused by known bad
configuration.
In nginx 0.8.34 I'm currently aware of at least 4 possible
segfaults: 2 caused by bugs (in fastcgi stderr handling and in
subrequest loop handling; patches are available) and 2 caused by
known bad configurations (error_page 400 redirected to named
location, "if" usage as outlined in IfIsEvil wiki page). Not even
talking about older versions.
Maxim Dounin
More information about the nginx
mailing list