Pergunta

Estou executando Redmine no Apache 2 com mod_rails (passageiros) 2.0.3 e da Empresa de Ruby 1.8.6. De vez em quando eu fico um segfault de Apache quando tento login. Alguém sabe como eu pode depurar este problema? Eu vejo algo assim na error.log do Apache:

[Mon 19 jan 17:09:48 2009] [Aviso] criança pid 8714 falha da segmentação do sinal de saída (11)

A única maneira que eu posso obter a aplicação ao trabalho depois que é reiniciar o sistema inteiro (reiniciar Apache única não ajuda).

Foi útil?

Solução

Os primeiros passos são:

  1. Saiba onde o arquivo de núcleo está sendo deixado em seu sistema (permitir descarregar um core se necessário).

  2. Executar file(1) no arquivo core resultante. Isso provavelmente vai dizer "... gerado pelo httpd", mas é assim que verificar.

  3. Fire-se gdb contra o nome do executável a partir de (2) e o arquivo de núcleo a partir de (1), e começar a cavar. O where de comando (ou bt) é um bom lugar para começar:. Isso vai lhe dar um rastreamento de pilha no momento o processo despejado núcleo

Parece que você não tem uma massa de C experiência de codificação, então boa sorte! Rastrear esse tipo de erro pode ser um cão real. Você pode tentar postar o rastreamento de pilha a partir de (3) aqui, mas não prenda a respiração enquanto espera por uma resposta. Na melhor das hipóteses, o nome da função não pode ser um bom string para alimentação para o Google.

Outras dicas

Eu corri para um problema semelhante com um segfault (11). Encontrado o seguinte em ServerFault que oferecido um melhoramento como uma solução.

Foi executando uma versão mais antiga do Ubuntu e teve o problema segfault. A do-release-upgrade trouxe meu sistema Ubuntu 11.10 eo problema magicamente desapareceu.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top