У меня проблема, когда процесс Python сталкивается с ошибкой сегментации, но не создает файл ядра.
Ниже приведен игрушечный пример, который не создает файл ядра в следующих дистрибутивах:
- Ubuntu 12.10
- Fedora 18
но производит основные файлы в следующих дистрибутивах:
- Научный Linux 6
- Mac OS X
Репродукция:
$ python -c 'import time; time.sleep(120)'&
$ kill -abrt $! [1]+
Aborted python -c 'import time; time.sleep(120)'
$ ls core* ls: cannot access core*: No such file or directory
Однако, если я отправляю аналогичный сигнал в sleep
экземпляр, я получаю файл ядра:
$ sleep 120 &
$ kill -abrt $!
[1]+ Aborted (core dumped) sleep 120
$ ls core*
core.8603
На моей коробке Fedora 18 вот мой /proc/sys/kernel/core_pattern
:
$ cat /proc/sys/kernel/core_pattern
core
И я установил следующее:
$ ulimit -c
unlimited
Это воспроизводимо независимо от того, запущена служба abrtd
или нет.
Я почти уверен, что пропустил некоторую базовую конфигурацию, но я не знаю что. Спасибо!
РЕДАКТИРОВАТЬ: Это может быть решено с помощью:
$ echo 1 >/proc/sys/fs/suid_dumpable