FS#76704 - [netctl] netctl-wait-online.service keeps running until timeout

Attached to Project: Arch Linux
Opened by Kazuki Shigemichi (elderica) - Wednesday, 30 November 2022, 11:55 GMT
Last edited by Toolybird (Toolybird) - Thursday, 01 December 2022, 00:02 GMT
Task Type Bug Report
Category Arch Projects
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Additional info:
* package version(s)
netctl 1.28-1
systemd 252.2-2
dhcpcd 9.4.1-1

* config and/or log files etc.
$ cat /etc/netctl/enp9s0_dhcp
Interface=enp9s0
Connection=ethernet
IP=dhcp
IP6=dhcp

Steps to reproduce:
$ sudo netctl enable enp9s0_dhcp
$ systemctl enable netctl-wait-online.service
$ reboot

After I logged in, then
$ sudo systemd-analyze
Bootup is not yet finished (org.freedesktop.systemd1.Manager.FinishTimestampMonotonic=0).
Please try again later.
Hint: Use 'systemctl list-jobs' to see active jobs
$ sudo systemctl list-jobs
JOB UNIT TYPE STATE
91 network-online.target start waiting
1 graphical.target start waiting
2 multi-user.target start waiting
92 netctl-wait-online.service start running
90 clamav-freshclam.service start waiting

5 jobs listed.

I checked the unit file to see what was going on.

$ sudo systemctl cat netctl-wait-online.service
# /usr/lib/systemd/system/netctl-wait-online.service
[Unit]
Description=Wait for the enabled netctl profiles to come online
Documentation=man:netctl.special(7)
After=network.target
Before=network-online.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/lib/netctl/network wait-online

[Install]
WantedBy=network-online.target

$ file /usr/lib/netctl/network
/usr/lib/netctl/network: Bourne-Again shell script, ASCII text executable
$ sudo bash -vx /usr/lib/netctl/network wait-online
( Infinite loop in network_wait_online() function )
( Please check the attachment for detailed log )
$ systemctl show --property=StatusText --value netctl@enp9s0_dhcp.service
( empty output )
$

I think we will need other methods to determine if the network is online or not.
This task depends upon

Closed by  Toolybird (Toolybird)
Thursday, 01 December 2022, 00:02 GMT
Reason for closing:  Not a bug
Additional comments about closing:  See comments
Comment by Kazuki Shigemichi (elderica) - Wednesday, 30 November 2022, 12:49 GMT
I've changed my profile to disable IPv6 address configuration via DHCP.
$ cat /etc/netctl/enp9s0_dhcp
Interface=enp9s0
Connection=ethernet
IP=dhcp
#IP6=dhcp
$ reboot

Then `network wait-online` works correctly.

$ sudo /usr/lib/netctl/network wait-online
( No waiting time )
$ systemctl show --property=StatusText netctl@enp9s0_dhcp.service
StatusText=online
$ sudo dhclient -6 -v enp9s0
Internet Systems Consortium DHCP Client 4.4.3-P1
Copyright 2004-2022 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on Socket/enp9s0
Sending on Socket/enp9s0
PRC: Soliciting for leases (INIT).
XMT: Forming Solicit, 0 ms elapsed.
XMT: X-- IA_NA c2:f6:ad:80
XMT: | X-- Request renew in +3600
XMT: | X-- Request rebind in +5400
XMT: Solicit on enp9s0, interval 1030ms.
XMT: Forming Solicit, 1030 ms elapsed.
XMT: X-- IA_NA c2:f6:ad:80
XMT: | X-- Request renew in +3600
XMT: | X-- Request rebind in +5400
XMT: Solicit on enp9s0, interval 2150ms.
XMT: Forming Solicit, 3180 ms elapsed.
XMT: X-- IA_NA c2:f6:ad:80
XMT: | X-- Request renew in +3600
XMT: | X-- Request rebind in +5400
XMT: Solicit on enp9s0, interval 4420ms.
XMT: Forming Solicit, 7600 ms elapsed.
XMT: X-- IA_NA c2:f6:ad:80
XMT: | X-- Request renew in +3600
XMT: | X-- Request rebind in +5400
XMT: Solicit on enp9s0, interval 8540ms.
XMT: Forming Solicit, 16150 ms elapsed.
XMT: X-- IA_NA c2:f6:ad:80
XMT: | X-- Request renew in +3600
XMT: | X-- Request rebind in +5400
XMT: Solicit on enp9s0, interval 17650ms.
XMT: Forming Solicit, 33820 ms elapsed.
XMT: X-- IA_NA c2:f6:ad:80
XMT: | X-- Request renew in +3600
XMT: | X-- Request rebind in +5400
XMT: Solicit on enp9s0, interval 34860ms.
XMT: Forming Solicit, 68710 ms elapsed.
XMT: X-- IA_NA c2:f6:ad:80
XMT: | X-- Request renew in +3600
XMT: | X-- Request rebind in +5400
XMT: Solicit on enp9s0, interval 69320ms.

I think the problem is probably caused by the fact that DHCPv6 is not available on the network I was connecting to.
I guess I did not understand the situation correctly. My apologies.

Loading...