Skip to content

Jedi crashes when using decorators #544

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

Closed
bofm opened this issue Jun 18, 2015 · 0 comments
Closed

Jedi crashes when using decorators #544

bofm opened this issue Jun 18, 2015 · 0 comments

Comments

@bofm
Copy link

bofm commented Jun 18, 2015

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'
sebastinas added a commit that referenced this issue Jun 21, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant