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

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



yumkam@gmail.com (Yuriy M. Kaminskiy) writes:

> Eugene Berdnikov <bd4@protva.ru> writes:
>
>> On Sat, Sep 12, 2015 at 06:09:07PM +0300, Eugene Berdnikov wrote:
>>> On Sat, Sep 12, 2015 at 04:37:59PM +0300, Yuriy M. Kaminskiy wrote:
>>> > Я только что нарвался на неприятный баг: на попытке перезапустить (не
>>> > полностью стартовавший) сервис, systemd помер с SIGFPE на целочисленном
>>> > делении на 0 (точнее, намерено завис в обработчике сигнала). При этом
>>> > systemd не реагирует ни на что [systemctl, kill -INT 1, и т.д.], не
>>> 
>>>  Ядро линукса не блокирует передачу таких сигналов процессу с pid=1.
>>
>>  Оговорился. Наоборот, блокирует. :)
>
> Каких "таких"? SIGFPE? И что бы оно должно было делать по делению на
> ноль? По факту, systemd этот сигнал получает, и реагирует зависанием
> (зовёт freeze(), внутри которого он закрывает все дескрипторы и
> крутится в for(;;) pause();, см. TFS).
>
> [...] kernel: [X.X] traps: systemd[1] trap
>  divide error ip:f772106f sp:ffabdaf4 error:0 in systemd[f765d000+130000]
> [...] systemd[1]: Caught <FPE>, dumped core as pid 4661.
> [...] systemd[1]: Freezing execution.
>
> (корку я посмотрел, backtrace идентичен #774012).
>
> Ожидаемая реакция systemd на SIGINT/SIGTERM и так далее прописана в
> man systemd (SIGTERM эквивалентен systemctl daemon-reexec, SIGINT
> эквивалентен systemctl reboot); в состоянии "намеренного зависания
> внутри обработчика SIGFPE" systemd ни на какие сигналы не реагирует.

... в любом случае, вопрос не в деталях этого бага (всё необходимое есть
в #774012, баг признан, локализован и исправлен в upstream), а в том что:

Есть баг с Severity: important, в критичном компоненте системы, который:

1) был отправлен (не мной) *до* релиза jessie;
2) отмечен как исправленный (и даже ушёл в архив) в трекере;
3) *не был* тем не менее исправлен в jessie, исправленная версия
отсутствует в jessie-backports, и так далее;
4) судя по всему, срабатывает случайно, никаких путей обхода или
очевидных "а вы не делайте так" нет.

WTF?


Reply to: