Red Hat Bugzilla – Bug 177792
init.d/network gets caught in eternal loop on shutdown
Last modified: 2014-03-16 22:57:39 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5
Description of problem:
Switched to NetworkManager for my laptop. Works really well to find and set up wireless, wired, etc networks. I have an eth0 and an eth1 corresponding to my wired and wireless interfaces respectively. I set those to "ONBOOT=no" so NetworkManager gets control of them, and at start time, all I get is "Starting loopback interface: [ OK ]" as expected.
On shutdown of my laptop, though, when init.d/network stop runs, it never exits. Since we have already killed off X and the other consoles at this point, I can't kill it and am forced to shut down hard.
It seems to get caught in some kind of loop 'exec'ing /etc/sysconfig/network-scripts/ifdown and /etc/sysconfig/network-scripts/ifdown-eth over and over, apparently each calling the other.
I say this because if I run 'service network stop' from a terminal, 'top' and 'ps' conspire to tell me that one PID is bouncing around between ifdown and ifdown-eth, and ps tells me that the PID numbers are skyrocketing.
If I manually "ifconfig eth0 down" and "ifconfig eth1 down" before rebooting, all is well, it doesn't try to shut them down from init.d/network, it halts fine.
But "ifdown eth0" or "service network stop" (at shutdown time or while still at the desktop) will hang indefinately.
(this may end up being a NetworkManager bug, but since it's init.d/network that seizes up, I thought I'd start there. I'm also filing it as 'high' since I get dirty filesystems and other nastiness from forced shutdowns if I forget the "ifconfig down" workaround.)
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install NetworkManager, set it to run at start time
2. Set all interfaces to ONBOOT=no in /etc/sysconfig/network-scripts/ifcfg-eth*
3. Reboot to start machine with NetworkManager in charge of interfaces.
4. Reboot or halt.
Actual Results: Shutting down interface eth0:(eternal wait with climbing PID's)
Expected Results: "network start" didn't start the interfaces, so my thought is that "network stop" probably shouldn't be trying to stop them. Should get only:
Shutting down loopback interface: [ OK ]
...and continue on merrily.
Please attach your ifcfg-* files.
Created attachment 123360 [details]
Created attachment 123361 [details]
Created attachment 123362 [details]
Created attachment 123363 [details]
If you remove one of eth0 or wifi0 does it still loop? (It still needs fixed,
just checking that that's what's causing it...)
Created attachment 125415 [details]
patch for this
Does this patch fix it for you?
Created attachment 125431 [details]
patch, take 2
Here's a corrected patch.
I applied this patch (the second one), and the behavior didn't change, I'm sorry
to say. Still tries "Shutting down interface eth0" during shutdown. I have
restarted and retried a couple times, but no joy.
Sorry I missed your question of 01/18 about removing eth0 or wifi0. I have just
played around with that idea, and yes, moving ifcfg-eth0 out of the way will
make it work. (It still says that it's shutting down eth1, but it doesn't hang
So at least I have a workaround. Should those ifcfg- files even need to be
there at all, if NetworkManager is doing all the magic?
No, they don't need to be there if you're using NM.
What sort of network state do you have when you're shutting down - which devices
Created attachment 125436 [details]
minor additional changes
Here's some additional fixes for the shutdown logic, although I don't think
they'll change what you're seeing.
I have the same problem and I had it before I used NetworkManager, too.
When the system tries to shutdown the network interfaces it sometimes just hangs
and I can only reboot hard. I have two network interfaces eth0 (ethernet) and
eth1 (wireless lan) and it seems the system is sometimes shuffling these, eth0
becomes eth1 and eth1 becomes eth0. I don't know when and why this happens, I
just notice it when it does not shutdown correctly.
The only thing I can do when it hangs is turn the wireless radio on/off on my
laptop and then I see something like: eth0 RF on
Even though wireless has been eth1 when I was using it before.
Does this still happen with FC5?
I've been tracking rawhide on my laptop for a few months now, and have not seen
this behavior any more. Not clear whether FC5 proper fixed it, but it has
gotten well sometime in the interim. Thanks!