[Pkg-dns-devel] Bug#807132: Bug#807132: Bug#807132: Related issue? unbound not restarted after upgrade

Robert Edmonds edmonds at debian.org
Fri Jun 3 15:39:23 UTC 2016


There's a very important step missing in the text below, which is to
install the postfix package between steps 5 and 6. Sorry about that.

Robert Edmonds wrote:
> I've attached the unbound.service unit file that I've been working on
> that ports the functionality from the sysvinit script. I can reliably
> get this unit file to fail with the following steps:
> 
> 1) Start with a minimal installation of Debian testing in a virtual
> machine, with DHCP networking, and no MTA installed. /etc/resolv.conf
> should list the DNS resolvers learned from the DHCP server.
> 
> 2) Install unbound 1.5.8-1 from testing/unstable. This package uses the
> old sysvinit script. The default config listens on localhost only.
> 
> 3) Install resolvconf and reboot the VM. /etc/resolv.conf should now
> list the unbound server running on localhost.
> 
> 4) Copy the attached unbound.service file into /etc/systemd/system.
> I think there's a systemctl command you have to run to activate this so
> that it takes over from the generated unit file.
> 
> 5) Reboot the VM. It should still work and /etc/resolv.conf should still
> list the unbound server as before.
> 
> 6) Run "systemctl stop unbound.service". It should stop normally and
> /etc/resolv.conf should switch back to the resolvers learned from the
> DHCP server.
> 
> 7) Run "systemctl start unbound.service". This command will hang for a
> few minutes and then print:
> 
>     Job for unbound.service failed because a timeout was exceeded. See
>     "systemctl status unbound.service" and "journalctl -xe" for details.
> 
> 8) While that command is hung, "ps axfwu" shows the following process
> tree (edited slightly) corresponding to the resolvconf hooks being run.
> These are ultimately being invoked by the ExecStartPost= in the
> unbound.service unit file.
> 
> [...] /bin/sh -e /usr/lib/unbound/package-helper resolvconf_start
> [...]  \_ run-parts --arg=-a --arg=lo.unbound /etc/resolvconf/update.d
> [...]      \_ run-parts /etc/resolvconf/update-libc.d
> [...]          \_ /bin/sh -e /etc/resolvconf/update-libc.d/postfix
> [...]              \_ /bin/sh -e /etc/init.d/postfix reload
> [...]                  \_ /bin/systemctl --no-pager reload postfix.service
> 
> Also while the "start" command is hung, "systemctl list-jobs" shows the
> following output:
> 
>     JOB UNIT              TYPE   STATE
>     283 nss-lookup.target start  waiting
>     284 postfix.service   reload waiting
>     226 unbound.service   start  running
> 
>     3 jobs listed.
> 
> postfix's resolvconf hook (/etc/resolvconf/update-libc.d/postfix) calls
> back into the init system to reload postfix when /etc/resolv.conf has
> been changed by resolvconf, and this resolvconf hook is itself running
> as a result of the init system starting unbound. This must be causing
> some sort of dependency cycle or deadlock somewhere.
> 
> That's as far as I've gotten.

-- 
Robert Edmonds
edmonds at debian.org



More information about the pkg-dns-devel mailing list