Resolvconf seems to be causing the "hang" in at least one of my testcases. It seems to be attempting to speak with our ldap authentication servers. Strace shows it is trying to lookup the hostnames of the auth servers and the connect to them multiple times for every interface, making the shutdown process take a very long time.
26880 ? S 0:00 /bin/sh -ex /etc/rc6.d/S02networking stop
26891 ? S 0:00 ifdown -v -a --exclude=lo
26939 ? S 0:00 /bin/sh -c run-parts --verbose /etc/network/if-down.d
26940 ? S 0:00 run-parts --verbose /etc/network/if-down.d
26953 ? S 0:00 /bin/sh /etc/network/if-down.d/resolvconf
26954 ? S 0:00 /bin/sh /sbin/resolvconf -d brvlan1000.inet
Resolvconf seems to be causing the "hang" in at least one of my testcases. It seems to be attempting to speak with our ldap authentication servers. Strace shows it is trying to lookup the hostnames of the auth servers and the connect to them multiple times for every interface, making the shutdown process take a very long time.
26880 ? S 0:00 /bin/sh -ex /etc/rc6. d/S02networking stop if-down. d if-down. d if-down. d/resolvconf
26891 ? S 0:00 ifdown -v -a --exclude=lo
26939 ? S 0:00 /bin/sh -c run-parts --verbose /etc/network/
26940 ? S 0:00 run-parts --verbose /etc/network/
26953 ? S 0:00 /bin/sh /etc/network/
26954 ? S 0:00 /bin/sh /sbin/resolvconf -d brvlan1000.inet
# strace -p 26954 syscall( <... resuming interrupted call ...>) = 0 SOCK_NONBLOCK, IPPROTO_IP) = 5 inet_addr( "172.31. 17.6")} , 16) = 0 1\0\0\1\ 0\0\0\0\ 0\0\5auth2\ 6cncore\ 3lan\6cn" ..., 45, MSG_NOSIGNAL, NULL, 0) = 45 1\0\0\1\ 0\0\0\0\ 0\0\5auth2\ 6cncore\ 3lan\6cn" ..., 45, MSG_NOSIGNAL, NULL, 0) = 45 1\0\0\1\ 0\0\0\0\ 0\0\5auth2\ 6cncore\ 3lan\6cn" ..., 45, MSG_NOSIGNAL, NULL, 0) = 45 etc/resolv. conf", {st_mode= S_IFREG| 0644, st_size=215, ...}) = 0
Process 26954 attached - interrupt to quit
restart_
socket(PF_INET, SOCK_DGRAM|
connect(5, {sa_family=AF_INET, sin_port=htons(53), sin_addr=
poll([{fd=5, events=POLLOUT}], 1, 0) = 1 ([{fd=5, revents=POLLOUT}])
sendto(5, "\206\33\
poll([{fd=5, events=POLLIN}], 1, 5000) = 0 (Timeout)
poll([{fd=4, events=POLLOUT}], 1, 0) = 1 ([{fd=4, revents=POLLOUT}])
sendto(4, "\206\33\
poll([{fd=4, events=POLLIN}], 1, 5000) = 0 (Timeout)
poll([{fd=5, events=POLLOUT}], 1, 0) = 1 ([{fd=5, revents=POLLOUT}])
sendto(5, "\206\33\
poll([{fd=5, events=POLLIN}], 1, 5000) = 0 (Timeout)
close(4) = 0
close(5) = 0
stat("/
[...]