govim: cmd/govim: super slow pauses
What version of Vim/Gvim are you using?
Vim/Gvim version
$ vim --version VIM - Vi IMproved 8.1 (2018 May 18, compiled Aug 23 2019 11:56:08) Included patches: 1-1912 Modified by jonathon.fernyhough@york.ac.uk Compiled by jonathon.fernyhough@york.ac.uk Huge version with GTK2 GUI. Features included (+) or not (-): +acl -farsi -mouse_sysmouse -tag_any_white +arabic +file_in_path +mouse_urxvt +tcl +autocmd +find_in_path +mouse_xterm +termguicolors +autochdir +float +multi_byte +terminal -autoservername +folding +multi_lang +terminfo +balloon_eval -footer -mzscheme +termresponse +balloon_eval_term +fork() +netbeans_intg +textobjects +browse +gettext +num64 +textprop ++builtin_terms -hangul_input +packages +timers +byte_offset +iconv +path_extra +title +channel +insert_expand +perl +toolbar +cindent +job +persistent_undo +user_commands +clientserver +jumplist +postscript +vartabs +clipboard +keymap +printer +vertsplit +cmdline_compl +lambda +profile +virtualedit +cmdline_hist +langmap -python +visual +cmdline_info +libcall +python3 +visualextra +comments +linebreak +quickfix +viminfo +conceal +lispindent +reltime +vreplace +cryptv +listcmds +rightleft +wildignore +cscope +localmap +ruby +wildmenu +cursorbind +lua +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_interact +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 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: "/usr/share/vim" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -Wdate-time -g -O2 -fdebug-prefix-map=/build/vim-uFQAgl/vim-8.1.1912=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 Linking: gcc -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lnsl -lselinux -lacl -lattr -lgpm -ldl -L/usr/lib -llua5.2 -Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.26/CORE -lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu -lpython3.6m -lpthread -ldl -lutil -lm -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lm -lruby-2.5 -lpthread -lgmp -ldl -lcrypt -lm
What version of Go are you using (go version
)?
$ go version go version go1.12.9 linux/amd64
What operating system and processor architecture are you using (go env
)?
go env
Output
$ go env GOARCH="amd64" GOBIN="" GOCACHE="/home/frew/.cache/go-build" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/home/frew/go" GOPROXY="https://proxy.golang.org" GORACE="" GOROOT="/home/frew/sdk/go1.12.9" GOTMPDIR="" GOTOOLDIR="/home/frew/sdk/go1.12.9/pkg/tool/linux_amd64" GCCGO="gccgo" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="/dev/null" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/run/shm/go-build964204824=/tmp/go-build -gno-record-gcc-switches"
What version/commit of govim
are you using?
9ad6148ddeb041213b4535220468ebe0f912e812
What is the output of :messages
in Vim?
I don’t think this is relevant (looks like it’s from earlier today) but might as well include it:
[neocomplete] function <SNR>207_complete_delay[5]..<SNR>207_do_auto_complete[43]..neocomplete#complete#_get_results[23]..neocomplete#cmplete#_set_results_words[27]..60[1]..<SNR>204_set_complete_results_words, line 11
[neocomplete] Vim(let):E121: Undefined variable: words
[neocomplete] Error occurred calling omnifunction: GOVIM_internal_Complete
[neocomplete] function <SNR>207_complete_delay[5]..<SNR>207_do_auto_complete[43]..neocomplete#complete#_get_results[23]..neocomplete#cmplete#_set_results_words[27]..60[1]..<SNR>204_set_complete_results_words, line 11
[neocomplete] Vim(let):E121: Undefined variable: words
[neocomplete] Error occurred calling omnifunction: GOVIM_internal_Complete
[neocomplete] function <SNR>207_complete_delay[5]..<SNR>207_do_auto_complete[43]..neocomplete#complete#_get_results[23]..neocomplete#cmplete#_set_results_words[27]..60[1]..<SNR>204_set_complete_results_words, line 11
[neocomplete] Vim(let):E121: Undefined variable: words
[neocomplete] Error occurred calling omnifunction: GOVIM_internal_Complete
[neocomplete] function <SNR>207_complete_delay[5]..<SNR>207_do_auto_complete[43]..neocomplete#complete#_get_results[23]..neocomplete#cmplete#_set_results_words[27]..60[1]..<SNR>204_set_complete_results_words, line 11
[neocomplete] Vim(let):E121: Undefined variable: words
[neocomplete] Error occurred calling omnifunction: GOVIM_internal_Complete
[neocomplete] function <SNR>207_complete_delay[5]..<SNR>207_do_auto_complete[43]..neocomplete#complete#_get_results[23]..neocomplete#cmplete#_set_results_words[27]..60[1]..<SNR>204_set_complete_results_words, line 11
[neocomplete] Vim(let):E121: Undefined variable: words
"infrastructure/stevedore/deploy.go" 141L, 3186C written
search hit BOTTOM, continuing at TOP
search hit BOTTOM, continuing at TOP
[neocomplete] Error occurred calling omnifunction: GOVIM_internal_Complete
[neocomplete] function <SNR>207_complete_delay[5]..<SNR>207_do_auto_complete[43]..neocomplete#complete#_get_results[23]..neocomplete#complete#_set_results_words[27]..60[1]..<SNR>204_set_complete_results_words, line 11
[neocomplete] Vim(let):E121: Undefined variable: words
Do the Vim channel, govim
or gopls
log files show anything interesting?
This is from the vim channel logs:
0.059124 : Starting job: /home/frew/code/dotfiles/vim/pack/vanilla/start/govim/cmd/govim/.bin/9ad6148ddeb041213b4535220468ebe0f912e812/govim /home/frew/code/dotfiles/vim/pack/vanilla/start/govim/cmd/govim/.bin/9ad6148ddeb041213b4535220468ebe0f912e812/gopls
0.059185 on 0: Created channel
0.170897 RECV on 0(out): '[0,[1,"loaded"]]
'
0.265343 : Starting job: sh -c cd /dev/shm && git ls-files --error-unmatch --full-name -z -- govim_log_20190828_2117_11_721192487
0.265365 on 1: Created channel
0.269426 : Starting job: sh -c git status --porcelain -- '/dev/shm/govim_log_20190828_2117_11_721192487'
0.269445 on 2: Created channel
0.272775 RECV on 1(err): 'fatal: not a git repository (or any parent up to mount point /dev)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
'
0.273052 on 1: channel_select_check(): Read EOF from ch_part[1], closing
0.273064 on 1: channel_select_check(): Read EOF from ch_part[2], closing
0.276694 RECV on 2(out): 'fatal: /dev/shm/govim_log_20190828_2117_11_721192487: '/dev/shm/govim_log_20190828_2117_11_721192487' is outside repository
'
0.276935 on 2: channel_select_check(): Read EOF from ch_part[1], closing
0.280650 on 2: Job exited with 128
0.280683 : Starting job: sh -c git status --porcelain -- '/dev/shm/govim_log_20190828_2117_11_721192487'
0.280693 on 3: Created channel
0.282008 : looking for messages on channels
0.282018 on 2: Closing channel because all readable fds are closed
0.282021 on 2: Closing channel
0.282023 on 2: Invoking callbacks and flushing buffers before closing
0.282026 on 2: Invoking channel callback <SNR>119_on_stdout
0.282038 on 2: Invoking close callback <SNR>119_on_exit_untracked
0.282087 on 1: Closing channel because all readable fds are closed
0.282090 on 1: Closing channel
0.282093 on 1: Invoking callbacks and flushing buffers before closing
0.282096 on 1: Invoking channel callback <SNR>117_on_stderr_vim
0.282152 on 1: Invoking channel callback <SNR>117_on_stderr_vim
0.282181 on 1: Invoking close callback <SNR>117_on_exit_vim
0.282197 on 1: Job exited with 128
0.282224 on 0: Getting JSON message 0
0.282226 on 0: Invoking channel callback <SNR>61_define
0.282307 SEND on 0(in): '[1,["callback",1,[""]]]
'
0.295975 RECV on 3(out): 'fatal: /dev/shm/govim_log_20190828_2117_11_721192487: '/dev/shm/govim_log_20190828_2117_11_721192487' is outside repository
'
0.295981 RECV on 0(out): '[0,[2,"ex","let s:govim_logfile=\"/run/shm/govim_log_20190828_2118_22_496851746\""]]
'
0.306608 on 3: channel_select_check(): Read EOF from ch_part[1], closing
0.325053 : looking for messages on channels
0.325061 on 3: Closing channel because all readable fds are closed
0.325063 on 3: Closing channel
0.325073 on 3: Invoking callbacks and flushing buffers before closing
0.325076 on 3: Invoking channel callback <SNR>119_on_stdout
0.325084 on 3: Invoking close callback <SNR>119_on_exit_untracked
0.325125 on 0: Getting JSON message 0
0.325128 on 0: Invoking channel callback <SNR>61_define
0.325245 SEND on 0(in): '[2,["callback",2,[""]]]
'
0.325272 on 3: Job ended
0.325276 on 3: Freeing job
0.325279 : looking for messages on channels
0.325281 on 3: Closing channel
0.325283 on 3: Clearing channel
0.325286 on 3: Freeing channel
0.325987 RECV on 0(out): '[0,[3,"expr","{\"Version\": execute(\"version\"), \"VersionLong\": exists(\"v:versionlong\")?v:versionlong:-1, \"GuiRunning\": has(\"gui_running\")}"]]
'
0.325991 : looking for messages on channels
0.326000 on 0: Getting JSON message 0
0.326001 on 0: Invoking channel callback <SNR>61_define
0.326267 SEND on 0(in): '[3,["callback",3,["",{"Version":"\n\nVIM - Vi IMproved 8.1 (2018 May 18, compiled Aug 23 2019 11:56:08)\nIncluded patches: 1-1912\nModified by jonathon.fernyhough@york.ac.uk\nCompiled by jonathon.fernyhough@york.ac.uk\nHuge version with GTK2 GUI. Features included (+) or not (-):\n+acl +cmdline_compl +emacs_tags +insert_expand +modify_fname +netbeans_intg +ruby +termguicolors +visualextra\n+arabic +cmdline_hist +eval +job +mouse +num64 +scrollbind +terminal +viminfo\n+autocmd +cmdline_info +ex_extra +jumplist +mouseshape +packages +signs +terminfo +vreplace\n+autochdir +comments +extra_search +keymap +mouse_dec +path_extra +smartindent +termresponse +wildignore\n-autoservername +conceal -farsi +lambda +mouse_gpm +perl -sound +textobjects +wildmenu\n+balloon_eval +cryptv +file_in_path +langmap -mouse_jsbterm +persistent_undo +spell +textprop +windows\n+balloon_eval_term +cscope +find_in_path +libcall +mouse_netterm +postscript +startuptime +timers +writebackup\n+browse +cursorbind +float +linebreak +mouse_sgr +printer +statusline +title +X11\n++builtin_terms +cursorshape +folding +lispindent -mouse_sysmouse +profile -sun_workshop +toolbar -xfontset\n+byte_offset +dialog_con_gui -footer +listcmds +mouse_urxvt -python +syntax +user_commands +xim\n+channel +diff +fork() +localmap +mouse_xterm +python3 +tag_binary +vartabs +xpm\n+cindent +digraphs +gettext +lua +multi_byte +quickfix -tag_old_static +vertsplit +xsmp_interact\n+clientserver +dnd -hangul_input +menu +multi_lang +reltime -tag_any_white +virtualedit +xterm_clipboard\n+clipboard -ebcdic +iconv +mksession -mzscheme +rightleft +tcl +visual -xterm_save\n system vimrc file: \"$VIM/vimrc\"\n user vimrc file: \"$HOME/.vimrc\"\n 2nd user vimrc file: \"~/.vim/vimrc\"\n user exrc file: \"$HOME/.exrc\"\n system gvimrc file: \"$VIM/gvimrc\"\n user gvimrc file: \"$HOME/.gvimrc\"\n2nd user gvimrc file: \"~/.vim/gvimrc\"\n defaults file: \"$VIMRUNTIME/defaults.vim\"\n system menu file: \"$VIMRUNTIME/menu.vim\"\n fall-back for $VIM: \"/usr/share/vim\"\nCompilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -Wdate-time -g -O2 -fdebug-prefix-map=/build/vim-uFQAgl/vim-8.1.1912=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 \nLinking: gcc -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lnsl -lselinux -lacl -lattr -lgpm -ldl -L/usr/lib -llua5.2 -Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.26/CORE -lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu -lpython3.6m -lpthread -ldl -lutil -lm -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lm -lruby-2.5 -lpthread -lgmp -ldl -lcrypt -lm ","GuiRunning":0,"VersionLong":8011912}]]]
'
0.326649 RECV on 0(out): '[0,[4,"ex","augroup govim"]]
'
0.326651 : looking for messages on channels
0.326657 on 0: Getting JSON message 0
0.326658 on 0: Invoking channel callback <SNR>61_define
0.326741 SEND on 0(in): '[4,["callback",4,[""]]]
'
0.326821 RECV on 0(out): '[0,[5,"ex","augroup END"]]
'
0.326825 : looking for messages on channels
0.326832 on 0: Getting JSON message 0
0.326834 on 0: Invoking channel callback <SNR>61_define
0.326931 SEND on 0(in): '[5,["callback",5,[""]]]
'
0.327099 RECV on 0(out): '[0,[6,"function","GOVIM_internal_BalloonExpr",[]]]
'
0.327102 : looking for messages on channels
0.327108 on 0: Getting JSON message 0
0.327110 on 0: Invoking channel callback <SNR>61_define
0.327260 SEND on 0(in): '[6,["callback",6,[""]]]
'
0.327383 RECV on 0(out): '[0,[7,"autocmd","autocommand:0"," govim BufNewFile,BufRead *.go",["{\"Num\": eval(expand('\u003cabuf\u003e')), \"Name\": fnamemodify(bufname(eval(expand('\u003cabuf\u003e'))),':p'), \"Contents\": join(getbufline(eval(expand('\u003cabuf\u003e')), 0, \"$\"), \"\\n\").\"\\n\"}"]]]
'
0.327386 : looking for messages on channels
0.327395 on 0: Getting JSON message 0
0.327397 on 0: Invoking channel callback <SNR>61_define
0.327518 SEND on 0(in): '[7,["callback",7,[""]]]
'
0.327626 RECV on 0(out): '[0,[8,"autocmd","autocommand:1"," govim BufWritePre *.go",["eval(expand('\u003cabuf\u003e'))"]]]
'
0.327631 : looking for messages on channels
0.327641 on 0: Getting JSON message 0
0.327644 on 0: Invoking channel callback <SNR>61_define
0.327802 SEND on 0(in): '[8,["callback",8,[""]]]
'
0.327946 RECV on 0(out): '[0,[9,"function","GOVIM_internal_Complete",["findarg","base"]]]
'
0.327949 : looking for messages on channels
0.327956 on 0: Getting JSON message 0
0.327958 on 0: Invoking channel callback <SNR>61_define
0.328139 SEND on 0(in): '[9,["callback",9,[""]]]
'
0.328231 RECV on 0(out): '[0,[10,"command","GOVIMGoToDef",{"nargs":"-nargs=?"}]]
'
0.328234 : looking for messages on channels
0.328241 on 0: Getting JSON message 0
0.328243 on 0: Invoking channel callback <SNR>61_define
0.328402 SEND on 0(in): '[10,["callback",10,[""]]]
'
0.328486 RECV on 0(out): '[0,[11,"command","GOVIMGoToPrevDef",{"count":"-count=1","nargs":"-nargs=?"}]]
'
0.328489 : looking for messages on channels
0.328500 on 0: Getting JSON message 0
0.328502 on 0: Invoking channel callback <SNR>61_define
0.328741 SEND on 0(in): '[11,["callback",11,[""]]]
'
0.328834 RECV on 0(out): '[0,[12,"function","GOVIMHover",[]]]
'
0.328837 : looking for messages on channels
0.328845 on 0: Getting JSON message 0
0.328848 on 0: Invoking channel callback <SNR>61_define
0.329045 SEND on 0(in): '[12,["callback",12,[""]]]
'
0.329106 RECV on 0(out): '[0,[13,"autocmd","autocommand:2"," govim BufDelete *.go",["eval(expand('\u003cabuf\u003e'))"]]]
'
0.329109 : looking for messages on channels
0.329117 on 0: Getting JSON message 0
0.329119 on 0: Invoking channel callback <SNR>61_define
0.329239 SEND on 0(in): '[13,["callback",13,[""]]]
'
0.329353 RECV on 0(out): '[0,[14,"command","GOVIMGoFmt",{}]]
'
0.329355 : looking for messages on channels
0.329362 on 0: Getting JSON message 0
0.329364 on 0: Invoking channel callback <SNR>61_define
0.329499 SEND on 0(in): '[14,["callback",14,[""]]]
'
0.329601 RECV on 0(out): '[0,[15,"command","GOVIMGoImports",{}]]
'
0.329603 : looking for messages on channels
0.329608 on 0: Getting JSON message 0
0.329610 on 0: Invoking channel callback <SNR>61_define
0.329745 SEND on 0(in): '[15,["callback",15,[""]]]
'
0.329858 RECV on 0(out): '[0,[16,"command","GOVIMQuickfixDiagnostics",{}]]
'
0.329860 : looking for messages on channels
0.329865 on 0: Getting JSON message 0
0.329867 on 0: Invoking channel callback <SNR>61_define
0.329995 SEND on 0(in): '[16,["callback",16,[""]]]
'
0.330106 RECV on 0(out): '[0,[17,"function","GOVIM_internal_BufChanged",["bufnr","start","end","added","changes"]]]
'
0.330110 : looking for messages on channels
0.330123 on 0: Getting JSON message 0
0.330125 on 0: Invoking channel callback <SNR>61_define
0.330304 SEND on 0(in): '[17,["callback",17,[""]]]
'
0.330431 RECV on 0(out): '[0,[18,"function","GOVIM_internal_SetConfig",["config"]]]
'
0.330433 : looking for messages on channels
0.330439 on 0: Getting JSON message 0
0.330441 on 0: Invoking channel callback <SNR>61_define
0.330558 SEND on 0(in): '[18,["callback",18,[""]]]
'
0.330680 RECV on 0(out): '[0,[19,"ex","call govim#config#Set(\"_internal_Func\", function(\"GOVIM_internal_SetConfig\"))"]]
'
0.330682 : looking for messages on channels
0.330688 on 0: Getting JSON message 0
0.330690 on 0: Invoking channel callback <SNR>61_define
0.331205 SEND on 0(in): '[19,["function","function:GOVIM_internal_SetConfig",[{"FormatOnSave":"goimports"}]]]
'
0.331212 on 0: Blocking read JSON for id 19
0.331215 : looking for messages on channels
0.331216 on 0: Waiting for up to 30000 msec
0.331382 RECV on 0(out): '[19,["",null]]
'
0.331388 on 0: Getting JSON message 19
0.331390 on 0: Received JSON for id 19
0.331434 SEND on 0(in): '[20,["callback",19,[""]]]
'
0.331516 RECV on 0(out): '[0,[20,"function","GOVIM_internal_SetUserBusy",["isBusy"]]]
'
0.331518 : looking for messages on channels
0.331524 on 0: Getting JSON message 0
0.331526 on 0: Invoking channel callback <SNR>61_define
0.331647 SEND on 0(in): '[21,["callback",20,[""]]]
'
0.331729 RECV on 0(out): '[0,[21,"command","GOVIMReferences",{}]]
'
0.331732 : looking for messages on channels
0.331737 on 0: Getting JSON message 0
0.331739 on 0: Invoking channel callback <SNR>61_define
0.331870 SEND on 0(in): '[22,["callback",21,[""]]]
'
0.331934 RECV on 0(out): '[0,[22,"command","GOVIMRename",{"nargs":"-nargs=?"}]]
'
0.331937 : looking for messages on channels
0.331943 on 0: Getting JSON message 0
0.331944 on 0: Invoking channel callback <SNR>61_define
0.332080 SEND on 0(in): '[23,["callback",22,[""]]]
'
0.332179 RECV on 0(out): '[0,[23,"command","GOVIMStringFn",{"complete":"-complete=customlist,GOVIM_internal_StringFnComplete","nargs":"-nargs=+","range":"-range"}]]
'
0.332181 : looking for messages on channels
0.332189 on 0: Getting JSON message 0
0.332191 on 0: Invoking channel callback <SNR>61_define
0.332343 SEND on 0(in): '[24,["callback",23,[""]]]
'
0.332425 RECV on 0(out): '[0,[24,"function","GOVIM_internal_StringFnComplete",["ArgLead","CmdLine","CursorPos"]]]
'
0.332427 : looking for messages on channels
0.332434 on 0: Getting JSON message 0
0.332435 on 0: Invoking channel callback <SNR>61_define
0.332567 SEND on 0(in): '[25,["callback",24,[""]]]
'
0.332700 RECV on 0(out): '[0,[25,"call","sign_define","govimerr",{"text":"\u003e\u003e","texthl":"Error"}]]
'
0.332702 : looking for messages on channels
0.332710 on 0: Getting JSON message 0
0.332712 on 0: Invoking channel callback <SNR>61_define
0.332800 SEND on 0(in): '[26,["callback",25,["",0]]]
'
0.332876 RECV on 0(out): '[0,[26,"function","GOVIMMotion",["direction","target"]]]
'
0.332879 : looking for messages on channels
0.332885 on 0: Getting JSON message 0
0.332886 on 0: Invoking channel callback <SNR>61_define
0.333009 SEND on 0(in): '[27,["callback",26,[""]]]
'
0.333083 RECV on 0(out): '[0,[27,"expr","has(\"gui_running\")"]]
'
0.333085 : looking for messages on channels
0.333090 on 0: Getting JSON message 0
0.333092 on 0: Invoking channel callback <SNR>61_define
0.333172 SEND on 0(in): '[28,["callback",27,["",0]]]
'
0.333357 RECV on 0(out): '[0,[28,"ex","let s:gopls_logfile=\"/run/shm/gopls_log_20190828_2118_23_278266905\""]]
'
0.333360 : looking for messages on channels
0.333367 on 0: Getting JSON message 0
0.333369 on 0: Invoking channel callback <SNR>61_define
0.333452 SEND on 0(in): '[29,["callback",28,[""]]]
'
0.333849 RECV on 0(out): '[0,[29,"call","getcwd",-1]]
'
0.333851 : looking for messages on channels
0.333860 on 0: Getting JSON message 0
0.333865 on 0: Invoking channel callback <SNR>61_define
0.333977 SEND on 0(in): '[30,["callback",29,["","/home/frew/code/zr0"]]]
'
0.434121 : looking for messages on channels
0.483780 RECV on 0(out): '[0,[30,"initcomplete"]]
'
0.483809 on 0: Getting JSON message 0
0.483816 on 0: Invoking channel callback <SNR>61_define
0.504733 SEND on 0(in): '[31,["callback",30,[""]]]
'
0.607909 : looking for messages on channels
21.689348 : ERROR silent: E117: Unknown function: context_filetype#version
21.731938 : Starting job: sh -c cd /dev/shm && git ls-files --error-unmatch --full-name -z -- govim_log_20190828_2117_11_721192487
21.731979 on 4: Created channel
21.750302 RECV on 4(err): 'fatal: not a git repository (or any parent up to mount point /dev)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
'
21.750840 on 4: channel_select_check(): Read EOF from ch_part[1], closing
21.750877 on 4: channel_select_check(): Read EOF from ch_part[2], closing
21.766536 : looking for messages on channels
21.766557 on 4: Closing channel because all readable fds are closed
21.766564 on 4: Closing channel
21.766580 on 4: Invoking callbacks and flushing buffers before closing
21.766588 on 4: Invoking channel callback <SNR>117_on_stderr_vim
21.766709 on 4: Invoking channel callback <SNR>117_on_stderr_vim
21.766787 on 4: Invoking close callback <SNR>117_on_exit_vim
21.766831 on 4: Job exited with 128
21.867526 : looking for messages on channels
28.724514 : Starting job: sh -c cd /dev/shm && git ls-files --error-unmatch --full-name -z -- govim_log_20190828_2117_11_721192487
28.724576 on 5: Created channel
28.734614 : looking for messages on channels
28.747307 RECV on 5(err): 'fatal: not a git repository (or any parent up to mount point /dev)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
'
28.747334 on 5: Invoking channel callback <SNR>117_on_stderr_vim
28.747600 on 5: Invoking channel callback <SNR>117_on_stderr_vim
28.748150 on 5: channel_select_check(): Read EOF from ch_part[1], closing
28.748192 on 5: channel_select_check(): Read EOF from ch_part[2], closing
28.748210 : looking for messages on channels
28.748216 on 5: Closing channel because all readable fds are closed
28.748221 on 5: Closing channel
28.748231 on 5: Invoking callbacks and flushing buffers before closing
28.748236 on 5: Invoking close callback <SNR>117_on_exit_vim
28.748310 on 5: Job exited with 128
28.848747 : looking for messages on channels
32.735911 on 5: Freeing job
32.735949 on 4: Freeing job
32.735958 on 2: Freeing job
32.735966 on 1: Freeing job
32.735974 on 5: Closing channel
32.735980 on 5: Clearing channel
32.735988 on 5: Freeing channel
32.735992 on 4: Closing channel
32.735997 on 4: Clearing channel
32.736003 on 4: Freeing channel
32.736007 on 2: Closing channel
32.736012 on 2: Clearing channel
32.736017 on 2: Freeing channel
32.736022 on 1: Closing channel
32.736026 on 1: Clearing channel
32.736032 on 1: Freeing channel
32.736078 : looking for messages on channels
38.968103 : Starting job: sh -c cd /dev/shm && git ls-files --error-unmatch --full-name -z -- govim_log_20190828_2117_11_721192487
38.968130 on 6: Created channel
38.970953 : looking for messages on channels
38.981230 RECV on 6(err): 'fatal: not a git repository (or any parent up to mount point /dev)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
'
38.981246 on 6: Invoking channel callback <SNR>117_on_stderr_vim
38.981379 on 6: Invoking channel callback <SNR>117_on_stderr_vim
38.981658 on 6: channel_select_check(): Read EOF from ch_part[1], closing
38.981679 on 6: channel_select_check(): Read EOF from ch_part[2], closing
38.981688 : looking for messages on channels
38.981690 on 6: Closing channel because all readable fds are closed
38.981693 on 6: Closing channel
38.981698 on 6: Invoking callbacks and flushing buffers before closing
38.981700 on 6: Invoking close callback <SNR>117_on_exit_vim
38.981737 on 6: Job exited with 128
39.081977 : looking for messages on channels
42.973307 on 6: Freeing job
42.973355 on 6: Closing channel
42.973364 on 6: Clearing channel
42.973373 on 6: Freeing channel
42.973423 : looking for messages on channels
45.621945 : Starting job: sh -c cd /dev/shm && git ls-files --error-unmatch --full-name -z -- govim_log_20190828_2117_11_721192487
45.621969 on 7: Created channel
45.637255 on 7: channel_select_check(): Read EOF from ch_part[1], closing
45.637275 RECV on 7(err): 'fatal: not a git repository (or any parent up to mount point /dev)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
'
45.638985 on 7: channel_select_check(): Read EOF from ch_part[2], closing
45.639011 : looking for messages on channels
45.639016 on 7: Closing channel because all readable fds are closed
45.639020 on 7: Closing channel
45.639025 on 7: Invoking callbacks and flushing buffers before closing
45.639028 on 7: Invoking channel callback <SNR>117_on_stderr_vim
45.639080 on 7: Invoking channel callback <SNR>117_on_stderr_vim
45.639123 on 7: Invoking close callback <SNR>117_on_exit_vim
45.639146 on 7: Job exited with 128
45.739487 : looking for messages on channels
46.820650 : Exiting...
46.835786 on 0: Closing channel
46.835803 on 0: Clearing channel
I have no idea why the git stuff above is showing up. I guess Fugitive might have channels now and this might be some kind of global logging?
How did you install govim
?
Vim 8 packages.
What did you do?
Just used vim.
What did you expect to see?
Snappy responses.
What did you see instead?
Bizarre, incredibly long pauses even when doing things that wouldn’t autocomplete, for example (like pressing x)
About this issue
- Original URL
- State: open
- Created 5 years ago
- Reactions: 2
- Comments: 71 (33 by maintainers)
Commits related to this issue
- cmd/govim: provide env var to limit gopls CPU consumption In #471 and #755 we have seen instances of govim being sluggish. In #755 that sluggishness appears to be strongly correlated with gopls consu... — committed to govim/govim by myitcv 4 years ago
- cmd/govim: provide env var to limit gopls CPU consumption In #471 and #755 we have seen instances of govim being sluggish. In #755 that sluggishness appears to be strongly correlated with gopls consu... — committed to govim/govim by myitcv 4 years ago
- cmd/govim: provide env var to limit gopls CPU consumption In #471 and #755 we have seen instances of govim being sluggish. In #755 that sluggishness appears to be strongly correlated with gopls consu... — committed to govim/govim by myitcv 4 years ago
- cmd/govim: provide env var to limit gopls CPU consumption In #471 and #755 we have seen instances of govim being sluggish. In #755 that sluggishness appears to be strongly correlated with gopls consu... — committed to govim/govim by myitcv 4 years ago
- cmd/govim: provide env var to limit gopls CPU consumption In #471 and #755 we have seen instances of govim being sluggish. In #755 that sluggishness appears to be strongly correlated with gopls consu... — committed to govim/govim by myitcv 4 years ago
- cmd/govim: provide env var to limit gopls CPU consumption (#791) In #471 and #755 we have seen instances of govim being sluggish. In #755 that sluggishness appears to be strongly correlated with go... — committed to govim/govim by myitcv 4 years ago
I installed it and am pretty impressed to feel basically no slow down. I’ve only used it for a few hours so far though.
@pokstad unfortunately I think you’ve run into the same problem that I replied to in https://github.com/govim/govim/issues/586. As I mention, https://github.com/govim/govim/pull/588 should fix your issue.
Apologies, per my explanation in https://github.com/govim/govim/issues/586#issuecomment-555424067, this bug slipped through for the most unfortunate of reasons.
I’m having very bad performance delays all the time with my work repo (but not so much with smaller repos). I have no other plugins enabled (aside from netrw) and running the latest govim (as of this comment) with Vim version:
This is a problem in my work repo: https://gitlab.com/gitlab-org/gitaly. Try navigating through a file like
gitlab.com/gitlab-org/gitaly/internal/cache/cachedb.go
. When I do this, it takes very long periods of time (maybe half a minute) between movements through the file before Vim catches up.Logs:
govim logfile
gopls logfile
Hello @myitcv and @frioux,
Apologies for appearing out of blue. I wanted to avoid opening a new issue.
I believe, that I am having the same problem. At random intervals (does not happen every specific amount of time) my VIM would freeze completely while editing Go files. The momentary pause can last from 5 seconds to even sometimes a minute, and I had one case where it never recovered and I had to kill VIM and
gopls
it spawned.Usually it tends to freeze when I type, when there is a brief or momentary syntax error as I am editing code, or when new import is added. This might be the slow response time from
gopls
@myitcv mentioned above.govim
version (git log
):VIM version (
vim --version
):Go version (
go version
):Go environment (
go env
):I have not seen anything in
gopls
logs or:messages
.Please, do let me know how to help troubleshoot this, I am happy to help.
@myitcv i’m afraid I can’t reliably reproduce. I did attach logs further up the comments when I caught one happening back in October. I will keep trying
Thank you for the specific repro in any case, @pokstad - that really helped to confirm that it’s the same issue.
Thanks! I upgraded and will check in when I have more detail
@kwilczynski thanks for the report. The simplest starting point is to disable all plugins other than
govim
and see if you can repro the issue. Then start re-enabling other plugins to track down where the issue lies:https://github.com/govim/govim/wiki/Debugging-govim-plugin-failures#first-things-first
Thanks
Yeah I’ll keep it in mind and update here when I have progress.
On Thu, Sep 12, 2019 at 06:26:10AM -0700, Paul Jolly wrote:
– fREW Schmidt https://blog.afoolishmanifesto.com
As far as I can tell disabling all other plugins resolved the issue. I’m going to enable all but the git related one (Fugitive) and see if that still solves it, and if it does I’ll see if I can repro it with just those two.