Up2date 2.6.0-7.x.31 (GUI mode) crashed with the following traceback: Traceback (innermost last): File "/usr/lib/python1.5/site-packages/libglade.py", line 28, in __call__ ret = apply(self.func, a) File "/usr/share/rhn/up2date_client/gui.py", line 487, in onPackagePageNext self.__refreshCallback) File "/usr/share/rhn/up2date_client/up2date.py", line 1774, in dryRun ret = depsolve.solvedep() File "/usr/share/rhn/up2date_client/up2date.py", line 1740, in solvedep ret = self.process_deps(deps) File "/usr/share/rhn/up2date_client/up2date.py", line 1706, in process_deps changed = self.__dependencies(dependencies) File "/usr/share/rhn/up2date_client/up2date.py", line 1594, in __dependencies refreshCallback = self.refreshCallback) File "/usr/share/rhn/up2date_client/up2date.py", line 786, in solveDep pkg = pkgs[0] IndexError: list index out of range Traceback (innermost last): File "/usr/lib/python1.5/site-packages/libglade.py", line 28, in __call__ ret = apply(self.func, a) File "/usr/share/rhn/up2date_client/gui.py", line 534, in onDependencyPagePrepare for pkg in self.depPackages: AttributeError: depPackages
This only happens with the vorbis, mpg123, and libao packages. All other packages installed just fine.
This defect is considered MUST-FIX for Fairfax.
Looking through the packages, it looks like it might be a package bug (nothing provides libao.so.0 now, so updating any of the ogg packages in a way that doesnt update all of them raises a dep on libao.so.0, which doesnt exist in the current db) which in turn causes a ugly traceback in the client. Obviously, the failure handling code for that scenario in the client needs to be better. Taking a look.
okay, now I catch this error message and raise the approriate exception. The user gets a dialog telling them what dependcy failed and that they should adjust their package selections. At the moment, it doesnt tell what package raised that dep, but I'll try to add that tomorow. With the proper packages of course, this should never happen. The current fix eliminates the tracebacks though and provides feedback to the user to why it failed.
*** Bug 52302 has been marked as a duplicate of this bug. ***