FS#67530 - [netctl] system update causes network failure

Attached to Project: Arch Linux
Opened by Rob (Painless) - Saturday, 08 August 2020, 15:04 GMT
Last edited by Jouke Witteveen (jouke) - Saturday, 08 August 2020, 16:36 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Jouke Witteveen (jouke)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: After updating linux (5.7.11.arch1-1 -> 5.7.12.arch1-1) and systemd (245.7-1 -> 246-1) the following messages are logged:
[2020-08-08T15:13:06+0100] [ALPM] running '20-systemd-sysusers.hook'...
[2020-08-08T15:13:06+0100] [ALPM] running '30-systemd-catalog.hook'...
[2020-08-08T15:13:06+0100] [ALPM] running '30-systemd-daemon-reload.hook'...
[2020-08-08T15:13:06+0100] [ALPM] running '30-systemd-hwdb.hook'...
[2020-08-08T15:13:06+0100] [ALPM] running '30-systemd-sysctl.hook'...
[2020-08-08T15:13:06+0100] [ALPM-SCRIPTLET] Not setting net/ipv4/conf/all/rp_filter (explicit setting exists).
[2020-08-08T15:13:06+0100] [ALPM-SCRIPTLET] Not setting net/ipv4/conf/default/rp_filter (explicit setting exists).
[2020-08-08T15:13:06+0100] [ALPM-SCRIPTLET] Not setting net/ipv4/conf/all/accept_source_route (explicit setting exists).
[2020-08-08T15:13:06+0100] [ALPM-SCRIPTLET] Not setting net/ipv4/conf/default/accept_source_route (explicit setting exists).
[2020-08-08T15:13:06+0100] [ALPM-SCRIPTLET] Not setting net/ipv4/conf/all/promote_secondaries (explicit setting exists).
[2020-08-08T15:13:06+0100] [ALPM-SCRIPTLET] Not setting net/ipv4/conf/default/promote_secondaries (explicit setting exists).
[2020-08-08T15:13:06+0100] [ALPM] running '30-systemd-tmpfiles.hook'...
[2020-08-08T15:13:06+0100] [ALPM] running '30-systemd-udev-reload.hook'...
[2020-08-08T15:13:06+0100] [ALPM] running '30-systemd-update.hook'...
[2020-08-08T15:13:06+0100] [ALPM] running '60-depmod.hook'...
[2020-08-08T15:13:13+0100] [ALPM] running '90-mkinitcpio-install.hook'...

After reboot:
Networking (netctl) completely fails to run
TwinView stops working

Reverting back to previous versions (of everything updated) fixes these problems, no sysctl warnings are generated:
[2020-08-08T15:32:33+0100] [ALPM] running '20-systemd-sysusers.hook'...
[2020-08-08T15:32:33+0100] [ALPM] running '30-systemd-catalog.hook'...
[2020-08-08T15:32:33+0100] [ALPM] running '30-systemd-daemon-reload.hook'...
[2020-08-08T15:32:33+0100] [ALPM] running '30-systemd-hwdb.hook'...
[2020-08-08T15:32:34+0100] [ALPM] running '30-systemd-sysctl.hook'...
[2020-08-08T15:32:34+0100] [ALPM] running '30-systemd-tmpfiles.hook'...
[2020-08-08T15:32:34+0100] [ALPM] running '30-systemd-udev-reload.hook'...
[2020-08-08T15:32:34+0100] [ALPM] running '30-systemd-update.hook'...
[2020-08-08T15:32:34+0100] [ALPM] running '60-depmod.hook'...
[2020-08-08T15:32:40+0100] [ALPM] running '90-mkinitcpio-install.hook'...

After rebooting again Networking and TwinView work as expected.

Please let me know if additional information is required. My build is a vanilla build, no unusual changes or modifications.


This task depends upon

Closed by  Jouke Witteveen (jouke)
Saturday, 08 August 2020, 16:36 GMT
Reason for closing:  Not a bug
Comment by Doug Newgard (Scimmia) - Saturday, 08 August 2020, 15:33 GMT
And *why* does netctl fail to run? That's what we need logs from.
Comment by T. Baumann (dtbaumann) - Saturday, 08 August 2020, 15:58 GMT
Maybe because of a .include directive /etc/systemd/system/netctlxxxx.service which is no longer supported (hit me yesterday).

the boot log will have something like
/etc/systemd/system/netctl@enp3s0.service:1: .include directives are deprecated, and support for them will be removed

From the NEWS of systemd 246

* Support for the .include syntax in unit files has been removed. The
concept has been obsolete for 6 years and we started warning about
its pending removal 2 years ago (also see NEWS file below). It's
finally gone now.

remedy:
https://bbs.archlinux.org/viewtopic.php?id=241039

All too easy with the excellent support and responsiveness of the arch fellows... thanks
Comment by Jouke Witteveen (jouke) - Saturday, 08 August 2020, 16:18 GMT
At the latest netctl upgrade, you should have seen a warning about this and instructions about how to go forward. To recreate this warning, run:

grep -ls '^.include ' /etc/systemd/system/netctl@*.service | \
while read -r unit; do
profile=$(systemd-escape --unescape "${unit:27:-8}")
echo ":: The unit for profile '$profile' uses deprecated features."
echo " Consider running: netctl reenable $(printf '%q' "$profile")"
done
Comment by Rob (Painless) - Saturday, 08 August 2020, 16:34 GMT
It was indeed due to a .include directive in /etc/systemd/system/netctlxxxx.service. All working now after netctl reenable xyz.

Apologies for all this fuss about very little, the sysctl messages and failure of TwinView threw me.

My last netctl upgrade was in May, I don't recall seeing a warning but I may well be mistaken about that.

Thanks for the assistance :) I shall request closure.

Loading...