Youcompleteme: MacVim freezes with YouCompleteMe on Catalina - RESOLVED

Created on 29 Oct 2019  Â·  17Comments  Â·  Source: ycm-core/YouCompleteMe

Issue Prelude

Please complete these steps and check these boxes (by putting an x inside
the brackets) _before_ filing your issue:

  • [x] I have read and understood YCM's CONTRIBUTING document.
  • [x] I have read and understood YCM's CODE_OF_CONDUCT document.
  • [x] I have read and understood YCM's README, especially the
    Frequently Asked Questions section.
  • [x] I have searched YCM's issue tracker to find issues similar to the one I'm
    about to report and couldn't find an answer to my problem. (Example Google
    search.
    )
  • [x] If filing a bug report, I have included the output of vim --version.
  • [ ] If filing a bug report, I have included the output of :YcmDebugInfo.
  • [ ] If filing a bug report, I have attached the contents of the logfiles using
    the :YcmToggleLogs command.
  • [x] If filing a bug report, I have included which OS (including specific OS
    version) I am using.
  • [ ] If filing a bug report, I have included a minimal test case that reproduces
    my issue, including what I expected to happen and what actually happened.
  • [ ] If filing a installation failure report, I have included the entire output
    of install.py (or cmake/make/ninja) including its invocation
  • [x] I understand this is an open-source project staffed by volunteers and
    that any help I receive is a selfless, heartfelt _gift_ of their free time. I
    know I am not entitled to anything and will be polite and courteous.
  • [x] I understand my issue may be closed if it becomes obvious I didn't
    actually perform all of these steps.

Thank you for adhering to this process! It ensures your issue is resolved
quickly and that neither your nor our time is needlessly wasted.

Issue Details

Starting VIM in Terminal or MACVIM on my Macbook Pro freezes it immediately when YouCompleteMe is installed.

  • What did you do?

Whenever I set up a new machine I install amix/vimrc. Then I put YouCompleteMe inside the my_plugin folder, install with ./install.py --clangd-completer and it works.

But this time everything freezes. The VIM process uses immediately 50% CPU usage. I went to gittr where I received a lot of help from @bstaletic. So far we have learned:

  • Vim never gets a response to /ready request, which makes it freeze.
  • Yet the server seems to work. It even says serving on localhost:some_port.
  • Putting a return in PollServerReady() unfreezes vim.
  • it doesn't matter if YCM is installed with python3 or python2, error remains.
  • all other plugins are removed to make sure no interference happens
  • What did you expect to happen?

VIM not to freeze...

  • What actually happened?

VIM freezes

Diagnostic data

Output of vim --version

VIM - Vi IMproved 8.1 (2018 May 18, compiled Oct 28 2019 11:33:50)
macOS version
Included patches: 1-2224
Compiled by [email protected]
Huge version with MacVim GUI. Features included (+) or not (-):
+acl +file_in_path +mouse_urxvt -tcl
+arabic +find_in_path +mouse_xterm +termguicolors
+autocmd +float +multi_byte +terminal
+autochdir +folding +multi_lang +terminfo
-autoservername -footer -mzscheme +termresponse
+balloon_eval +fork() +netbeans_intg +textobjects
+balloon_eval_term +fullscreen +num64 +textprop
+browse -gettext +odbeditor +timers
++builtin_terms -hangul_input +packages +title
+byte_offset +iconv +path_extra +toolbar
+channel +insert_expand +perl/dyn +transparency
+cindent +job +persistent_undo +user_commands
+clientserver +jumplist +postscript +vartabs
+clipboard +keymap +printer +vertsplit
+cmdline_compl +lambda +profile +virtualedit
+cmdline_hist +langmap +python/dyn +visual
+cmdline_info +libcall +python3/dyn +visualextra
+comments +linebreak +quickfix +viminfo
+conceal +lispindent +reltime +vreplace
+cryptv +listcmds +rightleft +wildignore
+cscope +localmap +ruby/dyn +wildmenu
+cursorbind +lua/dyn +scrollbind +windows
+cursorshape +menu +signs +writebackup
+dialog_con_gui +mksession +smartindent -X11
+diff +modify_fname -sound -xfontset
+digraphs +mouse +spell +xim
+dnd +mouseshape +startuptime -xpm
-ebcdic +mouse_dec +statusline -xsmp
+emacs_tags -mouse_gpm -sun_workshop -xterm_clipboard
+eval -mouse_jsbterm +syntax -xterm_save
+ex_extra +mouse_netterm +tag_binary
+extra_search +mouse_sgr -tag_old_static
-farsi -mouse_sysmouse -tag_any_white
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
defaults file: "$VIMRUNTIME/defaults.vim"
system menu file: "$VIMRUNTIME/menu.vim"
fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe -DMACOS_X -DMACOS_X_DARWIN -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: clang -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/[email protected]/lib -L/usr/local/opt/readline/lib -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/[email protected]/lib -L/usr/local/opt/readline/lib -L/usr/local/lib -o Vim -framework Cocoa -framework Carbon -lm -lncurses -liconv -framework AppKit -fstack-protector -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE

Output of YcmDebugInfo

-

Contents of YCM, ycmd and completion engine logfiles

stderr logs: DEBUG - No global extra conf, not calling method YcmCorePreload
and stdout: serving on http://localhost:54407

OS version, distribution, etc.

MacOS Catalina 10.15

Output of build/install commands

-

Most helpful comment

If your using the latest MacVim 160 Snapshot this is a known issue due to them trying to implement the changes required to meet Apple's notarary standards breaking python support.

Reference here: https://github.com/macvim-dev/macvim/issues/979. Related: https://github.com/macvim-dev/macvim/pull/980

MacVim 161 will fix this and will be out in the next day or 2.

All 17 comments

I can confirm this with MacVim 8.1.2224 (160). Tried both the release and Homebrew Cask one.

I'm also getting an error with YouCompleteMe and the latest version of MacVim (8.1.2224). (I'm running this on Mojave.) It doesn't freeze for me, but on startup some error lines are printed out. I captured the first several lines below (the repeated things that vim prints before each piece of output have been removed):

Error detected while processing function 42_PollServerReady[7]..42_Pye
Traceback (most recent call last):
File "", line 1, in
File "/Users/andy/.vim/bundle/YouCompleteMe/python/ycm/youcompleteme.py", line
244, in CheckIfServerIsReady
'ready', display_message = False )
File "/Users/andy/.vim/bundle/YouCompleteMe/python/ycm/client/base_request.py"
, line 113, in GetDataFromHandler
self.GetDataFromHandlerAsync( handler, timeout, payload ),

I don't know if that's helpful or not, and please tell me if there's a better way to get this output. After I hit ENTER a bunch of times to get through the error messages, MacVim crashes or shows the message "The ycmd server SHUT DOWN (restart with ':YcmRestartServer'). YCM core library not ...u need to compile YCM before using it." If I run that command, MacVim crashes.

I'm also getting an error with YouCompleteMe and the latest version of MacVim (8.1.2224). (I'm running this on Mojave.) It doesn't freeze for me, but on startup some error lines are printed out. I captured the first several lines below (the repeated things that vim prints before each piece of output have been removed):

Error detected while processing function 42_PollServerReady[7]..42_Pye
Traceback (most recent call last):
File "", line 1, in
File "/Users/andy/.vim/bundle/YouCompleteMe/python/ycm/youcompleteme.py", line
244, in CheckIfServerIsReady
'ready', display_message = False )
File "/Users/andy/.vim/bundle/YouCompleteMe/python/ycm/client/base_request.py"
, line 113, in GetDataFromHandler
self.GetDataFromHandlerAsync( handler, timeout, payload ),

I don't know if that's helpful or not, and please tell me if there's a better way to get this output. After I hit ENTER a bunch of times to get through the error messages, MacVim crashes or shows the message "The ycmd server SHUT DOWN (restart with ':YcmRestartServer'). YCM core library not ...u need to compile YCM before using it." If I run that command, MacVim crashes.

Thats exactly something @bstaletic and I talked about. However, interesting I do not get this messages. Do you have MacVim with the usual python2.7 or have you build it with python3? The latter is something @bstaletic suspects it could change something (despite a logical reason). Did not have the time to test that.

The vim Python version is 2.7.10.

@andy-retailnext When posting errors, please don't truncate them.

The ycmd server SHUT DOWN (restart with ':YcmRestartServer'). YCM core library not ...u need to compile YCM before using it.

The full message looks like this. Read the docs and compile YCM, this is definitely a user error.

I think I may have mixed up a couple of different attempts to reinstall YouCompleteMe. I think I got the error about compiling one time when I installed the plug-in but neglected to run install.py. If I install the plug-in and run install.py, when I start MacVim, i get the errors that I included in my first comment.

Observing same behaviour (MacBook Pro, 10.15.1 Catalina, VIM - Vi IMproved 8.1 (2018 May 18, compiled Oct 28 2019 11:33:50) macOS version Included patches: 1-2224)

Has anyone reported this to the macvim vendor? This is not a YCM issue, it’s almost certainly a python installation issue. One user resolved it by removing stuff from homebrew python’s site packages. Without any information about your python installation and vim build it’s almost impossible to help.

Finally, please do not post any more ‘me too’ replies unless you have further useful diagnostics to add to the discussion.

Per CONTRIBUTING.md unless we can repro in a vanilla system we can’t help and the issue tracker is not for tech support.

Observing same behaviour (MacBook Pro, 10.15.1 Catalina, VIM - Vi IMproved 8.1 (2018 May 18, compiled Oct 28 2019 11:33:50) macOS version Included patches: 1-2224)

@AUsernameWhichIsNotTaken compiled with python3 or 2?

On 30. Oct 2019, at 11:03, Sascha Jecklin notifications@github.com wrote:

Observing same behaviour (MacBook Pro, 10.15.1 Catalina, VIM - Vi IMproved 8.1 (2018 May 18, compiled Oct 28 2019 11:33:50) macOS version Included patches: 1-2224)

@AUsernameWhichIsNotTaken https://github.com/AUsernameWhichIsNotTaken compiled with python3 or 3?

+python/dyn +python3/dyn

VIM - Vi IMproved 8.1 (2018 May 18, compiled Oct 28 2019 11:33:50)
macOS version
Included patches: 1-2224
Compiled by [email protected]
Huge version with MacVim GUI. Features included (+) or not (-):
+acl +file_in_path +mouse_urxvt -tcl
+arabic +find_in_path +mouse_xterm +termguicolors
+autocmd +float +multi_byte +terminal
+autochdir +folding +multi_lang +terminfo
-autoservername -footer -mzscheme +termresponse
+balloon_eval +fork() +netbeans_intg +textobjects
+balloon_eval_term +fullscreen +num64 +textprop
+browse -gettext +odbeditor +timers
++builtin_terms -hangul_input +packages +title
+byte_offset +iconv +path_extra +toolbar
+channel +insert_expand +perl/dyn +transparency
+cindent +job +persistent_undo +user_commands
+clientserver +jumplist +postscript +vartabs
+clipboard +keymap +printer +vertsplit
+cmdline_compl +lambda +profile +virtualedit
+cmdline_hist +langmap +python/dyn +visual
+cmdline_info +libcall +python3/dyn +visualextra
+comments +linebreak +quickfix +viminfo
+conceal +lispindent +reltime +vreplace
+cryptv +listcmds +rightleft +wildignore
+cscope +localmap +ruby/dyn +wildmenu
+cursorbind +lua/dyn +scrollbind +windows
+cursorshape +menu +signs +writebackup
+dialog_con_gui +mksession +smartindent -X11
+diff +modify_fname -sound -xfontset
+digraphs +mouse +spell +xim
+dnd +mouseshape +startuptime -xpm
-ebcdic +mouse_dec +statusline -xsmp
+emacs_tags -mouse_gpm -sun_workshop -xterm_clipboard
+eval -mouse_jsbterm +syntax -xterm_save
+ex_extra +mouse_netterm +tag_binary
+extra_search +mouse_sgr -tag_old_static
-farsi -mouse_sysmouse -tag_any_white

If your using the latest MacVim 160 Snapshot this is a known issue due to them trying to implement the changes required to meet Apple's notarary standards breaking python support.

Reference here: https://github.com/macvim-dev/macvim/issues/979. Related: https://github.com/macvim-dev/macvim/pull/980

MacVim 161 will fix this and will be out in the next day or 2.

@ychin Thanks for informing us. We can close this now.

 

For TabNine users, YCM maintainers have never and will never support TabNine, for more than just technical reasons. Besides, allow me to quote TabNine's README:

The Vim client for TabNine is adapted from YouCompleteMe. This client is an incompatible fork of YouCompleteMe, so please do not contact the YCM maintainers regarding any problems with it. Instead, create an issue in this repository.

@ychin @bstaletic Tested with latest snapshot and confirm YCM is working again

tested, works!

shouldn't we close then this one too?

@MrMonk3y That repository has nothing to do with YCM. To be mild, I'll just say it's a proprietary fork that violates the spirit but not the license. To not prolong the discussion about TabNine, I'm going to lock the thread as I think I made my point of view about it very clear.

Pinning this issue as it has clearly affected a number of users and the resolution is, thanks to @BinaryMisfit, to upgrade MacVim.

Was this page helpful?
0 / 5 - 0 ratings