abrt 1.0.4 detected a crash. architecture: x86_64 cmdline: /usr/bin/python /usr/bin/debuginfo-install digikam Attached file: comment component: yum-utils executable: /usr/bin/debuginfo-install kernel: 2.6.31.12-174.2.3.fc12.x86_64 package: yum-utils-1.1.25-1.fc12 release: Fedora release 12 (Constantine) backtrace ----- Summary: TBcf7be3c2 ibm-repository.py:103:init_hook:PluginYumExit: You need to be root to perform this command. Traceback (most recent call last): File "/usr/bin/debuginfo-install", line 175, in <module> util = DebugInfoInstall() File "/usr/bin/debuginfo-install", line 56, in __init__ self.main() File "/usr/bin/debuginfo-install", line 66, in main opts = self.doUtilConfigSetup() File "/usr/bin/debuginfo-install", line 60, in doUtilConfigSetup opts = YumUtilBase.doUtilConfigSetup(self, *args, **kwargs) File "/usr/share/yum-cli/utils.py", line 104, in doUtilConfigSetup self.conf File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 723, in <lambda> conf = property(fget=lambda self: self._getConfig(), File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 298, in _getConfig self.plugins.run('init') File "/usr/lib/python2.6/site-packages/yum/plugins.py", line 177, in run func(conduitcls(self, self.base, conf, **kwargs)) File "/usr/lib/yum-plugins/ibm-repository.py", line 103, in init_hook raise PluginYumExit("You need to be root to perform this command.") PluginYumExit: You need to be root to perform this command. Local variables in innermost frame: pc: <yum.plugins.InitPluginConduit instance at 0x1b35e60> How to reproduce ----- 1. run debuginfo-install digikam as non root user 2. 3.
Created attachment 387806 [details] File: backtrace
Created attachment 387807 [details] File: comment
The ibm-repository is an internal IBM plugin for adding internal IBM repositories. The plugin only only works as root. As long as you are working we default Fedora packages you can add the '--noplugins' option to the command and it will work. Else you have to to run all yum releated commands as root.
Adding a catch for that exit in utils.py is straightforward enough and kinda makes sense. I'll see if I can make it make sense.
upstream patch submitted to catch this error in utils.py so all of the yum-utils should get it.
diff --git a/utils.py b/utils.py index dbbbe13..19a69db 100644 --- a/utils.py +++ b/utils.py @@ -195,8 +195,10 @@ class YumUtilBase(YumBaseCli): except ValueError, e: self.logger.critical(_('Options Error: %s'), e) sys.exit(1) - - + except plugins.PluginYumExit, e: + self.logger.critical(_('PluginExit Error: %s'), e) + sys.exit(1) + # update usage in case plugins have added commands self._parser.set_usage(self._usage)
Sounds good to me, but should a TYPE_CORE plugin use raise PluginYumExit at all ?
probably not - but that is neither here nor there, unfortunately. catching the exception seems like a good idea in general.
Agree :)