Bug 1456049 - python2: inconsistent hierarchy runtime error
Summary: python2: inconsistent hierarchy runtime error
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: pylint
Version: 26
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: ---
Assignee: Christian Dersch
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-05-26 21:19 UTC by Martin Bašti
Modified: 2017-07-25 12:21 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-07-19 07:33:14 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Martin Bašti 2017-05-26 21:19:30 UTC
Description of problem:

I cannot run pylint with python2.

$ python2 -m pylint
Traceback (most recent call last):
  File "/usr/lib64/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/lib/python2.7/site-packages/pylint/__main__.py", line 7, in <module>
    pylint.run_pylint()
  File "/usr/lib/python2.7/site-packages/pylint/__init__.py", line 13, in run_pylint
    Run(sys.argv[1:])
  File "/usr/lib/python2.7/site-packages/pylint/lint.py", line 1220, in __init__
    linter.load_default_plugins()
  File "/usr/lib/python2.7/site-packages/pylint/lint.py", line 453, in load_default_plugins
    checkers.initialize(self)
  File "/usr/lib/python2.7/site-packages/pylint/checkers/__init__.py", line 114, in initialize
    register_plugins(linter, __path__[0])
  File "/usr/lib/python2.7/site-packages/pylint/utils.py", line 992, in register_plugins
    module = modutils.load_module_from_file(join(directory, filename))
  File "/usr/lib/python2.7/site-packages/astroid/modutils.py", line 272, in load_module_from_file
    return load_module_from_modpath(modpath, path, use_sys)
  File "/usr/lib/python2.7/site-packages/astroid/modutils.py", line 233, in load_module_from_modpath
    module = imp.load_module(curname, mp_file, mp_filename, mp_desc)
  File "/usr/lib/python2.7/site-packages/pylint/checkers/python3.py", line 100, in <module>
    class Python3Checker(checkers.BaseChecker):
  File "/usr/lib/python2.7/site-packages/pylint/checkers/python3.py", line 501, in Python3Checker
    'sys.version_info < (3, 0)',
  File "/usr/lib/python2.7/site-packages/astroid/node_classes.py", line 624, in repr_tree
    _repr_tree(self, result, set())
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 209, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "/usr/lib/python2.7/site-packages/astroid/node_classes.py", line 613, in _repr_node
    depth)
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 209, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "/usr/lib/python2.7/site-packages/astroid/node_classes.py", line 613, in _repr_node
    depth)
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 209, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 190, in dispatch
    impl = _find_impl(cls, registry)
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 141, in _find_impl
    mro = _compose_mro(cls, registry.keys())
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 129, in _compose_mro
    return _c3_mro(cls, abcs=mro)
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 83, in _c3_mro
    other_c3_mros = [_c3_mro(base, abcs=abcs) for base in other_bases]
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 87, in _c3_mro
    [explicit_bases] + [abstract_bases] + [other_bases]
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 38, in _c3_merge
    raise RuntimeError("Inconsistent hierarchy")
RuntimeError: Inconsistent hierarchy

Version-Release number of selected component (if applicable):
# rpm -qa | grep pylint
python2-pylint-1.7.1-1.fc26.noarch

python2-astroid-1.5.2-2.fc26.noarch
python2-singledispatch-3.4.0.3-7.fc26.noarch
python2-2.7.13-8.fc26.x86_64
python3-3.6.1-6.fc26.x86_64


How reproducible:
Always

Steps to Reproduce:
1. dnf install python2-pylint
2. python2 -m pylint *or* pylint-2
3.

Actual results:
Traceback

Expected results:
Working pylint

Additional info:
python3-pylint works as expected

Comment 1 Michael Mráka 2017-06-05 17:35:04 UTC
Same issue here: 
python2-pylint-1.7.1-1.fc27.noarch

# pylint-2
Traceback (most recent call last):
  File "/usr/bin/pylint-2", line 11, in <module>
    load_entry_point('pylint==1.7.1', 'console_scripts', 'pylint')()
  File "/usr/lib/python2.7/site-packages/pylint/__init__.py", line 13, in run_pylint
    Run(sys.argv[1:])
  File "/usr/lib/python2.7/site-packages/pylint/lint.py", line 1220, in __init__
    linter.load_default_plugins()
  File "/usr/lib/python2.7/site-packages/pylint/lint.py", line 453, in load_default_plugins
    checkers.initialize(self)
  File "/usr/lib/python2.7/site-packages/pylint/checkers/__init__.py", line 114, in initialize
    register_plugins(linter, __path__[0])
  File "/usr/lib/python2.7/site-packages/pylint/utils.py", line 992, in register_plugins
    module = modutils.load_module_from_file(join(directory, filename))
  File "/usr/lib/python2.7/site-packages/astroid/modutils.py", line 272, in load_module_from_file
    return load_module_from_modpath(modpath, path, use_sys)
  File "/usr/lib/python2.7/site-packages/astroid/modutils.py", line 233, in load_module_from_modpath
    module = imp.load_module(curname, mp_file, mp_filename, mp_desc)
  File "/usr/lib/python2.7/site-packages/pylint/checkers/python3.py", line 100, in <module>
    class Python3Checker(checkers.BaseChecker):
  File "/usr/lib/python2.7/site-packages/pylint/checkers/python3.py", line 501, in Python3Checker
    'sys.version_info < (3, 0)',
  File "/usr/lib/python2.7/site-packages/astroid/node_classes.py", line 624, in repr_tree
    _repr_tree(self, result, set())
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 209, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "/usr/lib/python2.7/site-packages/astroid/node_classes.py", line 613, in _repr_node
    depth)
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 209, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "/usr/lib/python2.7/site-packages/astroid/node_classes.py", line 613, in _repr_node
    depth)
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 209, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 190, in dispatch
    impl = _find_impl(cls, registry)
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 141, in _find_impl
    mro = _compose_mro(cls, registry.keys())
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 129, in _compose_mro
    return _c3_mro(cls, abcs=mro)
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 83, in _c3_mro
    other_c3_mros = [_c3_mro(base, abcs=abcs) for base in other_bases]
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 87, in _c3_mro
    [explicit_bases] + [abstract_bases] + [other_bases]
  File "/usr/lib/python2.7/site-packages/singledispatch.py", line 38, in _c3_merge
    raise RuntimeError("Inconsistent hierarchy")
RuntimeError: Inconsistent hierarchy

Comment 2 Martin Bašti 2017-07-03 11:40:30 UTC
Any updates? This prevent migration of development to F26

Comment 3 Standa Laznicka 2017-07-19 07:33:14 UTC
This seems to work for me now. Closing as WORKSFORME, please reopen should you encounter the issue again.

Comment 4 fbarreto 2017-07-25 12:21:50 UTC
I was not able to reproduce the bug. It also works for me.


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