LINUX.ORG.RU
ФорумAdmin

potentially unexpected fatal signal 9


0

1

Молча падает демон хотя у него перехвачены все сигналы, в /var/log/messages вижу строку:

progname/pid potentially unexpected fatal signal 9

что это? как это понимать? кто ему kill -9 мог послать?

★★★★
Ответ на: комментарий от true_admin

я знаю что не перехватишь, но почему SIGKILL а не SIGSEGV ???
как узнать подробности из за чего???

quest ★★★★
() автор топика

До этого в логе встречается фраза связанная с портом который использует демон:

possible SYN flooding on port XXX. Sending cookies.

может ядру что-то тут не понравилось и оно отправляет -9 процессу?
как это лечить?

quest ★★★★
() автор топика
Ответ на: комментарий от quest

А у тебя память не кончалась? Может oom прибил таск... Ты точно не мог прибить процесс руками? А какой-нить скрипт мониторинга или rc-скрипт?

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

не кончалась - я думал об этом - у меня раз в минуту на кроне скрипт в лог пишет страницу топа - top -b -n 1

судя по топу в тот момент все нормально - памяти еще гигабайты - может вот с possible SYN flooding это связано?

quest ★★★★
() автор топика
Ответ на: комментарий от quest

так, а что у тебя за ОС? :) А то я видел вендоры патчи всякие накладывают на эту тему, может у тебя всё не как у меня работает.

true_admin ★★★★★
()
Ответ на: комментарий от quest

x86_64 памяти 24 гига, Intel(R) Xeon(R) 8 ядер

quest ★★★★
() автор топика
Ответ на: комментарий от quest

А где вы это обсуждали. Вроде sigkill всегда fatal, должен всегда выводиться.

Наверное, можно пропатчить ядро, чтобы оно выводило не только сообщение и номер сигнала, но и другую информацию о сигнале.

mky ★★★★★
()
Ответ на: комментарий от mky

>А где вы это обсуждали. В develop. Если процесс прибило ядро то меня очень интересует почему именно! Как бы это узнать? Все перехватываемые сигналы перехвачены и логируются в лог и при не возможности и в syslog то-же. В данном слуае тишина за исключением строчки которую я привел в самом начале(((

quest ★★★★
() автор топика

я уже сырцы ядра сморю 2.6.36, там такая строка только в одном месте в kernel/signal.c : print_fatal_signal()

quest ★★★★
() автор топика
Ответ на: комментарий от quest

Запускаем в одной консоли программу «sleep 456» из другой консоли смотрим pid запущенного процесса и делаем ему «kill -9». Получаем в логах именно ваше сообщение. Можете сами проверить.

Относительно патчинья ядра, то ИМХО, нужно передавть в print_fatal_signal() всю структуру siginfo_t *info, и там распечатывать нужные поля, si_code и si_pid. Другое дело, там может быть pid команды kill, вызванной из скрипта...

mky ★★★★★
()
Ответ на: комментарий от quest

В центосе ядро 2.6.18-194.el5 и нужно смотреть его исходники, а пытаться закатывать туда 2.6.36, ИМХО, не зачем.

mky ★★★★★
()
Ответ на: комментарий от mky

>Можете сами проверить.

Как не странно это действительно так... хм...
А в Debian при echo 1 > /proc/sys/kernel/print-fatal-signals
такого нету...
Может это старый админ как то гадит или его хитрозакопанные программы...
Что-ж в скором времени все равно сервер будет переустанавливаться, отставлю систему с нуля посмотрим...
Других идей нету о том что может посылать kill -9 ?)

quest ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.