Como obter um dump principal do apache ao segfaulting


12

Eu segui instruções de vários locais online sobre como obter um dump principal do apache quando ele está produzindo um segfault, mas ele ainda se recusa a gerar o dump.

Eu tenho:

  1. Adicionada a CoreDumpDirectorydiretiva ao httpd.confarquivo e defina-a como/tmp
  2. Executado ulimit -c unlimited
  3. Forneceu o padrão para despejos usando echo '/tmp/core-%e.%p' > /proc/sys/kernel/core_pattern
  4. Também correu echo 0 > /proc/sys/kernel/core_uses_pid

Httpd foi reiniciado, mas ainda não foram criados dumps.

Estou executando o CentOS 5.8 x64 com httpd-2.2.3-65.el5.centos.3ephp-5.3.20-13.el5.art

Qualquer ajuda seria muito apreciada!


O apache tem permissão para gravar no arquivo especificado na diretiva CoreDumpDirectory? Deve ser de propriedade do apache.
Valentin Bajrami

Eu defini-lo para / tmp que é gravável publicamente, mas vou tentar em outro lugar e dar-lhe a propriedade para apache
chrismcb

Obrigado - isso produziu um despejo, mas não no lugar que eu o coloquei! Eu definir o CoreDumpDirectoryque /tmp/dumpse despejado para /tmp... agora com a depuração
chrismcb

Fico feliz que você tenha entendido!
Valentin Bajrami

Respostas:


7

Minha resposta é esta:

  1. Configure a diretiva da seguinte maneira

    CoreDumpDirectory /tmp/mycoredump

  2. Crie o diretório:

    mkdir -p /tmp/mycoredump

  3. Atribuir propriedade ao diretório www-data ou httpd

    chown -R www-data:www-data /tmp/mycoredump

  4. Defina permissões para:

    chmod 777 /tmp/mycoredump

  5. Reinicie o Apache:

    service apache2 restart


Sim, fiz exatamente isso, mas acabou sendo despejado de /tmpqualquer maneira!
Chrismcb

6
Nunca é uma boa idéia para chmod 777nada
sendmoreinfo

1
@sendmoreinfo Mas e se o seu caso de uso estiver tornando algo totalmente modificável e executável para o mundo exterior? ;-)
avgvstvs

8
Você pode dar um tiro no próprio pé, apenas não pregue isso.
sendmoreinfo
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.