Bug 1400968 - libdnf-0.7.0-0.3gitf9b798c.fc26.x86_64 crashes with RecursionError: maximum recursion depth exceeded in comparison
Summary: libdnf-0.7.0-0.3gitf9b798c.fc26.x86_64 crashes with RecursionError: maximum r...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: libdnf
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: rpm-software-management
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-12-02 13:05 UTC by Petr Pisar
Modified: 2016-12-09 14:08 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-12-02 13:21:55 UTC
Type: Bug


Attachments (Terms of Use)

Description Petr Pisar 2016-12-02 13:05:58 UTC
libdnf-0.7.0-0.3gitf9b798c.fc26.x86_64 crashes on "dnf history info ID_THAT_PRINS_88_LINES" or "dnf remove remove A_PACKAGE_WITH_MANY_NOT_ANYMORE_NEEDED_DEPENDENCIES". It prints overlong python backtrace:

Last metadata expiration check: 0:05:33 ago on Fri Dec 02 13:57:51 2016 CET.
Transaction ID : 2759
Begin time     : Fri Dec  2 13:17:18 2016
Begin rpmdb    : 1306:b4b3f815675eff9d7c9a9889967e0dace58f4d24
End time       :            13:18:15 2016 (57 seconds)
End rpmdb      : 1230:04d61979027e725066120b0f265a8b86c05d010b
User           : root <root>
Return-Code    : Success
Command Line   : --allowerasing remove gdk-pixbuf2-modules
Transaction performed with:
Traceback (most recent call last):
  File "/usr/bin/dnf", line 58, in <module>
    main.user_main(sys.argv[1:], exit_code=True)
  File "/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 170, in user_main
    errcode = main(args)
  File "/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 60, in main
    return _main(base, args)
  File "/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 111, in _main
    cli.run()
  File "/usr/lib/python3.5/site-packages/dnf/cli/cli.py", line 947, in run
    return self.command.run()
  File "/usr/lib/python3.5/site-packages/dnf/cli/commands/__init__.py", line 916, in run
    ret = self.output.historyInfoCmd(extcmds)
  File "/usr/lib/python3.5/site-packages/dnf/cli/output.py", line 1580, in historyInfoCmd
    self._historyInfoCmd(tid, pats)
  File "/usr/lib/python3.5/site-packages/dnf/cli/output.py", line 1716, in _historyInfoCmd
    _simple_pkg(hpkg, 4, was_installed=True, pkg_max_len=pkg_max_len)
  File "/usr/lib/python3.5/site-packages/dnf/cli/output.py", line 1613, in _simple_pkg
    ipkgs = self.sack.query().installed().filter(name=hpkg.name).run()
  File "/usr/lib/python3.5/site-packages/dnf/query.py", line 89, in installed
    return self.filter(reponame=hawkey.SYSTEM_REPO_NAME)
  File "/usr/lib/python3.5/site-packages/dnf/query.py", line 76, in filter
    return super(Query, self).filter(*args, **kwargs)
  File "/usr/lib64/python3.5/site-packages/hawkey/__init__.py", line 352, in filter
    return new_query._filterm(*lst, **kwargs)
  File "/usr/lib/python3.5/site-packages/dnf/query.py", line 85, in _filterm
    return super(Query, self).filterm(*args, **nargs)
  File "/usr/lib64/python3.5/site-packages/hawkey/__init__.py", line 355, in filterm
    return self._filterm(*lst, **kwargs)
  File "/usr/lib/python3.5/site-packages/dnf/query.py", line 85, in _filterm
    return super(Query, self).filterm(*args, **nargs)
  File "/usr/lib64/python3.5/site-packages/hawkey/__init__.py", line 355, in filterm
    return self._filterm(*lst, **kwargs)
[...]
  File "/usr/lib/python3.5/site-packages/dnf/query.py", line 85, in _filterm
    return super(Query, self).filterm(*args, **nargs)
RecursionError: maximum recursion depth exceeded in comparison

Previous libdnf-0.7.0-0.2git8bd77f8.fc26.x86_64 works fine.

Comment 1 Igor Gnatenko 2016-12-02 13:21:55 UTC
it requires new version of dnf is required. dnf-2.0.0-0.rc2.2.fc26

Comment 2 Jaroslav Mracek 2016-12-02 13:34:42 UTC
I am sorry for problem as author of patch (in dnf) that required patches (libdnf, dnf) that caused the problem. I am really sorry.

Comment 3 Petr Pisar 2016-12-05 07:52:41 UTC
Then, you should have constrain a python3-dnf-2.0.0-0.rc2.2.fc26 requirement on python3-hawkey version because it does not work with python3-hawkey-0.7.0-0.2git8bd77f8.fc26.

Comment 4 Jaroslav Mracek 2016-12-09 14:08:11 UTC
The problem was fixed in dnf-0:2.0.0-0.rc2.5.fc26.noarch 
libdnf-0:0.7.0-0.4gitf9b798c.fc26.x86_64


Note You need to log in before you can comment on or make changes to this bug.