Bug 497374

Summary: Traceback at beginning of EFI install
Product: [Fedora] Fedora Reporter: Will Woods <wwoods>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: anaconda-maint-list, pjones, rmaximo, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard: anaconda_trace_hash:d86b2508b48b7eb4af97ec09b95a1667d6ea4b49f6aea728d3e00d23aa6f9091
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-04-23 18:19:07 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:
Attachments:
Description Flags
Attached traceback automatically from anaconda. none

Description Will Woods 2009-04-23 15:32:47 UTC
The following was filed automatically by anaconda:
anaconda 11.5.0.47 exception report
Traceback (most recent call first):
  File "/usr/lib/anaconda/iutil.py", line 106, in execWithRedirect
    except OSError, (errno, msg):
  File "/usr/lib/anaconda/storage/udev.py", line 169, in udev_trigger
    iutil.execWithRedirect("udevadm", argv, stderr="/dev/null", searchPath=1)
  File "/usr/lib/anaconda/storage/__init__.py", line 65, in storageInitialize
    udev_trigger(subsystem="block")
  File "/usr/lib/anaconda/dispatch.py", line 205, in moveStep
    rc = stepFunc(self.anaconda)
  File "/usr/lib/anaconda/dispatch.py", line 128, in gotoNext
    self.moveStep()
  File "/usr/lib/anaconda/gui.py", line 1330, in nextClicked
    self.anaconda.dispatch.gotoNext()
ValueError: need more than 0 values to unpack

Comment 1 Will Woods 2009-04-23 15:32:51 UTC
Created attachment 340958 [details]
Attached traceback automatically from anaconda.

Comment 2 Chris Lumens 2009-04-23 15:42:15 UTC
Can you reliably reproduce this?

Comment 3 Will Woods 2009-04-23 15:53:28 UTC
"need more than 0 values to unpack"? That's strange, isn't it? I'd assume it would be one value - the exception instance. But maybe my understanding of exception handling is incomplete.

Anyway, here's a suggested patch for execWithRedirect:

diff --git a/iutil.py b/iutil.py
index 0d7faed..7d354b7 100644
--- a/iutil.py
+++ b/iutil.py
@@ -103,8 +103,8 @@ def execWithRedirect(command, argv, stdin = None, stdout = None,
             if proc.returncode is not None:
                 ret = proc.returncode
                 break
-    except OSError, (errno, msg):
-        errstr = "Error running %s: %s" % (command, msg)
+    except OSError, e:
+        errstr = "Error running %s: %s" % (command, e.strerror)
         log.error(errstr)
         runningLog.write(errstr)
         runningLog.close()

Haven't tried to reproduce yet - restarting the install now.

Comment 4 Will Woods 2009-04-23 17:36:58 UTC
Hrm. Can't reproduce so far. Might be some kind of unreliable race with udevadm or something? Or maybe I just got a bad image? Who knows. I'll keep trying.

Comment 5 Chris Lumens 2009-04-23 18:19:07 UTC
Well, I've pushed your patch above for all places where we catch OSError.  I did the same thing in rhpl a little while back and haven't seen any new complaints.  Hopefully this will take care of it.