Пустой coredump для сигнала 11

Maxim Dounin mdounin на mdounin.ru
Чт Сен 22 01:06:16 UTC 2022


Hello!

On Wed, Sep 21, 2022 at 07:27:11PM -0400, edo888 wrote:

> Спасибо за ответ. Вы правильно отметили, я сам добавил "(core not dumped)"
> во время отладки.
> 
> У меня больше 100 ГБ места. В сообщениях у меня только это:
> kernel: pid NNN (nginx), jid 0, uid 80: exited on signal 11
> 
> Не знаю, что мне еще сделать.

Если при этом core-файл создаётся, но каких-либо сообщений об 
ошибках записи дампа нет - то стоит ещё раз посмотреть на лимит 
RLIMIT_CORE.  Судя по kern/kern_sig.c и kern/imgact_elf.c - 
превышение (ненулевого) лимита это примерно единственный случай, 
когда файл будет создан, но ничего не будет записано и при этом не 
будет ошибок.

Проверьте размеры рабочих процессов, и поднимите лимит 
worker_rlimit_core до значения, перекрывающего размеры рабочих 
процессов с запасом.  Ну и не забудьте перезагрузить конфигурацию 
и/или перезапустить nginx.  (Just in case, текущие лимиты рабочих 
процессов можно посмотреть или поменять с помощью команды
"limits -P <pid>").

И лучше после этого протестировать работу дампа явно руками, 
послав что-нибудь вроде сигнала 6 (abort) одному из рабочих 
процессов.  При реальном падении размер рабочего процесса 
непосредственно перед падением может резко вырасти, скажем, если у 
вас там какой-нибудь код, который сначала выделяет много памяти, и 
только потом падает.

-- 
Maxim Dounin
http://mdounin.ru/



Подробная информация о списке рассылки nginx-ru