Please backport "fix race between daemon-reload and other commands #8803" to 16.04 (for UC16) and 18.04 (for UC18)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
On Ubuntu Core we recently hit the a race in daemon-reload and systemctl twice. This race is fixed in systemd upstream: "fix race between daemon-reload and other commands #8803" and a subsequent fix in "PR#11121".
Note that this is a general problem in systemd with daemon-reload and
systemctl commands, we just happen to hit it more often on Ubuntu Core
but the test-case below explodes just fine on a normal Ubuntu release
like 16.04 or 18.04 (not on 18.10+ as its fixed there).
[TEST CASE]
To reproduce its enough to run:
for i in $(seq 50); do
systemctl daemon-reload &
systemctl start ssh &
done
This will result in "systemctl start ssh" hanging in ppoll. With the patch applied the hangs go away.
[REGRESSION POTENTIAL]
Medium/High, this change is already in the systemd upstream and in use disco and later but the backport required some manual resolving of conflicts the code because changed between 229,237 and the fixed code in 240. Its also
not fully clear if the fix relies on the new systemd "coldplug" functionality that was added in more recent git revisions.
The upstream fix is https:/
tags: | added: patch |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
tags: |
added: verification-failed-xenial removed: verification-needed-xenial |
This change is already in the systemd in cosmic+