Depurando sigsegv com falha no Apache

1

Qual é a melhor maneira de obter backtraces significativos do gdb a partir do servidor Apache que se comporta mal na produção?

 [Tue Aug 02 16:07:12 2011] [notice] child pid 27681 exit signal Segmentation fault (11)

Provavelmente é algum módulo do Apache fazendo coisas ruins, mas eu preciso do traceback gdb simbólico para começar a depurar o que e onde.

  • Como ativar símbolos de depuração para o Apache no Ubuntu

  • Como extrair um e apenas um dump principal do filho do Apache

  • Como reabrir este arquivo no gdb

Ubuntu 8.04 / Linux.

    
por Mikko Ohtamaa 02.08.2011 / 18:16

1 resposta

1

Veja configurar um servidor web Apache para o core dump em falhas de segmentação .

Você também pode precisar definir o limite de tamanho do dump principal como ilimitado em /etc/security/limits.conf :

*    hard    core    unlimited

Faça o login, verifique se o tamanho do núcleo não está limitado dizendo ulimit -a e reinicie o apache.

Para analisar o arquivo principal, inicie o gdb:

gdb /usr/lib/apache2/mpm-worker/apache2 /path/to/core.dump

O comando bt do gdb imprime o rastreio da pilha.

    
por 03.08.2011 / 04:05