Description of problem: Rescue mode hangs (infinite loop, 100% CPU time) while Starting Interface. Version-Release number of selected component (if applicable): anaconda-11.1.0.64-1 How reproducible: always Steps to Reproduce: 1. boot: linux rescue 2. Accept default Yes to start network interfaces. 3. Actual results: Hang with 100% CPU utilization. VT1 shows dialog box "Starting Interface" with "Attempting to start eth0". VT3 shows normal messages. Shell on VT2 is active; running "ps ax" shows python ananconda is still spinning after several minutes. Expected results: eth0 started, rescue mode proceeds Additional info: Same problem occurs on [separate rescue CDs for] ppc and i386. Specific iso is FC-development-i386-rescuecd.iso 2006-Jul-25 01:29:33 81.5M sha1sum=2e77dbc772abc667e84f8d11d26c4fe8f20b053a .
David -- can you take a look
*** Bug 200238 has been marked as a duplicate of this bug. ***
This is still happening with FC6test3, x86_64. VIA Technologies, Inc. VT6120/VT6121/VT6122 Gigabit Ethernet Adapter, via_velocity driver. This is apparently related to DHCP, using a static IP address works fine (at least for me). If I try to run strace for anaconda when it's doing its infinite loop, I get an infinite amount of these: --- SIGSEGV (Segmentation fault) @ 0 (0) --- rt_sigaction(SIGSEGV, {0x2aaaaad81c50, [], SA_RESTORER, 0x2aaaab005d80}, {0x2aaaaad81c50, [], SA_RESTORER, 0x2aaaab005d80}, 8) = 0 rt_sigreturn(0xb) = 140735525083152
Alan Cox wrote this in bug 201895: --- If I select network driver enable it hangs (because it seems to try and use the /lib path of the real / not the install media). --- I suppose he knows his stuff, so..
Alan does know his stuff, but his theory was entirely incorrect in this case. The problem was with libdhcp (our new replacement for pump). The pumpDhcpClassRun() function does not automatically bring up an interface after getting a response from the DHCP server. The reason for this is the developer may need to fill in other information or collect data from another source. We have to call pumpSetupInterface() with the newly gathered data in order to bring the interface up. Simple problem, it was overlooked since this is rescue mode. I have fixed this problem in rawhide and the fix will be in the next build of anaconda. Note that we currently only support IPv4 in rescue mode because I have not yet reworked the UI to support the IPv6 bits. Should take me a day or so to fix that, but the network does come up now when you select DHCP. Thank you for the report.