[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: systemd в jessie умирает с SIGFPE



On Sat, Sep 12, 2015 at 04:37:59PM +0300, Yuriy M. Kaminskiy wrote:
> Я только что нарвался на неприятный баг: на попытке перезапустить (не
> полностью стартовавший) сервис, systemd помер с SIGFPE на целочисленном
> делении на 0 (точнее, намерено завис в обработчике сигнала). При этом
> systemd не реагирует ни на что [systemctl, kill -INT 1, и т.д.], не

 Ядро линукса не блокирует передачу таких сигналов процессу с pid=1.

> подбирает zombie, систему можно перезапустить только вручную (убив
> процессы и перемонтировав fs в read-only; ну, или через
> alt-sysrq-e-u-s-b; halt/reboot, естественно, не работают), и.т.д.

 Как видно из /etc/inittab, для halt/reboot выполняются скрипт
 /etc/init.d/rc с аргументом 0 или 6. Это и есть штатный способ
 остановки системы. После отработки "rc 0/6" init должен сделать вызов
 reboot(2) с нужными аргументами. Собственно, если компьютер под рукой,
 то можно просто нажать кнопку. Если же он далеко, и никаких инженеров
 дежурной смены рядом нет (а у меня так почти везде), то можно извернуться
 и вызвать сискол perl'ом -- нужен лишь смонтированный на чтение /usr.
 Мне доводилось так ребутать машины, этот способ вполне рабочий.
-- 
 Eugene Berdnikov


Reply to: