ycm-core / YouCompleteMe

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

YCM Server constant crash, can't get debug information. #1018

Closed avishaan closed 10 years ago

avishaan commented 10 years ago

OSX 10.8.4, using MacVim

When opening any .js file, I get a message that says YCM has shutdown and to use :YcmRestartServer to restart. Upon restart I get the message shortly thereafter.

I followed the instructions exactly for install. I think the confusing part is I don't get any debug info and it doesn't write to the debug file. The below options are in my vimrc

vim ~/.vimrc let g:ycm_server_keep_logfiles = 1 let g:ycm_server_log_level = 'debug' let g:ycm_warning_symbol = '.' let g:ycm_error_symbol = '..' let g:ycm_server_use_vim_stdout = 1

:YcmDebugInfo Printing YouCompleteMe debug information... -- Server crashed, no debug info from server -- Server running at: http://localhost:59838 -- Server process ID: 6372 Press ENTER or type command to continue

:version VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Apr 23 2014 13:36:11) MacOS X (unix) version

Incase you are interested. The code that causes ycm to crash is the following.

var fs = require('fs');
var path = require('path');
var directory = process.argv[2];
var filter = process.argv[3];

fs.readdir(directory, function(err, list){
  list.forEach(function(value, index, array){
    if(path.extname(value).split('.')[1]===filter){
      console.log(value);
    }
  })
})
vheon commented 10 years ago

does it crash in terminal vim as well?

avishaan commented 10 years ago

It crashed in terminal vim as well. Here is some info on it. You can see mvim and vim are the same vim. Let me know if there is a different way you want me to run vim from the term. :YcmDebugInfo Printing YouCompleteMe debug information... -- Server crashed, no debug info from server -- Server running at: http://localhost:49738 -- Server process ID: 6941 :version VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Apr 23 2014 13:36:11) MacOS X (unix) version Included patches: 1-52 Compiled by Homebrew

Valloric commented 10 years ago

What's the output from :mes?

Also, if this only happens when opening a js file, then it's likely that your omnifunc is bad.

avishaan commented 10 years ago

I only write in .js. What is the best way to narrow down the culprit? Is there any other way to get some sort of debug information on why it's crashing? Any recommendations on starting to narrow down the problem?

:mes Messages maintainer: Bram Moolenaar Bram@vim.org "myprogram.js" 14L, 381C The ycmd server SHUT DOWN (restart with :YcmRestartServer). check console output for logs! "myprogram.js" 14L, 381C written

avishaan commented 10 years ago

Just happened during a git commit. I don't know if that qualifies for something other than a .js file and if it rules out omnifunc.

:mes Messages maintainer: Bram Moolenaar Bram@vim.org "~/Documents/CodeHatcher/nodeDev/.git/COMMIT_EDITMSG" 8L, 236C The ycmd server SHUT DOWN (restart with :YcmRestartServer). check console output for logs! Printing YouCompleteMe debug information... -- Server crashed, no debug info from server

:YcmDebugInfo Printing YouCompleteMe debug information... -- Server crashed, no debug info from server -- Server running at: http://localhost:57739

avishaan commented 10 years ago

Same crash when opening a blank .js file. :mes Messages maintainer: Bram Moolenaar Bram@vim.org "frontend.js" 0L, 0C The ycmd server SHUT DOWN (restart with :YcmRestartServer). check console output for logs! Printing YouCompleteMe debug information... -- Server crashed, no debug info from server -- Server running at: http://localhost:50114 -- Server process ID: 17148

vheon commented 10 years ago

I know is a stupid comment, but have you tried to reinstall YCM from scratch? Moreover have you tried YCM as the only plugin in your config?

avishaan commented 10 years ago

I have not but I guess I could try that.

Sent from my iPhone

On Jun 6, 2014, at 4:08 PM, Andrea Cedraro notifications@github.com wrote:

I know is a stupid comment, but have you tried to reinstall YCM from scratch?

— Reply to this email directly or view it on GitHub.

avishaan commented 10 years ago

Wow, I am at my wits end. Upon reinstall I had that whole python homebrew issue that everyone seems to have. Which meant my YCM would crash upon opening. I think I fixed that and now python crashes when macvim opens. This is such a ridiculous situation in order to get one plugin to work. :(:(:( I'll either report back if I finally get it to work or buy sublime. :D

avishaan commented 10 years ago

When I disable YCM. Python doesn't crash.

avishaan commented 10 years ago

Wow, I think i'm done. I reinstalled after updating my python with Homebrew. If someone needs more info let me know but this is the basic idea. Install python with homebrew link python install macvim install YCM rebuild YCM with correct python after finding the location cmake -G "Unix Makefiles" -DPYTHON_LIBRARY=/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib -DPYTHON_INCLUDE_DIR=/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/Headers . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp then add this to vimrc so it gets the same python you used when building

let $PATH = '/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib -DPYTHON_INCLUDE_DIR=/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7'.$PATH

of course your paths will vary but hopefully this will help someone else who was in my very specific situation.

oblitum commented 10 years ago

@codeHatcher not long ago I have commented regarding this subject here, read it with attention, it may help you.

oblitum commented 10 years ago

@codeHatcher ah ok, I thought "I think I'm done" meant you were giving up.

vinceyuan commented 9 years ago

YCM server crashes constantly on my mac (yosemite and el capitan). I tried many times for months but failed to solve it. (I have to set F2 hot key to restart YCM server) Can anybody give me some hint? I did not install MacVim. Installed Vim command line only.

And where is the YCM server log file? I googled but can't find the location.

:version                                                                                                                                           
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jul 10 2015 09:00:20)
MacOS X (unix) version
Included patches: 1-712
Compiled by Homebrew
Huge version without GUI.  Features included (+) or not (-):
+acl             +comments        +ex_extra        +jumplist        -mouseshape      +path_extra      +signs           +textobjects     +writebackup
+arabic          +conceal         +extra_search    +keymap          +mouse_dec       +perl            +smartindent     +title           -X11
+autocmd         +cryptv          +farsi           +langmap         -mouse_gpm       +persistent_undo -sniff           -toolbar         -xfontset
-balloon_eval    +cscope          +file_in_path    +libcall         -mouse_jsbterm   +postscript      +startuptime     +user_commands   -xim
-browse          +cursorbind      +find_in_path    +linebreak       +mouse_netterm   +printer         +statusline      +vertsplit       -xsmp
++builtin_terms  +cursorshape     +float           +lispindent      +mouse_sgr       +profile         -sun_workshop    +virtualedit     -xterm_clipboard
+byte_offset     +dialog_con      +folding         +listcmds        -mouse_sysmouse  +python          +syntax          +visual          -xterm_save
+cindent         +diff            -footer          +localmap        +mouse_urxvt     -python3         +tag_binary      +visualextra     -xpm
-clientserver    +digraphs        +fork()          +lua             +mouse_xterm     +quickfix        +tag_old_static  +viminfo
+clipboard       -dnd             -gettext         +menu            +multi_byte      +reltime         -tag_any_white   +vreplace
+cmdline_compl   -ebcdic          -hangul_input    +mksession       +multi_lang      +rightleft       -tcl             +wildignore
+cmdline_hist    +emacs_tags      +iconv           +modify_fname    -mzscheme        +ruby            +terminfo        +wildmenu
+cmdline_info    +eval            +insert_expand   +mouse           +netbeans_intg   +scrollbind      +termresponse    +windows
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/local/share/vim"
Compilation: /usr/bin/clang -c -I. -Iproto -DHAVE_CONFIG_H   -F/usr/local/Frameworks -DMACOS_X_UNIX  -Os -w -pipe -march=native -mmacosx-version-min=10.10 -U_
FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: /usr/bin/clang   -L. -L/Users/vince/.rvm/usr/lib -L/usr/local/lib -F/usr/local/Frameworks -Wl,-headerpad_max_install_names -o vim        -lm  -lncurs
es -liconv -framework Cocoa  -L/usr/local/lib -llua -fstack-protector  -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -lperl -F/usr/local/Cellar/
python/2.7.10_1/Frameworks -framework Python   -lruby.1.9.1 -lobjc -L/Users/vince/.rvm/rubies/ruby-1.9.3-p286/lib

My vim config:

let g:ycm_confirm_extra_conf = 0
let g:ycm_server_use_vim_stdout = 1
let g:ycm_server_keep_logfiles = 1
let g:ycm_server_log_level = 'debug'
let g:ycm_path_to_python_interpreter = '/usr/local/bin/python'

YcmDebugInfo:

Printing YouCompleteMe debug information...
-- Server has Clang support compiled in: True
-- Clang version: clang version 3.6.1 (tags/RELEASE_361/final)
-- Server running at: http://127.0.0.1:59690
-- Server process ID: 16139
puremourning commented 9 years ago

Please change to

let g:ycm_server_use_vim_stdout = 0
let g:ycm_server_keep_logfiles = 1

Restart and run :YcmDebugInfo. This should show you the paths to the log files. Then please post the stderr file.

puremourning commented 9 years ago

Also, how did you install Vim and python? There are many other issues on the board that are caused by incompatible versions of python built into Vim. Using the system python is recommended, as that is what runs on Travis.

vinceyuan commented 9 years ago

My YCM server runs well now. I am not sure which step is the key, so I just wrote down all what I did.

  1. I pulled the latest YCM and installed it.
  2. Add let g:ycm_path_to_python_interpreter = '/usr/local/bin/python' into .vimrc. I am not sure this step is necessary because it is already the default python.
  3. Set let g:ycm_server_use_vim_stdout = 0 in .vimrc. Thanks to @puremourning !
  4. Reboot
puremourning commented 9 years ago

I suspect it was step 2.

On 7 Oct 2015, at 18:48, Vince Yuan notifications@github.com wrote:

My YCM server runs well now. I am not sure which step is the key, so I just wrote down all what I did.

I pulled the latest YCM and installed it. Add let g:ycm_path_to_python_interpreter = '/usr/local/bin/python' into .vimrc. I am not sure this step is necessary because it is already the default python. Set let g:ycm_server_use_vim_stdout = 0 in .vimrc. Thanks to @puremourning ! Reboot — Reply to this email directly or view it on GitHub.

jdonaldson commented 8 years ago

Checking back in... installing homebrew python causes the ycm server to crash with no further info. I got lucky and found this thread. Removing homebrew python fixed it.

It's probably worth a note in the faq, or maybe even something that is autodetected.

crides commented 8 years ago

Yeah, step 2 ( let g:ycm_path_to_python_interpreter = '/usr/bin/python' ) should be noted. I was using YouCompleteMe and after an update, the server won't work and won't output log even if let g:ycm_server_keep_logfiles = 1. These all get fine when I set the step 2.