Description of problem: sealert does not handle transient yum repository problems gracefully, it crashes on login setroubleshoot-0:2.2.24-1.fc12.x86_64 Opps, sealert hit an error! Traceback (most recent call last): File "/usr/bin/sealert", line 1031, in <module> run_as_dbus_service(username) File "/usr/bin/sealert", line 159, in run_as_dbus_service app = SEAlert(user, dbus_service.presentation_manager, watch_setroubleshootd=True) File "/usr/bin/sealert", line 677, in __init__ self.browser = BrowserApplet(self.username, self.alert_client) File "/usr/lib64/python2.6/site-packages/setroubleshoot/browser.py", line 399, in __init__ self.check_policy() File "/usr/lib64/python2.6/site-packages/setroubleshoot/browser.py", line 441, in check_policy pl = yb.doPackageLists(patterns=['selinux-policy']) File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 1692, in doPackageLists avail = self.pkgSack.returnNewestByNameArch(patterns=patterns, File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 702, in <lambda> pkgSack = property(fget=lambda self: self._getSacks(), File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 538, in _getSacks self.repos.populateSack(which=repos) File "/usr/lib/python2.6/site-packages/yum/repos.py", line 277, in populateSack sack.populate(repo, mdtype, callback, cacheonly) File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 172, in populate db_fn = repo._retrieveMD(mydbtype) File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1518, in _retrieveMD "Caching enabled and local cache: %s does not match checksum" % local RepoError: Caching enabled and local cache: /var/cache/yum/koji-rawhide-builds/primary.sqlite.bz2 does not match checksum
Looks like a yum bug to me.
/usr/lib64/python2.6/site-packages/setroubleshoot/browser.py contains the code and it doesn't catch the RepoError. RepoError is derived from Yum's Base error exception so, at the very least, browser.py should think about catching that.
Hi nicolas, thank you for taking the time to report this bug. Updates to this package have been released since it was first reported. If you have time to update the package and re-test, please do so and report the results here. You can obtain the updated package by typing 'yum update setroubleshoot' or using the graphical updater, Software Update. --- Fedora Bugzappers volunteer triage team https://fedoraproject.org/wiki/BugZappers
Fixed in setroubleshoot-2.2.52-1.fc12