Cara mendapatkan dump inti dari apache saat melakukan segfaulting


12

Saya telah mengikuti instruksi dari banyak lokasi online tentang cara mendapatkan dump inti dari apache ketika memproduksi segfault, tetapi masih menolak untuk menghasilkan dump.

Saya sudah:

  1. Menambahkan CoreDumpDirectoryarahan ke dalam httpd.conffile dan mengaturnya/tmp
  2. Dieksekusi ulimit -c unlimited
  3. Disediakan pola untuk dump menggunakan echo '/tmp/core-%e.%p' > /proc/sys/kernel/core_pattern
  4. Juga berlari echo 0 > /proc/sys/kernel/core_uses_pid

Httpd telah dimulai ulang, tetapi masih belum ada dump yang dibuat.

Saya menjalankan CentOS 5.8 x64 dengan httpd-2.2.3-65.el5.centos.3danphp-5.3.20-13.el5.art

Bantuan apa pun akan sangat dihargai!


Apakah apache memiliki izin untuk menulis ke file yang Anda tentukan dalam arahan CoreDumpDirectory? Itu harus dimiliki oleh apache.
Valentin Bajrami

Saya telah mengaturnya ke / tmp yang dapat ditulis untuk umum, tetapi saya akan mencoba di tempat lain dan memberikannya ke apache
chrismcb

Terima kasih - itu memang menghasilkan dump, tetapi tidak di tempat saya mengaturnya! Saya mengatur CoreDumpDirectoryke /tmp/dumpsdan itu dibuang ke /tmp... sekarang dengan debugging
chrismcb

Senang Anda menemukan jawabannya!
Valentin Bajrami

Jawaban:


7

Jawaban saya adalah ini:

  1. Atur arahan sebagai berikut

    CoreDumpDirectory /tmp/mycoredump

  2. Buat direktori:

    mkdir -p /tmp/mycoredump

  3. Tetapkan kepemilikan ke direktori www-data atau httpd

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

  4. Tetapkan izin untuk:

    chmod 777 /tmp/mycoredump

  5. Mulai ulang Apache:

    service apache2 restart


Ya, saya melakukan hal itu, tetapi akhirnya saya /tmptetap melakukannya!
chrismcb

6
Tidak pernah merupakan ide yang baik untuk chmod 777apa pun
sendmoreinfo

1
@sendmoreinfo Tapi bagaimana jika use case Anda membuat sesuatu yang sepenuhnya dapat dimodifikasi dan dieksekusi ke dunia luar? ;-)
avgvstvs

8
Anda diizinkan menembak diri sendiri, tapi jangan memberitakan hal ini.
sendmoreinfo
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.