I have extended the bug description to include the additional
information requested by @racb.

** Description changed:

  [Impact]
  
  The following issue was observed while running network-
  manager=1.8.4-1ubuntu3 autopkgtest on Artful with
  systemd=234-2ubuntu12.1:
  
  -----------------------------------------------------------
  Nov 21 17:00:32 autopkgtest systemd[1]: Starting Load/Save RF Kill Switch 
Status...
  Nov 21 17:01:02 autopkgtest systemd[1]: systemd-rfkill.service: Start 
operation timed out. Terminating.
  Nov 21 17:01:02 autopkgtest systemd[1]: Failed to start Load/Save RF Kill 
Switch Status.
  Nov 21 17:01:02 autopkgtest systemd[1]: systemd-rfkill.service: Unit entered 
failed state.
  Nov 21 17:01:02 autopkgtest systemd[1]: systemd-rfkill.service: Failed with 
result 'timeout'.
  -----------------------------------------------------------
  
  This happens after the testcase inserts the fake-rfkill module (a module
  shipped with network-manager tests that registers a new fake device with
  the rfkill subsystem).
  
  On Artful, it causes the network-manager autopkgtest killswitches-no-
- urfkill to fail (see bug 1733321).
- 
+ urfkill to fail (see bug 1733321). The testcase reveals that when
+ running network-manager cli to query the status of a WiFi interface
+ ('nmcli radio wifi') it can report the wrong state of the device after
+ 'rfkill block/unblock' is run to change the device 'Soft blocked' state.
+ This can affect the state of the device presented to the user.
  
  [Fix]
  
  The issue is fixed by the following systemd upstream patches:
  
  -----------------------------------------------------------
  
https://github.com/systemd/systemd/commit/8ec1a07998758f6a85f3ea5bf2ed14d87609398f#diff-275947967677827e2b72930d97f1b8ac
  
  commit 8ec1a07998758f6a85f3ea5bf2ed14d87609398f
  Author: S. Fan <[email protected]>
  Date:   Mon Jul 31 05:10:10 2017 -0500
  
      rfkill: fix erroneous behavior when polling the udev monitor (#6489)
  
      Comparing udev_device_get_sysname(device) and sysname will always return
      true. We need to check the device received from udev monitor instead.
  
      Also, fd_wait_for_event() sometimes never exits. Better set a timeout
      here.
  -----------------------------------------------------------
  
  -----------------------------------------------------------
  
https://github.com/systemd/systemd/commit/c7f6ca9379279affa8f22d15fa13063491f86a49#diff-275947967677827e2b72930d97f1b8ac
  
  commit c7f6ca9379279affa8f22d15fa13063491f86a49
  Author: Xiang Fan <[email protected]>
  Date:   Wed Aug 9 05:51:53 2017 -0500
  
      rfkill: fix typo (#6574)
  -----------------------------------------------------------
  
  With the fixes, the output from systemd-rfkill is:
  
  -----------------------------------------------------------
  Nov 28 15:27:54 autopkgtest systemd[1]: Starting Load/Save RF Kill Switch 
Status...
  Nov 28 15:27:59 autopkgtest systemd-rfkill[14843]: Timed out waiting for udev 
monitor.
  Nov 28 15:27:59 autopkgtest systemd[1]: Started Load/Save RF Kill Switch 
Status.
  -----------------------------------------------------------
  
  The patches are needed to fix the ADT tests observed with Artful tests on 
ppc64el architecture:
  
https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-artful/artful/ppc64el/n/network-manager/20171120_100719_28642@/log.gz
  
- 
  [Test Case]
  
  2.1. Download network-manager package source code
  $ apt-get source network-manager
  
  2.2. Run killswitches-no-urfkill testcase
  $ cd network-manager-1.8.4
  $ sudo ./debian/tests/killswitches-no-urfkill
  
- 
  [Regression Potential]
  
- Regression potential is minimal, since the fix has been applied some
- months ago on upstream github repo and it's being shipped with systemd
- on Bionic (systemd=235-3ubuntu2)
+ Most of the network-manager and rfkill functionalities that can be
+ affected by this change are tested by killswitches-no-urfkill testcase.
+ It covers querying the WiFi device state using nmcli and the following
+ rfkill commands: list, block and unblock. These have been verified to be
+ either fixed or not having regressions.
+ 
+ The only rfkill command that is not covered by the testcase is 'event',
+ which listens to rfkill events and display them. I have run tests
+ manually and verified that it's not affected by these changes. These are
+ the outputs from the unpatched and patched systemd versions while
+ running the killswitches-no-urfkill testcase, which adds the rfkill
+ device, blocks and unbloks it and removes the device (the idx value is
+ expected to be different):
+ 
+ systemd 234-2ubuntu12.1:
+ -----------------------------------------------------------------------
+ $ sudo rfkill event
+ 1513163787.877080: idx 3 type 1 op 0 soft 0 hard 0
+ 1513163818.118695: idx 3 type 1 op 2 soft 1 hard 0
+ 1513163818.222639: idx 3 type 1 op 2 soft 0 hard 0
+ 1513163818.254778: idx 3 type 1 op 1 soft 0 hard 0
+ -----------------------------------------------------------------------
+ 
+ systemd 234-2ubuntu12.2:
+ -----------------------------------------------------------------------
+ $ sudo rfkill event
+ 1513164121.690285: idx 0 type 1 op 0 soft 0 hard 0
+ 1513164151.996227: idx 0 type 1 op 2 soft 1 hard 0
+ 1513164152.114794: idx 0 type 1 op 2 soft 0 hard 0
+ 1513164152.140536: idx 0 type 1 op 1 soft 0 hard 0
+ -----------------------------------------------------------------------
+ 
+ Regression potential is also minimized by the fact that the fix has been
+ applied some months ago on upstream github repo and it's being shipped
+ with systemd on Bionic (systemd=235-3ubuntu2).

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1734908

Title:
  systemd-rfkill service times out when a new rfkill device is added

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1734908/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to