Come ottenere un dump core di Apache?


8

Sto riscontrando problemi con il mio server Ubuntu 14.10. Dopo aver eseguito determinate azioni, apache2 si riavvia con un errore di segmentazione. Per eseguire il debug di questo problema, vorrei creare un dump principale. Ho fatto quanto segue:

  • aggiunto CoreDumpDirectory /tmp/apache-coredumpsal file di configurazione
  • Correre ulimit -c unlimited
  • Correre apt-get install apache2-dbg php5-dbg
  • riavviato apachee ha causato l'errore. Il registro afferma che potrebbe esserci un dump principale nella directory, tuttavia è vuoto.

Ho anche provato a usare gdb direttamente sul file eseguibile di apache2, ma apache non si avvia se non viene avviato apachectlo service apache2 start.

Come posso ottenere un dump principale per eseguire il debug del mio problema O come posso collegarmi gdbdirettamente ad Apache?



Sfortunatamente, questo non ha funzionato. Ho provato a impostare le autorizzazioni come suggerito nel primo collegamento, tuttavia non viene ancora scaricato alcun core. Conoscevo già il secondo link. In realtà non risponde alla mia domanda in un modo specifico di Ubuntu (Ubuntu non ha un eseguibile httpd e la chiamata diretta di apache2 non funziona per motivi precedentemente menzionati).
Andreas Hartmann,

Il coredump è in / tmp invece forse?
Elder Geek,

Ho specificato che il dump principale deve essere inserito in una cartella diversa, quindi non è in / tmp.
Andreas Hartmann,

Non voglio usare apport, voglio esaminare il mio problema localmente e non segnalare un errore, perché probabilmente non è un bug di Apache.
Andreas Hartmann,

Risposte:


4

ulimit -c unlimited influisce solo sulla shell corrente.

Puoi confermarlo guardando l'output cat /proc/$(pidof -s apache2).

Ho aggiunto ulimit -c unlimitedalla /etc/default/apache2e ora cat /proc/$(pidof -s apache2)/limitsinclude

Max core file size        unlimited            unlimited            bytes

Ci ho provato, ma Apache (12 LTS) non ha ancora scaricato il core. qualche idea?
Josip Rodin,

Trovato la risposta - apport è stato abilitato in /etc/default/apport, e ha cambiato il modello di dump del core del kernel per adattarsi a se stesso. Vedi serverfault.com/questions/470407/…
Josip Rodin,

echo '/tmp/apache-coredumps/core-%e.%p'> / proc / sys / kernel / core_pattern
Rudger
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.