ycm-core / YouCompleteMe

A code-completion engine for Vim
http://ycm-core.github.io/YouCompleteMe/
GNU General Public License v3.0
25.45k stars 2.81k forks source link

Bundled Rust RLS (1.38.0) not working with current tokio release #3587

Closed ghost closed 4 years ago

ghost commented 4 years ago

Issue Prelude

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

Issue Details

I suspect it has something to do with the bundled rls version.

Workaround:

I replaced /YouCompleteMe/third_party/ycmd/third_party/rls/bin with a symlink to my ~/.cargo/bin and everything is working fine again. My .cargo/bin contains the stable version of RLS (rls 1.41.0 (8f1c275 2019-12-10))

Diagnostic data

Output of vim --version

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Apr 10 2018 21:31:58) Included patches: 1-1453 Modified by pkg-vim-maintainers@lists.alioth.debian.org Compiled by pkg-vim-maintainers@lists.alioth.debian.org Huge version without GUI. Features included (+) or not (-): +acl +farsi +mouse_sgr -tag_any_white +arabic +file_in_path -mouse_sysmouse -tcl +autocmd +find_in_path +mouse_urxvt +termguicolors -autoservername +float +mouse_xterm +terminal -balloon_eval +folding +multi_byte +terminfo +balloon_eval_term -footer +multi_lang +termresponse -browse +fork() -mzscheme +textobjects ++builtin_terms +gettext +netbeans_intg +timers +byte_offset -hangul_input +num64 +title +channel +iconv +packages -toolbar +cindent +insert_expand +path_extra +user_commands -clientserver +job -perl +vertsplit -clipboard +jumplist +persistent_undo +virtualedit +cmdline_compl +keymap +postscript +visual +cmdline_hist +lambda +printer +visualextra +cmdline_info +langmap +profile +viminfo +comments +libcall -python +vreplace +conceal +linebreak +python3 +wildignore +cryptv +lispindent +quickfix +wildmenu +cscope +listcmds +reltime +windows +cursorbind +localmap +rightleft +writebackup +cursorshape -lua -ruby -X11 +dialog_con +menu +scrollbind -xfontset +diff +mksession +signs -xim +digraphs +modify_fname +smartindent -xpm -dnd +mouse +startuptime -xsmp -ebcdic -mouseshape +statusline -xterm_clipboard +emacs_tags +mouse_dec -sun_workshop -xterm_save +eval +mouse_gpm +syntax
+ex_extra -mouse_jsbterm +tag_binary
+extra_search +mouse_netterm +tag_old_static
system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" defaults file: "$VIMRUNTIME/defaults.vim" fall-back for $VIM: "/usr/share/vim" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -Wdate-time -g -O2 -fdebug-prefix-map=/build/vim-NQEcoP/vim-8.0.1453=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim -lm -ltinfo -lnsl -lselinux -lacl -lattr -lgpm -ldl -L/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu -lpython3.6m -lpthread -ldl -lutil -lm

Output of YcmDebugInfo

Printing YouCompleteMe debug information...
-- Client logfile: /tmp/ycm_fml516pq.log
-- Server Python interpreter: /usr/bin/python
-- Server Python version: 2.7.15rc1
-- Server has Clang support compiled in: True
-- Clang version: clang version 9.0.0 (/home/vagrant/llvm/llvm-9.0.0.src/tools/clang 038587147cf2f97d1c3e677042f69560c65b5bea)
-- No extra configuration file found
-- Rust completer debug information:
-- Rust Language Server running
-- Rust Language Server process ID: 32294
-- Rust Language Server executable: /home/dev/.vim/pack/my_settings/start/YouCompleteMe/third_party/ycmd/third_party/rls/bin/rls -- Rust Language Server logfiles:
-- /tmp/rust_language_server_stderrN7awMH.log
-- Rust Language Server Server State: Initialized
-- Rust Language Server Project Directory: /tmp/tmp.VKdxxJRusI/testolone
-- Rust Language Server Settings: {}
-- Rust Language Server Project State: Indexing done, building done
-- Rust Language Server Version: 1.38.0 (496c892 2019-08-12)
-- Server running at: http://127.0.0.1:34975
-- Server process ID: 32254
-- Server logfiles:
-- /tmp/ycmd_34975_stdout_35ypk_3p.log
-- /tmp/ycmd_34975_stderr_ndymwdvm.log

Contents of YCM, ycmd and completion engine logfiles

https://gist.github.com/matteomaser/de826d67069c851d08e3df431a9fe5ff

OS version, distribution, etc.

Ubuntu 18.04

bstaletic commented 4 years ago

Thanks for the report. I tried updating our tests so it works with the latest version of rls, but had troubles with a few tests. On top of that, there's a pull request that rewrites the entire test suit and I'd like to have that merged before submitting any more pull requests.

puremourning commented 4 years ago

What is clippy?

bstaletic commented 4 years ago

Clippy is rust's clang-tidy.

bstaletic commented 4 years ago

@matteomaser You may also want to check https://github.com/ycm-core/ycmd/pull/1395 out.

bstaletic commented 4 years ago

There's now also ycm-core/ycmd#1417

ghost commented 4 years ago

I confirm the issue is fixed in the master version of ycmd. Thanks!