Bug 465887

Summary: NetworkManager crash when user changes ethernet device
Product: [Fedora] Fedora Reporter: Gordon Messmer <gordon.messmer>
Component: anacondaAssignee: David Cantrell <dcantrell>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: anaconda-maint-list, dcantrell
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: NEEDSRETESTING
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-11-07 23:24:52 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: 469046    

Description Gordon Messmer 2008-10-06 23:02:21 UTC
Description of problem:
During installation of Fedora 10's beta, my interfaces were initialized in the opposite order they normally are.  I selected eth0 for installation, which should have been the right interface, and DHCP timed out because there is no link on that interface.  Realizing that the interfaces were reversed, I selected eth1.  The system got an IP address, but after a few seconds, the GUI died.  There were a few messages on the console from NetworkManager indicating that the state of eth0 had changed, and that it had exited after receiving signal 6.

Comment 1 David Cantrell 2008-10-10 01:26:55 UTC
This is fixed in rawhide now, will be included in anaconda-11.4.1.46-1.

Thank you for the report.

Comment 2 Gordon Messmer 2008-11-02 07:27:30 UTC
Anaconda still crashes in snapshot 3, but in a different way.  The problem can be reproduced the same as before: select the wrong interface and then the correct one after it times out.

I notice that when I select the wrong interface, I'm asked for IP settings.  After it times out and I select the second interface, anaconda doesn't ask for the desired IP settings.  After it attempts DHCP on the correct interface, anaconda crashes.  I can't see a lot of the error message, but I see this near the end:

Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't exist.

Comment 3 David Cantrell 2008-11-04 05:15:02 UTC
The problem here is that when the interface could not be brought up, we were not blanking out the configuration methods internally.  So when you'd select a new interface, loader would skip right past the configuration screen for the TCP/IP settings.

This patch should fix things up:

diff --git a/loader/net.c b/loader/net.c
index 846712f..62dc236 100644
--- a/loader/net.c
+++ b/loader/net.c
@@ -453,6 +453,8 @@ int readNetConfig(char * device, iface_t * iface,
         if (err) {
             logMessage(ERROR, "failed to write %s data for %s (%d)",
                        SYSCONFIG_PATH, iface->device, err);
+            iface->ipv4method = IPV4_UNUSED_METHOD;
+            iface->ipv6method = IPV6_UNUSED_METHOD;
             return LOADER_BACK;
         }
 
@@ -463,6 +465,8 @@ int readNetConfig(char * device, iface_t * iface,
             newtWinMessage(_("Network Error"), _("Retry"),
                            _("There was an error configuring your network "
                              "interface."));
+            iface->ipv4method = IPV4_UNUSED_METHOD;
+            iface->ipv6method = IPV6_UNUSED_METHOD;
             return LOADER_BACK;
         }
     }

Comment 4 David Cantrell 2008-11-04 05:32:27 UTC
BTW, I'll move the bug to MODIFIED once I commit the change to anaconda.

Comment 5 David Cantrell 2008-11-04 23:01:37 UTC
Patch committed to anaconda, will be in the anaconda-11.4.1.56-1 build.

Comment 6 Jesse Keating 2008-11-07 22:07:43 UTC
That anaconda will be in rawhide 20081108 or later.  Please re-test it.

Comment 7 Gordon Messmer 2008-11-07 22:46:42 UTC
I can do that if you can point me at documentation on updating the installation image.

Comment 8 Jesse Keating 2008-11-07 22:53:10 UTC
You would just launch the installer from rawhide  (the <arch>/os/images/boot.iso file) and repeat what you did the first time to get it to crash.

Comment 9 Jesse Keating 2008-11-07 23:24:52 UTC
I spun up a tree with this anaconda build and confirmed that this bug is fixed.  Closing.