Actually I don't think this is network-manager's fault. By all rights, it should be *dead* by this point.
umountnfs.sh emits unmounted-remote-filesystems, which stops networking (stop on umounted-remote-filesystems), which emits deconfiguring-networking, which causes dbus to stop (stop on deconfiguring-networking), which causes network-manager to stop (stop on stopping dbus). So umountnfs.sh should not exit until network-manager (the upstart job) is considered *stopped*. This means that NetworkManager should be completely *dead*, even SIGKILL'd if it didn't die within 5 seconds.
/etc/init/networking.conf emits deconfiguring-networking in post-stop. If I'm reading the upstart state machine properly, job_finished() is not called until a job's state gets to JOB_WAITING, which would have to be after the post-stop. However, its possible post-stop had an error, which would still finish the stopping event for networking, but would not emit deconfiguring-networking. So, verbose logging would confirm this by showing that the networking post-stop failed.
If that shows true, I believe this would be resolved by changing dbus to
Actually I don't think this is network-manager's fault. By all rights, it should be *dead* by this point.
umountnfs.sh emits unmounted- remote- filesystems, which stops networking (stop on umounted- remote- filesystems) , which emits deconfiguring- networking, which causes dbus to stop (stop on deconfiguring- networking) , which causes network-manager to stop (stop on stopping dbus). So umountnfs.sh should not exit until network-manager (the upstart job) is considered *stopped*. This means that NetworkManager should be completely *dead*, even SIGKILL'd if it didn't die within 5 seconds.
/etc/init/ networking. conf emits deconfiguring- networking in post-stop. If I'm reading the upstart state machine properly, job_finished() is not called until a job's state gets to JOB_WAITING, which would have to be after the post-stop. However, its possible post-stop had an error, which would still finish the stopping event for networking, but would not emit deconfiguring- networking. So, verbose logging would confirm this by showing that the networking post-stop failed.
If that shows true, I believe this would be resolved by changing dbus to
stop on stopping networking