We hit this problem too. After some investigations i could find at least one cause (it seems to be bind9).
Running the final "ifdown -a --exclude=lo" in /etc/init.d/networking a bit more verbose showed that the call of
/etc/network/if-down.d/bind9
does not return. The script just calls "rndc reconfig". The problem is that the named is not running at this moment any longer because it was stopped before.
If i call "rndc -V reconfig" without a running named i see this
-----------> snip <------------
create memory context
create socket manager
create task manager
create task
create logging context
setting log tag
creating log channel
enabling log channel
create parser
get key
decode base64 secret
reconfig
post event
using server 127.0.0.1 (127.0.0.1#953)
create socket
bind socket
connect
-----------> snip <------------
We hit this problem too. After some investigations i could find at least one cause (it seems to be bind9).
Running the final "ifdown -a --exclude=lo" in /etc/init. d/networking a bit more verbose showed that the call of
/etc/ network/ if-down. d/bind9
does not return. The script just calls "rndc reconfig". The problem is that the named is not running at this moment any longer because it was stopped before.
If i call "rndc -V reconfig" without a running named i see this
-----------> snip <------------
create memory context
create socket manager
create task manager
create task
create logging context
setting log tag
creating log channel
enabling log channel
create parser
get key
decode base64 secret
reconfig
post event
using server 127.0.0.1 (127.0.0.1#953)
create socket
bind socket
connect
-----------> snip <------------
So it seems that the connect does not return.