Package Details: vim-youcompleteme-git r2416.f67e5ff2-2

Git Clone URL: (read-only)
Package Base: vim-youcompleteme-git
Description: A code-completion engine for Vim
Upstream URL:
Keywords: completion engine neovim
Licenses: GPL3
Groups: vim-plugins
Submitter: thestinger
Maintainer: Rubonnek
Last Packager: Rubonnek
Votes: 137
Popularity: 2.857690
First Submitted: 2013-02-05 21:32
Last Updated: 2018-10-27 18:45

Sources (16)

Latest Comments

1 2 3 4 5 6 ... Next › Last »

Rubonnek commented on 2018-10-30 17:00


raucao commented on 2018-10-30 15:10

Thanks for fixing. After deleting the pyc files and rebuilding, it's working for me as well now.

artafinde commented on 2018-10-30 07:39

@Rubonnek Awesome - works as you suggested. Removed package, delete pyc files under ycmd and recompiled with python3. Changed interpreter to python3 and works fine. Cheers!

Rubonnek commented on 2018-10-30 00:20

@artafinde you have to delete the cached files. python2 bytecode is incompatible with python3. No wonder you had to turn on the python2 interpreter.

Your issue is no different then.

artafinde commented on 2018-10-29 23:21

@lahwaacz: rogue files:

lahwaacz commented on 2018-10-29 23:05

@artafinde Could you show us the output of this command? (adapted from the wiki)

comm -23 <(find /usr/share/vim/vimfiles | sort) <(pacman -Qlq | sed 's|/$||' | sort)

Also, you did not say if you deleted any of the python bytecode files or even whether pacman complained about it.

artafinde commented on 2018-10-29 22:54

@Rubonnek: Might as well be different indeed. The log files empty and the timestamp pyc files are not there. I've tried running without .vimrc and same crash with empty log. strace without .vimrc file:

Found a workaround for now. Compiled with _use_system_clang="OFF" and _use_python2="ON". Changed the g:ycm_server_python_interpreter to python2 and now it's working.

Edit: no deletions.

Rubonnek commented on 2018-10-29 21:41

@artafinde that chmod command you are running only changes the permissions to the directory, not the files under it which means that other users will not be able to overwrite the files. Add -R before 777 to chmod and let me know if that helps.

To expose what @lahwaacz said more explicitly, adding the python bytecode files (i.e. the cached files) to the package means that pacman will auto-update those python cached files or removed them when they are unneeded. Which also implies that changing the permissions on those files should be unnecessary.

I think your issue could different that what we've seen so far. Are you YCM logs empty too? Did you delete any of the python bytecode files when pacman complained (if it did)? Any chance you could share them if they are not empty? Have you also tried running vim or gvim without a resource file such as ~/.vimrc or ~/.gvimrc?

Please provide as much information as possible including other things you might have tried. Like I previously said, I'm having a hard time reproducing the crashes you guys are experiencing.

artafinde commented on 2018-10-29 19:36

@Rubonnek didn't help on my case. The changes introduced from python 3.7 with PEP-552 is on the way python calculates the byte code to check (see PycInvalidationMode and --invalidation-mode for compileall mode) if it needs to update the cache or not. I think that might be irrelevant though to the issue because even if I give permissions to all users after installing the package (using something like sudo find /usr/share/vim/vimfiles/third_party/ycmd/ -type d -name "__pycache__" -exec chmod 777 {} \;) to write on __pycache__ directories the crash still happens. I have confirmed with strace that the "Permission denied" error is not appearing after the chmod change but the crash still happens.

For the first part of the cache update I'd look on how the repo python packages deal with cache this and try to implement something similar (if needed).

For the crash to me it's still pending, so I can provide the two strace logs.

One without changes, just build vim-youcompleteme-git and start vim.

Second is after I've given permission to all users to write on __pycache__ directories under /usr/share/vim/vimfiles/third_party/ycmd

Rubonnek commented on 2018-10-27 18:49

@lahwaacz you are absolutely right. I honestly forgot that youcompleteme would run as root and generate the python bytecode files where they show up. I thought however that shouldn't cause any issues with python, but I guess I was wrong.

My eyes completely skipped over the "C++ source code" part. I thought you were talking about compiled libraries. We definitely don't need that. Thanks for that too!

@everyone You'll probably get file conflicts when attempting to install this package now if you ran vim as root previously, but only remove the files that pacman complains about and YouCompleteMe should just work.