Bug#850074: systemd: "Freezing execution" mode breaks batch upgrades
Michael Biebl
biebl at debian.org
Tue Jan 3 21:29:20 GMT 2017
Control: retitle -1 systemd crashes on daemon-reexec when /run is full
Am 03.01.2017 um 22:25 schrieb Zack Weinberg:
> On Tue, Jan 3, 2017 at 3:55 PM, Michael Biebl <biebl at debian.org> wrote:
>> Am 03.01.2017 um 21:41 schrieb Zack Weinberg:
>
>> Hm, yes. It looks like the system (or systemd specifically) was already
>> in a bad state before the daemon-reexec and the crash/freeze was a
>> result of that.
>
> Indeed. The problem was /run being full. Here is a reproduction recipe:
>
> # cat /dev/zero > /run/eatspace
> cat: write error: No space left on device
> # df -h | grep /run
> tmpfs 128M 128M 0 100% /run
> # apt-get install --reinstall systemd
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> 0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 3 not upgraded.
> Need to get 0 B/2,453 kB of archives.
> After this operation, 0 B of additional disk space will be used.
> (Reading database ... 269661 files and directories currently installed.)
> Preparing to unpack .../systemd_232-8_amd64.deb ...
> Unpacking systemd (232-8) over (232-8) ...
> Setting up systemd (232-8) ...
> addgroup: The group `systemd-journal' already exists as a system group. Exiting.
>
> Broadcast message from systemd-journald at kenaz (Tue 2017-01-03 16:16:42 EST):
>
> systemd[1]: Freezing execution.
>
>
> Message from syslogd at kenaz at Jan 3 16:16:42 ...
> systemd[1]: Freezing execution.
> Failed to try-restart systemd-networkd.service: Connection timed out
> See system logs and 'systemctl status systemd-networkd.service' for details.
> Failed to try-restart systemd-resolved.service: Connection timed out
> See system logs and 'systemctl status systemd-resolved.service' for details.
> Failed to try-restart systemd-timesyncd.service: Connection timed out
> See system logs and 'systemctl status systemd-timesyncd.service' for details.
> Processing triggers for man-db (2.7.6.1-2) ...
> Processing triggers for dbus (1.10.14-1) ...
> Error: Timeout was reached
>
> And I get the same "Failed to serialize state: Input/output error" in
> the logs. There is no /core file produced, though.
>
> I don't know *why* /run was full originally, since it gets cleared on
> reboot, but at a minimum I suggest that systemd.preinst should abort
> the upgrade if /run is full.
Aha, thanks a lot for the reproducer. This helps a lot!
Will forward this issue upstream. daemon-reexec should handle the case
of a full /run more gracefully.
Regards,
Michael
--
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20170103/ac01f61e/attachment-0002.sig>
More information about the Pkg-systemd-maintainers
mailing list