Bug 200109

Summary: rescue mode hangs Starting Interface
Product: [Fedora] Fedora Reporter: John Reiser <jreiser>
Component: anacondaAssignee: David Cantrell <dcantrell>
Status: CLOSED RAWHIDE QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: medium    
Version: 6CC: notting, rhbugs
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-09-20 20:56:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 150224    

Description John Reiser 2006-07-25 15:08:11 UTC
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 .

Comment 1 Jeremy Katz 2006-07-25 16:38:17 UTC
David -- can you take a look

Comment 2 Jeremy Katz 2006-07-26 14:48:44 UTC
*** Bug 200238 has been marked as a duplicate of this bug. ***

Comment 3 Anssi Johansson 2006-09-18 10:20:51 UTC
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


Comment 4 Anssi Johansson 2006-09-18 18:03:19 UTC
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.. 

Comment 5 David Cantrell 2006-09-20 20:56:32 UTC
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.