Package: dnscrypt-proxy
Version: 1.6.1-1
Severity: important
Tags: patch

A dnscrypt-proxy user suffering from intermittent boot failures on
Ubuntu 16.04 recently asked for advice[0] on the systemd mailing list.
The issue turned out to be dnscrypt-proxy.socket declaring itself to be
After=network.target, leading to a circular dependency (because socket
units are scheduled in early boot). The cycle is:

Jul 29 11:33:06 blablabla systemd[1]: basic.target: Found ordering cycle
on basic.target/start
Jul 29 11:33:06 blablabla systemd[1]: basic.target: Found dependency on
sockets.target/start
Jul 29 11:33:06 blablabla systemd[1]: basic.target: Found dependency on
dnscrypt-proxy.socket/start
Jul 29 11:33:06 blablabla systemd[1]: basic.target: Found dependency on
network.target/start
Jul 29 11:33:06 blablabla systemd[1]: basic.target: Found dependency on
NetworkManager.service/start
Jul 29 11:33:06 blablabla systemd[1]: basic.target: Found dependency on
dbus.service/start
Jul 29 11:33:06 blablabla systemd[1]: basic.target: Found dependency on
basic.target/start
Jul 29 11:33:06 blablabla systemd[1]: basic.target: Breaking ordering
cycle by deleting job sockets.target/start

This was corrected upstream in 1.6.1 [1][2], but the Debian/Ubuntu
package has its own systemd units in the debian/ directory, possibly
derived from the ones shipped in 1.6.0. Please apply the Debian
customizations via drop-ins (see systemd.unit(5)) or by patching the
units like you'd do for any other change to the upstream source code, or
re-sync the ones in debian/ with those supplied by upstream.

[0]
https://lists.freedesktop.org/archives/systemd-devel/2016-July/037238.html
[1]
https://github.com/jedisct1/dnscrypt-proxy/commit/f20d71fb863b6d1f4588b6b175efa9f2fd331d90
[2]
https://github.com/jedisct1/dnscrypt-proxy/commit/cdc497bb7cbb13f6dd4ad2b49ce8eeda83ea984d

-- 
Simon McVittie
Collabora Ltd. <http://www.collabora.com/>

Reply via email to