Why does yum info history "range_of_transactions" fail with the traceback error TypeError unhashable instance ?

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux Server 6
  • Red Hat Enterprise Linux Server 7

Issue

  • Why does yum info history <range_of_transactions> fail with the traceback as follows if there is a minor problem in rpm database?
  • The command # yum history info 10..11 reports trace backs even if the transaction is successful completed in case of rpmdb issue .
[root@rhel7 ~]# yum history info 10..11
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 300, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 146, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 440, in doCommands
    return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
  File "/usr/share/yum-cli/yumcommands.py", line 1505, in doCommand
    ret = base.historyInfoCmd(extcmds)
  File "/usr/share/yum-cli/output.py", line 1670, in historyInfoCmd
    self._historyInfoCmd(mobj)
  File "/usr/share/yum-cli/output.py", line 1822, in _historyInfoCmd
    if old.rpmdb_problems:
  File "/usr/lib/python2.6/site-packages/yum/history.py", line 316, in <lambda>
    rpmdb_problems = property(fget=lambda self: self._getProblems())
  File "/usr/lib/python2.6/site-packages/yum/history.py", line 613, in _getProblems
    probs.add(prob)
TypeError: unhashable instance

Resolution

  • This is a known issue and and tracked using a raised bug with Red Hat which has private access .
  • For latest update, open a new support case with Red Hat Technical Support.

Diagnostic Steps

  • Steps to reproduce the problem.
[root@rhel7 ~]# rpm -e redhat-release-server-7.2-9.el7.x86_64 --nodeps --justdb
[root@rhel7 ~]# yum install redhat-release-server-7.2-9.el7.x86_64
[root@rhel7 ~]# yum history info 10..11
[root@rhel7 ~]# yum history info
  • Individually checking the transaction will not produce any error but checking the transaction for a range will result in trace back.
[root@rhel7 ~]# yum history info 10
[root@rhel7 ~]# yum history info 11
  • Component
  • yum

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.