Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RecursionError: maximum recursion depth exceeded while calling a Python object #3746

Closed
xorb0ss opened this issue Jul 24, 2020 · 10 comments
Closed
Labels
Bug 🪲 Crash 💥 A bug that makes pylint crash

Comments

@xorb0ss
Copy link

xorb0ss commented Jul 24, 2020

Steps to reproduce

import pandas as pd

def func(col: pd.Timestamp):
    load = pd.to_datetime(col) - pd.DateOffset(years=2)
    sql = “””SELECT {col} FROM *”””.format(col=load)

Current behavior

Crashes with RecursionError: maximum recursion depth exceeded while calling a Python object

Expected behavior

Not to crash

pylint --version output

pylint 2.5.3
astroid 2.4.2
Python 3.8.2
GCC 9.3.0

extra notes

This crash does not occur with pylint==2.3.1 & astroid==2.2.5 similar to #3318

@Choc13
Copy link

Choc13 commented Jul 30, 2020

We are also experiencing this with the same versions of pylint, astroid and python as listed above.

For us it seems to have started happening when pandas updated from 1.0.5 to 1.1.0.

@AWhetter AWhetter added Bug 🪲 Cannot reproduce 🤷 Crash 💥 A bug that makes pylint crash labels Sep 7, 2020
@AWhetter
Copy link
Contributor

AWhetter commented Sep 7, 2020

I can't reproduce this, although pylint does get stuck at some point in the linting process so it may well be recursing deep at that point. My recursion limit is at 1000:

>>> import sys
>>> print(sys.getrecursionlimit())
1000

@mberr
Copy link

mberr commented Oct 1, 2020

I can't reproduce the error with the initial script, however I have a slightly different (minimal) script causing the same error

import pandas

def process(dfa: pandas.DataFrame, dfb: pandas.DataFrame) -> pandas.DataFrame:
   return pandas.merge(dfa, dfb)
$ pylint --disable=all --enable=F,E mwe.py
[...]
RecursionError: maximum recursion depth exceeded
Full Traceback
Traceback (most recent call last):
  File "/tmp/tmp/venv/bin/pylint", line 8, in <module>
    sys.exit(run_pylint())
  File "/tmp/tmp/venv/lib/python3.8/site-packages/pylint/__init__.py", line 22, in run_pylint
    PylintRun(sys.argv[1:])
  File "/tmp/tmp/venv/lib/python3.8/site-packages/pylint/lint/run.py", line 349, in __init__
    linter.check(args)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/pylint/lint/pylinter.py", line 862, in check
    self._check_files(
  File "/tmp/tmp/venv/lib/python3.8/site-packages/pylint/lint/pylinter.py", line 896, in _check_files
    self._check_file(get_ast, check_astroid_module, name, filepath, modname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/pylint/lint/pylinter.py", line 922, in _check_file
    check_astroid_module(ast_node)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/pylint/lint/pylinter.py", line 1054, in check_astroid_module
    retval = self._check_astroid_module(
  File "/tmp/tmp/venv/lib/python3.8/site-packages/pylint/lint/pylinter.py", line 1099, in _check_astroid_module
    walker.walk(ast_node)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/pylint/utils/ast_walker.py", line 75, in walk
    self.walk(child)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/pylint/utils/ast_walker.py", line 75, in walk
    self.walk(child)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/pylint/utils/ast_walker.py", line 75, in walk
    self.walk(child)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/pylint/utils/ast_walker.py", line 72, in walk
    callback(astroid)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/pylint/checkers/strings.py", line 412, in visit_call
    func = utils.safe_infer(node.func)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/pylint/checkers/utils.py", line 1143, in safe_infer
    value = next(infer_gen)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 319, in infer_attribute
    yield from owner.igetattr(self.attrname, context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 273, in infer_import_from
    module = self.do_import_module()
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/mixins.py", line 99, in do_import_module
    return mymodule.import_module(
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 642, in import_module
    return MANAGER.ast_from_module_name(absmodname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 189, in ast_from_module_name
    return self.ast_from_file(found_spec.location, modname, fallback=False)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 98, in ast_from_file
    return AstroidBuilder(self).file_build(filepath, modname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 138, in file_build
    return self._post_build(module, encoding)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 158, in _post_build
    self.delayed_assattr(delayed)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 226, in delayed_assattr
    for inferred in node.expr.infer():
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 293, in infer_attribute
    for owner in self.expr.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 252, in infer_import
    yield self.do_import_module(self.real_name(name))
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/mixins.py", line 99, in do_import_module
    return mymodule.import_module(
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 642, in import_module
    return MANAGER.ast_from_module_name(absmodname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 189, in ast_from_module_name
    return self.ast_from_file(found_spec.location, modname, fallback=False)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 98, in ast_from_file
    return AstroidBuilder(self).file_build(filepath, modname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 138, in file_build
    return self._post_build(module, encoding)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 158, in _post_build
    self.delayed_assattr(delayed)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 226, in delayed_assattr
    for inferred in node.expr.infer():
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 367, in infer_subscript
    for value in self.value.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 293, in infer_attribute
    for owner in self.expr.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 850, in infer_assign
    stmts = list(self.assigned_stmts(context=context))
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 293, in infer_attribute
    for owner in self.expr.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 850, in infer_assign
    stmts = list(self.assigned_stmts(context=context))
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 293, in infer_attribute
    for owner in self.expr.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 273, in infer_import_from
    module = self.do_import_module()
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/mixins.py", line 99, in do_import_module
    return mymodule.import_module(
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 642, in import_module
    return MANAGER.ast_from_module_name(absmodname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 189, in ast_from_module_name
    return self.ast_from_file(found_spec.location, modname, fallback=False)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 98, in ast_from_file
    return AstroidBuilder(self).file_build(filepath, modname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 138, in file_build
    return self._post_build(module, encoding)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 158, in _post_build
    self.delayed_assattr(delayed)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 226, in delayed_assattr
    for inferred in node.expr.infer():
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 293, in infer_attribute
    for owner in self.expr.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 850, in infer_assign
    stmts = list(self.assigned_stmts(context=context))
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/protocols.py", line 331, in _arguments_infer_argname
    is_metaclass = isinstance(cls, nodes.ClassDef) and cls.type == "metaclass"
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1830, in _class_type
    if _is_metaclass(klass):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1799, in _is_metaclass
    for baseobj in base.infer():
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 273, in infer_import_from
    module = self.do_import_module()
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/mixins.py", line 99, in do_import_module
    return mymodule.import_module(
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 642, in import_module
    return MANAGER.ast_from_module_name(absmodname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 189, in ast_from_module_name
    return self.ast_from_file(found_spec.location, modname, fallback=False)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 98, in ast_from_file
    return AstroidBuilder(self).file_build(filepath, modname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 138, in file_build
    return self._post_build(module, encoding)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 158, in _post_build
    self.delayed_assattr(delayed)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 226, in delayed_assattr
    for inferred in node.expr.infer():
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 273, in infer_import_from
    module = self.do_import_module()
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/mixins.py", line 99, in do_import_module
    return mymodule.import_module(
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 642, in import_module
    return MANAGER.ast_from_module_name(absmodname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 189, in ast_from_module_name
    return self.ast_from_file(found_spec.location, modname, fallback=False)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 98, in ast_from_file
    return AstroidBuilder(self).file_build(filepath, modname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 138, in file_build
    return self._post_build(module, encoding)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 158, in _post_build
    self.delayed_assattr(delayed)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 226, in delayed_assattr
    for inferred in node.expr.infer():
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 273, in infer_import_from
    module = self.do_import_module()
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/mixins.py", line 99, in do_import_module
    return mymodule.import_module(
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 642, in import_module
    return MANAGER.ast_from_module_name(absmodname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 189, in ast_from_module_name
    return self.ast_from_file(found_spec.location, modname, fallback=False)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 98, in ast_from_file
    return AstroidBuilder(self).file_build(filepath, modname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 138, in file_build
    return self._post_build(module, encoding)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 158, in _post_build
    self.delayed_assattr(delayed)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 226, in delayed_assattr
    for inferred in node.expr.infer():
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 293, in infer_attribute
    for owner in self.expr.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 293, in infer_attribute
    for owner in self.expr.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 273, in infer_import_from
    module = self.do_import_module()
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/mixins.py", line 99, in do_import_module
    return mymodule.import_module(
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 642, in import_module
    return MANAGER.ast_from_module_name(absmodname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 189, in ast_from_module_name
    return self.ast_from_file(found_spec.location, modname, fallback=False)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 98, in ast_from_file
    return AstroidBuilder(self).file_build(filepath, modname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 138, in file_build
    return self._post_build(module, encoding)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 158, in _post_build
    self.delayed_assattr(delayed)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 226, in delayed_assattr
    for inferred in node.expr.infer():
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 293, in infer_attribute
    for owner in self.expr.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 293, in infer_attribute
    for owner in self.expr.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 479, in _filter_operation_errors
    for result in infer_callable(self, context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 798, in _infer_augassign
    for lhs, rhs in itertools.product(lhs_iter, rhs_iter):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 273, in infer_import_from
    module = self.do_import_module()
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/mixins.py", line 99, in do_import_module
    return mymodule.import_module(
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 642, in import_module
    return MANAGER.ast_from_module_name(absmodname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 189, in ast_from_module_name
    return self.ast_from_file(found_spec.location, modname, fallback=False)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 98, in ast_from_file
    return AstroidBuilder(self).file_build(filepath, modname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 138, in file_build
    return self._post_build(module, encoding)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 158, in _post_build
    self.delayed_assattr(delayed)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 226, in delayed_assattr
    for inferred in node.expr.infer():
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 380, in <genexpr>
    return (Instance(x) if x is not util.Uninferable else x for x in infer)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 850, in infer_assign
    stmts = list(self.assigned_stmts(context=context))
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/protocols.py", line 331, in _arguments_infer_argname
    is_metaclass = isinstance(cls, nodes.ClassDef) and cls.type == "metaclass"
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1830, in _class_type
    if _is_metaclass(klass):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1799, in _is_metaclass
    for baseobj in base.infer():
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 273, in infer_import_from
    module = self.do_import_module()
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/mixins.py", line 99, in do_import_module
    return mymodule.import_module(
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 642, in import_module
    return MANAGER.ast_from_module_name(absmodname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 189, in ast_from_module_name
    return self.ast_from_file(found_spec.location, modname, fallback=False)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 98, in ast_from_file
    return AstroidBuilder(self).file_build(filepath, modname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 138, in file_build
    return self._post_build(module, encoding)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 158, in _post_build
    self.delayed_assattr(delayed)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 226, in delayed_assattr
    for inferred in node.expr.infer():
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 293, in infer_attribute
    for owner in self.expr.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 293, in infer_attribute
    for owner in self.expr.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 273, in infer_import_from
    module = self.do_import_module()
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/mixins.py", line 99, in do_import_module
    return mymodule.import_module(
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 642, in import_module
    return MANAGER.ast_from_module_name(absmodname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 189, in ast_from_module_name
    return self.ast_from_file(found_spec.location, modname, fallback=False)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/manager.py", line 98, in ast_from_file
    return AstroidBuilder(self).file_build(filepath, modname)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 138, in file_build
    return self._post_build(module, encoding)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 158, in _post_build
    self.delayed_assattr(delayed)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/builder.py", line 226, in delayed_assattr
    for inferred in node.expr.infer():
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 142, in raise_if_nothing_inferred
    yield from generator
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 293, in infer_attribute
    for owner in self.expr.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 233, in infer_call
    yield from callee.infer_call_result(caller=self, context=callcontext)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/scoped_nodes.py", line 1722, in infer_call_result
    yield from returnnode.value.infer(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 227, in infer_call
    for callee in self.func.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 293, in infer_attribute
    for owner in self.expr.infer(context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 96, in wrapped
    res = next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/bases.py", line 136, in _infer_stmts
    for inferred in stmt.infer(context=context):
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/util.py", line 160, in limit_inference
    yield from islice(iterator, size)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 113, in cache_generator
    for result in generator:
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 132, in raise_if_nothing_inferred
    yield next(generator)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/decorators.py", line 93, in wrapped
    generator = _func(node, context, **kwargs)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/inference.py", line 850, in infer_assign
    stmts = list(self.assigned_stmts(context=context))
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/protocols.py", line 309, in assend_assigned_stmts
    return self.parent.assigned_stmts(node=self, context=context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/protocols.py", line 375, in arguments_assigned_stmts
    context = contextmod.copy_context(context)
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 155, in copy_context
    return context.clone()
  File "/tmp/tmp/venv/lib/python3.8/site-packages/astroid/context.py", line 102, in clone
    clone = InferenceContext(self.path, inferred=self.inferred)
RecursionError: maximum recursion depth exceeded

The relevant versions

$ pylint --version
pylint 2.6.0
astroid 2.4.2
Python 3.8.2 (default, Jul 16 2020, 14:00:26) 
[GCC 9.3.0]

$ pip freeze | grep pandas
pandas==1.1.2

When downgrading pandas to 1.0.5 (as suggested by @Choc13), the error does not occur anymore

$ pip install pandas~=1.0.0
[...]

$ pip freeze | grep pandas
pandas==1.0.5

$ pylint --disable=all --enable=F,E mwe.py

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 0.00/10, +10.00)

@hippo91
Copy link
Contributor

hippo91 commented Oct 3, 2020

@mberr thanks for this update. I can reproduce the bug with your snippet.

pylint 2.6.1-dev1
astroid 2.4.3
Python 3.7.7 (default, Jun 27 2020, 15:03:12) 
[GCC 8.3.0]

@hippo91
Copy link
Contributor

hippo91 commented Oct 3, 2020

@mberr this issue is similar to #2843 and #2811. Thanks to @brycepg and pylint-dev/astroid#804 it is solved in the master branch of astroid.
I haved tested your snippet with the astroid master branch and the RecursionError doesn't appear any more. I close this issue.

@hippo91 hippo91 closed this as completed Oct 3, 2020
@adam-azarchs
Copy link

I and can still reproduce this in python 3.7 and astroid at current master.

@hippo91
Copy link
Contributor

hippo91 commented Nov 24, 2020

@adam-azarchs thanks for your feedback. Can you give us a snippet of the problem please?

@adam-azarchs
Copy link

Code similar to that in #3746 (comment) using pd.merge reproduces it with pandas version 0.24.2. I'm expecting we'll probably resolve the issue by updating pandas to a more recent version once our team has the bandwidth to do that, but would be nice to have the underlying issue fixed on the pylint side in case it pops up in other contexts. I can come back with a more complete reproducer if need be when I have more time.

@bnsh
Copy link

bnsh commented Dec 17, 2020

I'm seeing this problem with the python:3.8 Docker file: https://gist.github.com/bnsh/b959f91a33ac014e41c1692e9269e1e7

The gist shows the output I get.

FROM python:3.8

MAINTAINER Binesh Bannerjee <binesh_binesh@hotmail.com>

RUN /usr/local/bin/python3.8 -m pip install -U pylint pandas

RUN echo "import pandas as pd" > /tmp/demo.py && \
    echo "pd.merge_asof()" >> /tmp/demo.py

RUN /usr/local/bin/python3.8 -m pip freeze

CMD ["/usr/local/bin/python3.8", "-m", "pylint", "-r", "n", "/tmp/demo.py"]

# docker build -t binesh/pylintbug .
# docker run -it --rm binesh/pylintbug
#
# demo.py simply contains
# import pandas as pd
# pd.merge_asof()
#
# pip freeze output:
# astroid==2.4.2
# isort==5.6.4
# lazy-object-proxy==1.4.3
# mccabe==0.6.1
# numpy==1.19.4
# pandas==1.1.5
# pylint==2.6.0
# python-dateutil==2.8.1
# pytz==2020.4
# six==1.15.0
# toml==0.10.2
# wrapt==1.12.1

@hippo91
Copy link
Contributor

hippo91 commented Dec 20, 2020

@adam-azarchs in fact the pandas version you use is quite old. It would be nice if you could test with a more recent version.
@bnsh you problem is a duplicate of #3977.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug 🪲 Crash 💥 A bug that makes pylint crash
Projects
None yet
Development

No branches or pull requests

7 participants