Skip to content

Jedi crashes when using decorators #544

Closed
@bofm

Description

@bofm
root@75435816a19c:/# bpython
bpython version 0.14.2 on top of Python 3.4.3 /usr/local/bin/python3.4
>>> import asyncio
>>> @asyncio.coroutine
... de
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/site-packages/jedi/cache.py", line 141, in wrapper
    return getattr(self, name)
AttributeError: 'UserContextParser' object has no attribute '_user_stmt_with_whitespace'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/site-packages/jedi/cache.py", line 141, in wrapper
    return getattr(self, name)
AttributeError: 'UserContextParser' object has no attribute '_user_stmt'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/site-packages/jedi/cache.py", line 141, in wrapper
    return getattr(self, name)
AttributeError: 'UserContextParser' object has no attribute '__parser'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/__init__.py", line 294, in clear_names
    clear_names(c.children)
AttributeError: 'Name' object has no attribute 'children'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/bpython", line 9, in <module>
    load_entry_point('bpython==0.14.2', 'console_scripts', 'bpython')()
  File "/usr/local/lib/python3.4/site-packages/bpython/curtsies.py", line 79, in main
    interactive=(not exec_args))
  File "/usr/local/lib/python3.4/site-packages/bpython/curtsies.py", line 177, in mainloop
    process_event(e)
  File "/usr/local/lib/python3.4/site-packages/bpython/curtsies.py", line 135, in process_event
    repl.process_event(e)
  File "/usr/local/lib/python3.4/site-packages/bpython/curtsiesfrontend/repl.py", line 488, in process_event
    return self.process_key_event(e)
  File "/usr/local/lib/python3.4/site-packages/bpython/curtsiesfrontend/repl.py", line 629, in process_key_event
    self.add_normal_character(e)
  File "/usr/local/lib/python3.4/site-packages/bpython/curtsiesfrontend/repl.py", line 848, in add_normal_character
    self.cursor_offset += 1
  File "/usr/local/lib/python3.4/site-packages/bpython/curtsiesfrontend/repl.py", line 1345, in _set_cursor_offset
    self.update_completion()
  File "/usr/local/lib/python3.4/site-packages/bpython/curtsiesfrontend/repl.py", line 878, in update_completion
    self.list_win_visible = BpythonRepl.complete(self, tab)
  File "/usr/local/lib/python3.4/site-packages/bpython/repl.py", line 599, in complete
    history=self.history)
  File "/usr/local/lib/python3.4/site-packages/bpython/autocomplete.py", line 466, in get_completer_bpython
    return get_completer(BPYTHON_COMPLETER, cursor_offset, line, **kwargs)
  File "/usr/local/lib/python3.4/site-packages/bpython/autocomplete.py", line 446, in get_completer
    cursor_offset, line, **kwargs)
  File "/usr/local/lib/python3.4/site-packages/bpython/autocomplete.py", line 421, in matches
    history=history)
  File "/usr/local/lib/python3.4/site-packages/bpython/autocomplete.py", line 376, in matches
    completions = script.completions()
  File "/usr/local/lib/python3.4/site-packages/jedi/api/__init__.py", line 185, in completions
    user_stmt = self._parser.user_stmt_with_whitespace()
  File "/usr/local/lib/python3.4/site-packages/jedi/cache.py", line 143, in wrapper
    result = func(self)
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/user_context.py", line 303, in user_stmt_with_whitespace
    user_stmt = self.user_stmt()
  File "/usr/local/lib/python3.4/site-packages/jedi/cache.py", line 143, in wrapper
    result = func(self)
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/user_context.py", line 293, in user_stmt
    module = self.module()
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/user_context.py", line 339, in module
    return self._parser().module
  File "/usr/local/lib/python3.4/site-packages/jedi/cache.py", line 143, in wrapper
    result = func(self)
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/user_context.py", line 283, in _parser
    parser = FastParser(self._grammar, self._source, self._path)
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/fast.py", line 109, in __call__
    p.update(source)
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/fast.py", line 257, in update
    self._parse(source)
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/fast.py", line 383, in _parse
    line_offset, nodes)
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/fast.py", line 435, in _get_node
    p = Parser(self._grammar, parser_code, self.module_path, tokenizer=tokenizer)
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/__init__.py", line 155, in __init__
    self.module = p.parse(self._tokenize(tokenizer))
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/pgen2/parse.py", line 106, in parse
    if self.addtoken(type, value, prefix, start_pos):
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/pgen2/parse.py", line 170, in addtoken
    value, start_pos, prefix, self.addtoken)
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/__init__.py", line 269, in error_recovery
    self._stack_removal(grammar, stack, index + 1, value, start_pos)
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/__init__.py", line 304, in _stack_removal
    clear_names(children=node[1])
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/__init__.py", line 294, in clear_names
    clear_names(c.children)
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/__init__.py", line 294, in clear_names
    clear_names(c.children)
  File "/usr/local/lib/python3.4/site-packages/jedi/parser/__init__.py", line 298, in clear_names
    self._scope_names_stack[-1][c.value].remove(c)
KeyError: 'asyncio'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions