Baca /usr/src/linux/Documentation/sysctl/kernel.txt.
core_pattern digunakan untuk menentukan nama pola core dumpfile.
- Jika karakter pertama dari pola adalah '|', kernel akan memperlakukan sisa pola sebagai perintah untuk dijalankan. Dump inti akan ditulis ke masukan standar dari program itu, bukan ke file.
Alih-alih menulis dump inti ke disk, sistem Anda dikonfigurasikan untuk mengirimkannya ke abrt
(artinya:Alat Pelaporan Bug Otomatis, bukan program "batalkan") sebagai gantinya. Alat Pelaporan Bug Otomatis mungkin tidak didokumentasikan sebagaimana mestinya...
Bagaimanapun, jawaban cepatnya adalah Anda harus dapat menemukan file inti Anda di /var/cache/abrt
, di mana abrt
menyimpannya setelah dipanggil. Demikian pula, sistem lain yang menggunakan Apport dapat menghilangkan inti di /var/crash
, dan seterusnya.
Pada Ubuntu baru-baru ini (12,04 dalam kasus saya), "Segmentation fault (core dumped)" mungkin akan dicetak, tetapi tidak ada file inti yang dihasilkan di tempat yang Anda harapkan (misalnya untuk program yang dikompilasi secara lokal).
Ini dapat terjadi jika Anda memiliki ukuran file inti ulimit 0 (Anda belum melakukan ulimit -c unlimited
) -- ini adalah default di Ubuntu. Biasanya itu akan menekan "(core dumped)", memberi petunjuk kepada Anda tentang kesalahan Anda, tetapi di Ubuntu, file inti disalurkan ke Apport (sistem pelaporan kerusakan Ubuntu) melalui /proc/sys/kernel/core_pattern
, dan ini sepertinya menyebabkan pesan yang menyesatkan.
Jika Apport menemukan bahwa program yang dipermasalahkan bukan program yang seharusnya dilaporkan mogok (yang dapat Anda lihat terjadi di /var/log/apport.log
), ini kembali ke simulasi perilaku kernel default dengan meletakkan file inti di cwd (ini dilakukan di skrip /usr/share/apport/apport
). Ini termasuk menghormati ulimit, dalam hal ini tidak melakukan apa-apa. Tapi (saya asumsikan) sejauh menyangkut kernel, sebuah corefile dibuat (dan disalurkan ke apport), maka muncul pesan "Segmentation fault (core dumped)".
Pada akhirnya PEBKAC karena lupa menyetel ulimit, tetapi pesan yang menyesatkan membuat saya berpikir saya akan gila untuk sementara waktu, bertanya-tanya apa yang memakan file inti saya.
(Juga, secara umum, halaman manual inti(5) -- man 5 core
-- adalah referensi yang bagus untuk mengetahui di mana file inti Anda berakhir dan alasan file tersebut mungkin tidak ditulis.)