On Wed, Sep 2, 2015 at 4:48 PM, Thomas Haller <[email protected]> wrote:
> On Wed, 2015-09-02 at 15:52 +0200, Andreas Müller wrote:
>> Hi
>>
>> since a while shutting down my embedded device has a delay of 10s. I
>> see:
>>
>> [  OK  ] Stopped D-Bus System Message Bus.
>> [  OK  ] Stopped Network Manager.
>> [  OK  ] Stopped Kernel Logging Service.
>> ...
>> [  OK  ] Reached target Shutdown.
>> [ 5778.268022] systemd-shutdown[1]: Sending SIGTERM to remaining
>> processes...
>> [ 5778.293797] systemd-journald[131]: Received SIGTERM from PID 1
>> (systemd-shutdow).
>> [ 5788.305137] systemd-shutdown[1]: Sending SIGKILL to remaining
>> processes...
>> [ 5788.339046] systemd-shutdown[1]: Sending SIGKILL to PID 11829
>> (dhclient).
>> ...
>>
>> From this log I gather:
>>
>> 1) networkmanager does not stop dhclient (although it started it -
>> right?)
>> 2) dhclient does not catch SIGTERM
>>
>> Further investigation lead to the following commit in dhcp [1]
>>
>> commit e9326fd0f4561db5496f18523da15612213bd1b4
>> Author: Shawn Routhier <[email protected]>
>> Date:   Wed Jul 2 08:49:19 2014 -0700
>>
>>     [master] Add define to disable gentle shutodwn by default
>>
>>     Add a define to disable the gentle shutdown feature by default.
>>     The feature has some effects (recover-wait in failvoer pairs)
>>     and release in clients that are always desired.  We plan to
>>     revisit this in order to make it easier to use but with the
>>     define it can be enabled if necessary.
>>
>> My current conclusion:
>>
>> networkmanager does not stop dhclient during shutdown (but it
>> should?). This was wiped away by systemd killing dhclient by sending
>> SIGTERM. Now that dhclient ignores SIGTERM, systemd waits 10s and
>> kills dhclient by SIGKILL which is the delay I see.
>>
>> FWIW: I worked around the shutdown delay by
>>
>> #define ENABLE_GENTLE_SHUTDOWN
>>
>> in dhcp but I think this is a workaround so I ask here.
>>
>> What do experts think?
>
> Hi,
>
>
> On shutdown, NetworkManager receives SIGTERM from systemd.
> NM does in that moment not know the reason for the shutdown.
> It is indistinguishable from a `systemctl restart`,
> or `systemctl start`, or `systemd isolate rescue.target`...
>
> NetworkManager always leaves your ethernet interfaces up when it
> terminates. (Wifi actually gets disconnected, but I think that is
> rather a bug than a feature).
> It does so, because it does not want to break your network
> connectivity.
I was not aware of that and simply thinking a process which spawns
others is responsible to kill them.
>
> Isn't this a bug in dhclient?
>
Yes - but I thought we had a bug here too. Now I learned it is
expected behaviour.
>
> Not a real solution, but you could use the internal DHCP client,
> by setting
>   [main]
>   dhcp=internal
> in NetworkManager.conf.
>
>
Yes I could (as said I worked around already by enabling 'gentle'
shutdown in dhclient).

Andreas
_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to