jedi-vim: Severe crashes on dot completion

Issue

Lately, I noticed several crashes of vim (actually, even the whole terminal session). Finally, I found a situation where the problem was reproducible.

On pressing the last dot, vim blocks. Even more severe (not exact same situation but same behavior), lately vim crashed like that on a server and after logging back in I forgot to explicitly kill the old vim session, after some days I noticed my orphaned vim process in htop using 500 GB RAM.

Steps to reproduce

import pandas as pd
df = pd.read_csv('somefile.csv')

y = df['Stance'].<ui block>

Versions

  • jedi-vim: b885e10e0db39ee735475464cd5af0cd93ff4959 testing/start/jedi-vim (0.8.0-70-gb885e10)
  • Vim / Neovim: VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jan 19 2017 13:44:53)
  • Python: Python 3.5.2

In case you are not using jedi-vim from Git master, please test it there, too.

Output of the “JediDebugInfo” command (in a Python buffer)

Jedi-vim debug information

Using Python version: 3

  • sys.version: 3.5.2 (default, Sep 14 2016, 11:28:32), [GCC 6.2.1 20160901 (Red Hat 6.2.1-1)]
  • site module: /usr/lib64/python3.5/site.py Jedi path: /home/lpag/.vim/pack/testing/start/jedi-vim/jedi/jedi/init.py
  • version: 0.10.0
  • sys_path:
    • /home/lpag/.vim/pack/testing/start/jedi-vim
    • /home/lpag/git/moving/Code/elastify
    • /usr/lib/python3.5/site-packages/pyaml-15.8.2-py3.5.egg
    • /usr/lib/python3.5/site-packages/nltk-3.2.1-py3.5.egg
    • /usr/lib/python3.5/site-packages/langdetect-1.0.6-py3.5.egg
    • /usr/lib64/python35.zip
    • /usr/lib64/python3.5
    • /usr/lib64/python3.5/plat-linux
    • /usr/lib64/python3.5/lib-dynload
    • /usr/lib64/python3.5/site-packages
    • /usr/lib/python3.5/site-packages
    • vim_path jedi-vim git version: 0.8.0-70-gb885e10 jedi git submodule status: 70200861661a921016563717487c1ced9993acdb jedi (v0.10.0)
Settings
g:show_call_signatures = 2 (default: 1)

  omnifunc=jedi#completions
        Last set from ~/.vim/pack/testing/start/jedi-vim/after/ftplugin/python/jedi.vim
  completeopt=menu,preview,menuone,noinsert,noselect
        Last set from ~/.vim/vimrc

Output of the “messages” Vim command

Messages maintainer: Bram Moolenaar Bram@vim.org “detect.py” 79L, 2989C

Output of “scriptnames” Vim command

1: /etc/vimrc 2: /usr/share/vim/vim80/syntax/syntax.vim 3: /usr/share/vim/vim80/syntax/synload.vim 4: /usr/share/vim/vim80/syntax/syncolor.vim 5: /usr/share/vim/vim80/filetype.vim 6: ~/.vim/ftdetect/mail.vim 7: ~/.vim/ftdetect/muttrc.vim 8: /usr/share/vim/vimfiles/ftdetect/stp.vim 9: /usr/share/vim/vim80/ftplugin.vim 10: ~/.vim/vimrc 11: /usr/share/vim/vim80/indent.vim 12: /usr/share/vim/vim80/ftplugin/man.vim 13: ~/.vim/pack/extra/opt/syntastic/plugin/syntastic/autoloclist.vim 14: ~/.vim/pack/extra/opt/syntastic/plugin/syntastic/balloons.vim 15: ~/.vim/pack/extra/opt/syntastic/plugin/syntastic/checker.vim 16: ~/.vim/pack/extra/opt/syntastic/plugin/syntastic/cursor.vim 17: ~/.vim/pack/extra/opt/syntastic/plugin/syntastic/highlighting.vim 18: ~/.vim/pack/extra/opt/syntastic/plugin/syntastic/loclist.vim 19: ~/.vim/pack/extra/opt/syntastic/plugin/syntastic/modemap.vim 20: ~/.vim/pack/extra/opt/syntastic/plugin/syntastic/notifiers.vim 21: ~/.vim/pack/extra/opt/syntastic/plugin/syntastic/registry.vim 22: ~/.vim/pack/extra/opt/syntastic/plugin/syntastic/signs.vim 23: ~/.vim/pack/extra/opt/syntastic/plugin/syntastic.vim 24: ~/.vim/pack/extra/opt/syntastic/autoload/syntastic/util.vim 25: /usr/share/vim/vim80/pack/dist/opt/matchit/plugin/matchit.vim 26: /usr/share/vim/vim80/syntax/nosyntax.vim 27: ~/.vim/pack/extra/opt/gruvbox/colors/gruvbox.vim 28: /usr/share/vim/vimfiles/plugin/cctree.vim 29: /usr/share/vim/vim80/plugin/getscriptPlugin.vim 30: /usr/share/vim/vim80/plugin/gzip.vim 31: /usr/share/vim/vim80/plugin/logiPat.vim 32: /usr/share/vim/vim80/plugin/manpager.vim 33: /usr/share/vim/vim80/plugin/matchparen.vim 34: /usr/share/vim/vim80/plugin/netrwPlugin.vim 35: /usr/share/vim/vim80/plugin/rrhelper.vim 36: /usr/share/vim/vim80/plugin/spellfile.vim 37: /usr/share/vim/vim80/plugin/tarPlugin.vim 38: /usr/share/vim/vim80/plugin/tohtml.vim 39: /usr/share/vim/vim80/plugin/vimballPlugin.vim 40: /usr/share/vim/vim80/plugin/zipPlugin.vim 41: ~/.vim/pack/community/start/goyo.vim/plugin/goyo.vim 42: ~/.vim/pack/community/start/limelight.vim/plugin/limelight.vim 43: ~/.vim/pack/community/start/rainbow_parentheses.vim/plugin/rainbow_parentheses.vim 44: ~/.vim/pack/community/start/tagbar/plugin/tagbar.vim 45: ~/.vim/pack/community/start/vim-signify/plugin/signify.vim 46: ~/.vim/pack/core/start/FastFold/plugin/fastfold.vim 47: ~/.vim/pack/core/start/ctrlp.vim/plugin/ctrlp.vim 48: ~/.vim/pack/core/start/ctrlp.vim/autoload/ctrlp/mrufiles.vim 49: ~/.vim/pack/core/start/splitjoin.vim/plugin/splitjoin.vim 50: ~/.vim/pack/core/start/splitjoin.vim/autoload/sj/settings.vim 51: ~/.vim/pack/core/start/tabular/plugin/Tabular.vim 52: ~/.vim/pack/core/start/vim-abolish/plugin/abolish.vim 53: ~/.vim/pack/core/start/vim-argumentative/plugin/argumentative.vim 54: ~/.vim/pack/core/start/vim-commentary/plugin/commentary.vim 55: ~/.vim/pack/core/start/vim-dispatch/plugin/dispatch.vim 56: ~/.vim/pack/core/start/vim-fugitive/plugin/fugitive.vim 57: ~/.vim/pack/core/start/vim-indent-object/plugin/indent-object.vim 58: ~/.vim/pack/core/start/vim-liquid/ftdetect/liquid.vim 59: ~/.vim/pack/core/start/vim-sensible/plugin/sensible.vim 60: ~/.vim/pack/core/start/vim-sleuth/plugin/sleuth.vim 61: ~/.vim/pack/core/start/vim-sneak/plugin/sneak.vim 62: ~/.vim/pack/core/start/vim-speeddating/plugin/speeddating.vim 63: ~/.vim/pack/core/start/vim-surround/plugin/surround.vim 64: ~/.vim/pack/core/start/vim-unimpaired/plugin/unimpaired.vim 65: ~/.vim/pack/core/start/vim-vinegar/plugin/vinegar.vim 66: ~/.vim/pack/extra/start/FastFold/plugin/fastfold.vim 67: ~/.vim/pack/extra/start/SimpylFold/plugin/SimpylFold.vim 68: ~/.vim/pack/extra/start/ack.vim/plugin/ack.vim 69: ~/.vim/pack/extra/start/angular-cli.vim/plugin/angular-cli.vim 70: ~/.vim/pack/extra/start/tsuquyomi/plugin/tsuquyomi.vim 71: ~/.vim/pack/extra/start/tsuquyomi/ftdetect/typescript.vim 72: ~/.vim/pack/extra/start/typescript-vim/ftdetect/typescript.vim 73: ~/.vim/pack/extra/start/vim-endwise/plugin/endwise.vim 74: ~/.vim/pack/extra/start/vim-eunuch/plugin/eunuch.vim 75: ~/.vim/pack/extra/start/vim-flagship/plugin/flagship.vim 76: ~/.vim/pack/extra/start/vim-jdaddy/plugin/jdaddy.vim 77: ~/.vim/pack/extra/start/vim-js-pretty-template/plugin/jspretmpl.vim 78: ~/.vim/pack/extra/start/vim-pandoc/plugin/pandoc.vim 79: ~/.vim/pack/extra/start/vim-pandoc-syntax/plugin/pandoc-syntax-check.vim 80: ~/.vim/pack/extra/start/vim-projectionist/plugin/projectionist.vim 81: ~/.vim/pack/extra/start/vim-ragtag/plugin/ragtag.vim 82: ~/.vim/pack/extra/start/vim-scriptease/plugin/scriptease.vim 83: ~/.vim/pack/extra/start/vim-tbone/plugin/tbone.vim 84: ~/.vim/pack/extra/start/vimproc.vim/plugin/vimproc.vim
85: ~/.vim/pack/testing/start/delimitMate/plugin/delimitMate.vim 86: ~/.vim/pack/testing/start/delimitMate/autoload/delimitMate.vim 87: ~/.vim/pack/testing/start/jedi-vim/plugin/jedi.vim 88: ~/.vim/pack/testing/start/vim-easy-align/plugin/easy_align.vim 89: ~/.vim/after/plugin/fugitive.vim

Syntax additions in /after/syntax/python.vim

syn keyword pythonBuiltinObj self     
                                     
syn keyword linalgScalar a b c d e    
syn keyword linalgVector u v w x y z 
syn keyword linalgMatrix A B C D I E J H X Y Z 
 " I hope this is not a problem       
syn keyword pythonInclude np pd tf sp                                                                                                                                                                       
                                     
                                     
hi linalgScalar term=italic cterm=italic gui=italic
hi linalgVector term=bold,italic cterm=bold,italic gui=bold,italic
hi linalgMatrix term=bold,italic cterm=bold,italic gui=bold,italic

Best Regards and Thanks in advance, Lukas

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 2
  • Comments: 31 (5 by maintainers)

Commits related to this issue

Most upvoted comments

It seems my fresh ubuntu install was affected by this seemingly random hang with 100% cpu load. I tried:

  • compiling VIM from source with dynamic python bindings (does not fix issue)
  • Installing older versions of jedi (v.0.9.0) and jedi-vim (80378d8) (does not help)
  • checking out Jedi version v.0.9.0 (6655790) in .vim/bundle/jedi-vim/jedi (this seems to fix the problem)

These are my findings with very limited testing.

edit: To help start bisecting: jedi-vim submodule jedi commit ( 2ba78ab ) seems to be good.

One of the computers of the research group I am working for has indeed 1,5 TB RAM. It’s great.