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

Most upvoted comments

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:

% vim --version
VIM - Vi IMproved 8.1 (2018 May 18, compiled Aug 17 2019 15:54:26)
macOS version
Included patches: 1-1879
Compiled by Homebrew

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
2019-11-17T08:05:51.885691_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.885912_#1: vim start =======================
2019-11-17T08:05:51.885912_#1: sendJSONMsg: [0,[1,"loaded"]]
2019-11-17T08:05:51.885912_#1: vim end =======================
2019-11-17T08:05:51.891365_#1: vim start =======================
2019-11-17T08:05:51.891365_#1: recvJSONMsg: [1] ["callback",1,[""]]
2019-11-17T08:05:51.891365_#1: vim end =======================
2019-11-17T08:05:51.891455_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.891614_#1: vim start =======================
2019-11-17T08:05:51.891614_#1: sendJSONMsg: [0,[2,"ex","let s:govim_logfile=\"/var/folders/3r/472vjt017vzccf3wjz2q9dyc0000gn/T/govim_log_20191117_0805_51_566486617\""]]
2019-11-17T08:05:51.891614_#1: vim end =======================
2019-11-17T08:05:51.891909_#1: vim start =======================
2019-11-17T08:05:51.891909_#1: recvJSONMsg: [2] ["callback",2,[""]]
2019-11-17T08:05:51.891909_#1: vim end =======================
2019-11-17T08:05:51.891954_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.891985_#1: Go version go1.13.1
2019-11-17T08:05:51.892465_#1: Build info: &debug.BuildInfo{
2019-11-17T08:05:51.892465_#1:     Path: "github.com/govim/govim/cmd/govim",
2019-11-17T08:05:51.892465_#1:     Main: debug.Module{
2019-11-17T08:05:51.892465_#1:         Path:    "github.com/govim/govim",
2019-11-17T08:05:51.892465_#1:         Version: "(devel)",
2019-11-17T08:05:51.892465_#1:         Sum:     "",
2019-11-17T08:05:51.892465_#1:         Replace: (*debug.Module)(nil),
2019-11-17T08:05:51.892465_#1:     },
2019-11-17T08:05:51.892465_#1:     Deps: {
2019-11-17T08:05:51.892465_#1:         &debug.Module{
2019-11-17T08:05:51.892465_#1:             Path:    "github.com/fsnotify/fsevents",
2019-11-17T08:05:51.892465_#1:             Version: "v0.1.1",
2019-11-17T08:05:51.892465_#1:             Sum:     "h1:/125uxJvvoSDDBPen6yUZbil8J9ydKZnnl3TWWmvnkw=",
2019-11-17T08:05:51.892465_#1:             Replace: (*debug.Module)(nil),
2019-11-17T08:05:51.892465_#1:         },
2019-11-17T08:05:51.892465_#1:         &debug.Module{
2019-11-17T08:05:51.892465_#1:             Path:    "github.com/kr/pretty",
2019-11-17T08:05:51.892465_#1:             Version: "v0.1.0",
2019-11-17T08:05:51.892465_#1:             Sum:     "h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=",
2019-11-17T08:05:51.892465_#1:             Replace: (*debug.Module)(nil),
2019-11-17T08:05:51.892465_#1:         },
2019-11-17T08:05:51.892465_#1:         &debug.Module{
2019-11-17T08:05:51.892465_#1:             Path:    "github.com/kr/text",
2019-11-17T08:05:51.892465_#1:             Version: "v0.1.0",
2019-11-17T08:05:51.892465_#1:             Sum:     "h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=",
2019-11-17T08:05:51.892465_#1:             Replace: (*debug.Module)(nil),
2019-11-17T08:05:51.892465_#1:         },
2019-11-17T08:05:51.892465_#1:         &debug.Module{
2019-11-17T08:05:51.892465_#1:             Path:    "golang.org/x/xerrors",
2019-11-17T08:05:51.892465_#1:             Version: "v0.0.0-20190717185122-a985d3407aa7",
2019-11-17T08:05:51.892465_#1:             Sum:     "h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=",
2019-11-17T08:05:51.892465_#1:             Replace: (*debug.Module)(nil),
2019-11-17T08:05:51.892465_#1:         },
2019-11-17T08:05:51.892465_#1:         &debug.Module{
2019-11-17T08:05:51.892465_#1:             Path:    "gopkg.in/tomb.v2",
2019-11-17T08:05:51.892465_#1:             Version: "v2.0.0-20161208151619-d5d1b5820637",
2019-11-17T08:05:51.892465_#1:             Sum:     "h1:yiW+nvdHb9LVqSHQBXfZCieqV4fzYhNBql77zY0ykqs=",
2019-11-17T08:05:51.892465_#1:             Replace: (*debug.Module)(nil),
2019-11-17T08:05:51.892465_#1:         },
2019-11-17T08:05:51.892465_#1:     },
2019-11-17T08:05:51.892465_#1: }
2019-11-17T08:05:51.892536_#1: vim start =======================
2019-11-17T08:05:51.892536_#1: sendJSONMsg: [0,[3,"expr","{\"VersionLong\": exists(\"v:versionlong\")?v:versionlong:-1, \"GuiRunning\": has(\"gui_running\")}"]]
2019-11-17T08:05:51.892536_#1: vim end =======================
2019-11-17T08:05:51.892860_#1: vim start =======================
2019-11-17T08:05:51.892860_#1: recvJSONMsg: [3] ["callback",3,["",{"VersionLong":8011879,"GuiRunning":0}]]
2019-11-17T08:05:51.892860_#1: vim end =======================
2019-11-17T08:05:51.892906_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.892977_#1: Loaded against vim v8.1.1879
2019-11-17T08:05:51.893006_#1: vim start =======================
2019-11-17T08:05:51.893006_#1: sendJSONMsg: [0,[4,"ex","augroup govim"]]
2019-11-17T08:05:51.893006_#1: vim end =======================
2019-11-17T08:05:51.893212_#1: vim start =======================
2019-11-17T08:05:51.893212_#1: recvJSONMsg: [4] ["callback",4,[""]]
2019-11-17T08:05:51.893212_#1: vim end =======================
2019-11-17T08:05:51.893240_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.893271_#1: vim start =======================
2019-11-17T08:05:51.893271_#1: sendJSONMsg: [0,[5,"ex","augroup END"]]
2019-11-17T08:05:51.893271_#1: vim end =======================
2019-11-17T08:05:51.893455_#1: vim start =======================
2019-11-17T08:05:51.893455_#1: recvJSONMsg: [5] ["callback",5,[""]]
2019-11-17T08:05:51.893455_#1: vim end =======================
2019-11-17T08:05:51.893479_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.893536_#1: vim start =======================
2019-11-17T08:05:51.893536_#1: sendJSONMsg: [0,[6,"function","GOVIM_internal_BalloonExpr",[]]]
2019-11-17T08:05:51.893536_#1: vim end =======================
2019-11-17T08:05:51.893782_#1: vim start =======================
2019-11-17T08:05:51.893782_#1: recvJSONMsg: [6] ["callback",6,[""]]
2019-11-17T08:05:51.893782_#1: vim end =======================
2019-11-17T08:05:51.893817_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.893860_#1: vim start =======================
2019-11-17T08:05:51.893860_#1: sendJSONMsg: [0,[7,"autocmd","autocommand:0"," govim BufUnload *.go",["eval(expand('\u003cabuf\u003e'))"]]]
2019-11-17T08:05:51.893860_#1: vim end =======================
2019-11-17T08:05:51.894085_#1: vim start =======================
2019-11-17T08:05:51.894085_#1: recvJSONMsg: [7] ["callback",7,[""]]
2019-11-17T08:05:51.894085_#1: vim end =======================
2019-11-17T08:05:51.894108_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.894146_#1: vim start =======================
2019-11-17T08:05:51.894146_#1: sendJSONMsg: [0,[8,"autocmd","autocommand:1"," 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\", \"Loaded\": bufloaded(eval(expand('\u003cabuf\u003e')))}"]]]
2019-11-17T08:05:51.894146_#1: vim end =======================
2019-11-17T08:05:51.894377_#1: vim start =======================
2019-11-17T08:05:51.894377_#1: recvJSONMsg: [8] ["callback",8,[""]]
2019-11-17T08:05:51.894377_#1: vim end =======================
2019-11-17T08:05:51.894408_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.894429_#1: vim start =======================
2019-11-17T08:05:51.894429_#1: sendJSONMsg: [0,[9,"autocmd","autocommand:2"," govim BufWritePre *.go",["eval(expand('\u003cabuf\u003e'))"]]]
2019-11-17T08:05:51.894429_#1: vim end =======================
2019-11-17T08:05:51.894729_#1: vim start =======================
2019-11-17T08:05:51.894729_#1: recvJSONMsg: [9] ["callback",9,[""]]
2019-11-17T08:05:51.894729_#1: vim end =======================
2019-11-17T08:05:51.894759_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.894791_#1: vim start =======================
2019-11-17T08:05:51.894791_#1: sendJSONMsg: [0,[10,"function","GOVIM_internal_Complete",["findarg","base"]]]
2019-11-17T08:05:51.894791_#1: vim end =======================
2019-11-17T08:05:51.895112_#1: vim start =======================
2019-11-17T08:05:51.895112_#1: recvJSONMsg: [10] ["callback",10,[""]]
2019-11-17T08:05:51.895112_#1: vim end =======================
2019-11-17T08:05:51.895150_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.895239_#1: vim start =======================
2019-11-17T08:05:51.895239_#1: sendJSONMsg: [0,[11,"command","GOVIMGoToDef",{"nargs":"-nargs=?"}]]
2019-11-17T08:05:51.895239_#1: vim end =======================
2019-11-17T08:05:51.895704_#1: vim start =======================
2019-11-17T08:05:51.895704_#1: recvJSONMsg: [11] ["callback",11,[""]]
2019-11-17T08:05:51.895704_#1: vim end =======================
2019-11-17T08:05:51.895729_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.895760_#1: vim start =======================
2019-11-17T08:05:51.895760_#1: sendJSONMsg: [0,[12,"command","GOVIMSuggestedFixes",{"nargs":"-nargs=?"}]]
2019-11-17T08:05:51.895760_#1: vim end =======================
2019-11-17T08:05:51.896026_#1: vim start =======================
2019-11-17T08:05:51.896026_#1: recvJSONMsg: [12] ["callback",12,[""]]
2019-11-17T08:05:51.896026_#1: vim end =======================
2019-11-17T08:05:51.896068_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.896100_#1: vim start =======================
2019-11-17T08:05:51.896100_#1: sendJSONMsg: [0,[13,"command","GOVIMGoToPrevDef",{"count":"-count=1","nargs":"-nargs=?"}]]
2019-11-17T08:05:51.896100_#1: vim end =======================
2019-11-17T08:05:51.896436_#1: vim start =======================
2019-11-17T08:05:51.896436_#1: recvJSONMsg: [13] ["callback",13,[""]]
2019-11-17T08:05:51.896436_#1: vim end =======================
2019-11-17T08:05:51.896465_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.896496_#1: vim start =======================
2019-11-17T08:05:51.896496_#1: sendJSONMsg: [0,[14,"function","GOVIMHover",[]]]
2019-11-17T08:05:51.896496_#1: vim end =======================
2019-11-17T08:05:51.896726_#1: vim start =======================
2019-11-17T08:05:51.896726_#1: recvJSONMsg: [14] ["callback",14,[""]]
2019-11-17T08:05:51.896726_#1: vim end =======================
2019-11-17T08:05:51.896753_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.896775_#1: vim start =======================
2019-11-17T08:05:51.896775_#1: sendJSONMsg: [0,[15,"autocmd","autocommand:3"," govim BufDelete *.go",["eval(expand('\u003cabuf\u003e'))"]]]
2019-11-17T08:05:51.896775_#1: vim end =======================
2019-11-17T08:05:51.897084_#1: vim start =======================
2019-11-17T08:05:51.897084_#1: recvJSONMsg: [15] ["callback",15,[""]]
2019-11-17T08:05:51.897084_#1: vim end =======================
2019-11-17T08:05:51.897116_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.897142_#1: vim start =======================
2019-11-17T08:05:51.897142_#1: sendJSONMsg: [0,[16,"command","GOVIMGoFmt",{}]]
2019-11-17T08:05:51.897142_#1: vim end =======================
2019-11-17T08:05:51.897402_#1: vim start =======================
2019-11-17T08:05:51.897402_#1: recvJSONMsg: [16] ["callback",16,[""]]
2019-11-17T08:05:51.897402_#1: vim end =======================
2019-11-17T08:05:51.897422_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.897447_#1: vim start =======================
2019-11-17T08:05:51.897447_#1: sendJSONMsg: [0,[17,"command","GOVIMGoImports",{}]]
2019-11-17T08:05:51.897447_#1: vim end =======================
2019-11-17T08:05:51.897726_#1: vim start =======================
2019-11-17T08:05:51.897726_#1: recvJSONMsg: [17] ["callback",17,[""]]
2019-11-17T08:05:51.897726_#1: vim end =======================
2019-11-17T08:05:51.897753_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.897785_#1: vim start =======================
2019-11-17T08:05:51.897785_#1: sendJSONMsg: [0,[18,"command","GOVIMQuickfixDiagnostics",{}]]
2019-11-17T08:05:51.897785_#1: vim end =======================
2019-11-17T08:05:51.898029_#1: vim start =======================
2019-11-17T08:05:51.898029_#1: recvJSONMsg: [18] ["callback",18,[""]]
2019-11-17T08:05:51.898029_#1: vim end =======================
2019-11-17T08:05:51.898066_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.898118_#1: vim start =======================
2019-11-17T08:05:51.898118_#1: sendJSONMsg: [0,[19,"function","GOVIM_internal_BufChanged",["bufnr","start","end","added","changes"]]]
2019-11-17T08:05:51.898118_#1: vim end =======================
2019-11-17T08:05:51.898429_#1: vim start =======================
2019-11-17T08:05:51.898429_#1: recvJSONMsg: [19] ["callback",19,[""]]
2019-11-17T08:05:51.898429_#1: vim end =======================
2019-11-17T08:05:51.898459_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.898483_#1: vim start =======================
2019-11-17T08:05:51.898483_#1: sendJSONMsg: [0,[20,"function","GOVIM_internal_SetConfig",["config"]]]
2019-11-17T08:05:51.898483_#1: vim end =======================
2019-11-17T08:05:51.898742_#1: vim start =======================
2019-11-17T08:05:51.898742_#1: recvJSONMsg: [20] ["callback",20,[""]]
2019-11-17T08:05:51.898742_#1: vim end =======================
2019-11-17T08:05:51.898769_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.898813_#1: vim start =======================
2019-11-17T08:05:51.898813_#1: sendJSONMsg: [0,[21,"ex","call govim#config#Set(\"_internal_Func\", function(\"GOVIM_internal_SetConfig\"))"]]
2019-11-17T08:05:51.898813_#1: vim end =======================
2019-11-17T08:05:51.899763_#1: vim start =======================
2019-11-17T08:05:51.899763_#1: recvJSONMsg: [21] ["function","function:GOVIM_internal_SetConfig",[{}]]
2019-11-17T08:05:51.899763_#1: vim end =======================
2019-11-17T08:05:51.899784_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.899892_#1: vim start =======================
2019-11-17T08:05:51.899892_#1: sendJSONMsg: [21,["",null]]
2019-11-17T08:05:51.899892_#1: vim end =======================
2019-11-17T08:05:51.900065_#1: vim start =======================
2019-11-17T08:05:51.900065_#1: recvJSONMsg: [22] ["callback",21,[""]]
2019-11-17T08:05:51.900065_#1: vim end =======================
2019-11-17T08:05:51.900086_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.900102_#1: vim start =======================
2019-11-17T08:05:51.900102_#1: sendJSONMsg: [0,[22,"function","GOVIM_internal_SetUserBusy",["isBusy"]]]
2019-11-17T08:05:51.900102_#1: vim end =======================
2019-11-17T08:05:51.900331_#1: vim start =======================
2019-11-17T08:05:51.900331_#1: recvJSONMsg: [23] ["callback",22,[""]]
2019-11-17T08:05:51.900331_#1: vim end =======================
2019-11-17T08:05:51.900351_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.900364_#1: vim start =======================
2019-11-17T08:05:51.900364_#1: sendJSONMsg: [0,[23,"function","GOVIM_internal_PopupSelection",["id","selected"]]]
2019-11-17T08:05:51.900364_#1: vim end =======================
2019-11-17T08:05:51.900581_#1: vim start =======================
2019-11-17T08:05:51.900581_#1: recvJSONMsg: [24] ["callback",23,[""]]
2019-11-17T08:05:51.900581_#1: vim end =======================
2019-11-17T08:05:51.900605_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.900621_#1: vim start =======================
2019-11-17T08:05:51.900621_#1: sendJSONMsg: [0,[24,"command","GOVIMReferences",{}]]
2019-11-17T08:05:51.900621_#1: vim end =======================
2019-11-17T08:05:51.900842_#1: vim start =======================
2019-11-17T08:05:51.900842_#1: recvJSONMsg: [25] ["callback",24,[""]]
2019-11-17T08:05:51.900842_#1: vim end =======================
2019-11-17T08:05:51.900858_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.900879_#1: vim start =======================
2019-11-17T08:05:51.900879_#1: sendJSONMsg: [0,[25,"command","GOVIMRename",{"nargs":"-nargs=?"}]]
2019-11-17T08:05:51.900879_#1: vim end =======================
2019-11-17T08:05:51.901098_#1: vim start =======================
2019-11-17T08:05:51.901098_#1: recvJSONMsg: [26] ["callback",25,[""]]
2019-11-17T08:05:51.901098_#1: vim end =======================
2019-11-17T08:05:51.901117_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.901145_#1: vim start =======================
2019-11-17T08:05:51.901145_#1: sendJSONMsg: [0,[26,"command","GOVIMStringFn",{"complete":"-complete=customlist,GOVIM_internal_StringFnComplete","nargs":"-nargs=+","range":"-range"}]]
2019-11-17T08:05:51.901145_#1: vim end =======================
2019-11-17T08:05:51.901374_#1: vim start =======================
2019-11-17T08:05:51.901374_#1: recvJSONMsg: [27] ["callback",26,[""]]
2019-11-17T08:05:51.901374_#1: vim end =======================
2019-11-17T08:05:51.901388_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.901402_#1: vim start =======================
2019-11-17T08:05:51.901402_#1: sendJSONMsg: [0,[27,"function","GOVIM_internal_StringFnComplete",["ArgLead","CmdLine","CursorPos"]]]
2019-11-17T08:05:51.901402_#1: vim end =======================
2019-11-17T08:05:51.901605_#1: vim start =======================
2019-11-17T08:05:51.901605_#1: recvJSONMsg: [28] ["callback",27,[""]]
2019-11-17T08:05:51.901605_#1: vim end =======================
2019-11-17T08:05:51.901625_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.901701_#1: vim start =======================
2019-11-17T08:05:51.901701_#1: sendJSONMsg: [0,[28,"call","sign_define","govimErrSign",{"text":"\u003e\u003e","texthl":"govimErr"}]]
2019-11-17T08:05:51.901701_#1: vim end =======================
2019-11-17T08:05:51.901872_#1: vim start =======================
2019-11-17T08:05:51.901872_#1: recvJSONMsg: [29] ["callback",28,["",0]]
2019-11-17T08:05:51.901872_#1: vim end =======================
2019-11-17T08:05:51.901893_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.901916_#1: vim start =======================
2019-11-17T08:05:51.901916_#1: sendJSONMsg: [0,[29,"call","sign_define","govimWarnSign",{"text":"\u003e\u003e","texthl":"govimWarn"}]]
2019-11-17T08:05:51.901916_#1: vim end =======================
2019-11-17T08:05:51.902069_#1: vim start =======================
2019-11-17T08:05:51.902069_#1: recvJSONMsg: [30] ["callback",29,["",0]]
2019-11-17T08:05:51.902069_#1: vim end =======================
2019-11-17T08:05:51.902084_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.902103_#1: vim start =======================
2019-11-17T08:05:51.902103_#1: sendJSONMsg: [0,[30,"call","sign_define","govimInfoSign",{"text":"\u003e\u003e","texthl":"govimInfo"}]]
2019-11-17T08:05:51.902103_#1: vim end =======================
2019-11-17T08:05:51.902251_#1: vim start =======================
2019-11-17T08:05:51.902251_#1: recvJSONMsg: [31] ["callback",30,["",0]]
2019-11-17T08:05:51.902251_#1: vim end =======================
2019-11-17T08:05:51.902266_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.902282_#1: vim start =======================
2019-11-17T08:05:51.902282_#1: sendJSONMsg: [0,[31,"call","sign_define","govimHintSign",{"text":"\u003e\u003e","texthl":"govimHint"}]]
2019-11-17T08:05:51.902282_#1: vim end =======================
2019-11-17T08:05:51.902425_#1: vim start =======================
2019-11-17T08:05:51.902425_#1: recvJSONMsg: [32] ["callback",31,["",0]]
2019-11-17T08:05:51.902425_#1: vim end =======================
2019-11-17T08:05:51.902440_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.902456_#1: vim start =======================
2019-11-17T08:05:51.902456_#1: sendJSONMsg: [0,[32,"function","GOVIMMotion",["direction","target"]]]
2019-11-17T08:05:51.902456_#1: vim end =======================
2019-11-17T08:05:51.902661_#1: vim start =======================
2019-11-17T08:05:51.902661_#1: recvJSONMsg: [33] ["callback",32,[""]]
2019-11-17T08:05:51.902661_#1: vim end =======================
2019-11-17T08:05:51.902676_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.902696_#1: vim start =======================
2019-11-17T08:05:51.902696_#1: sendJSONMsg: [0,[33,"expr","has(\"gui_running\")"]]
2019-11-17T08:05:51.902696_#1: vim end =======================
2019-11-17T08:05:51.902831_#1: vim start =======================
2019-11-17T08:05:51.902831_#1: recvJSONMsg: [34] ["callback",33,["",0]]
2019-11-17T08:05:51.902831_#1: vim end =======================
2019-11-17T08:05:51.902847_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.902993_#1: gopls log file: /var/folders/3r/472vjt017vzccf3wjz2q9dyc0000gn/T/gopls_log_20191117_0805_51_979501028
2019-11-17T08:05:51.903022_#1: vim start =======================
2019-11-17T08:05:51.903022_#1: sendJSONMsg: [0,[34,"ex","let s:gopls_logfile=\"/var/folders/3r/472vjt017vzccf3wjz2q9dyc0000gn/T/gopls_log_20191117_0805_51_979501028\""]]
2019-11-17T08:05:51.903022_#1: vim end =======================
2019-11-17T08:05:51.903175_#1: vim start =======================
2019-11-17T08:05:51.903175_#1: recvJSONMsg: [35] ["callback",34,[""]]
2019-11-17T08:05:51.903175_#1: vim end =======================
2019-11-17T08:05:51.903189_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.903206_#1: Running gopls: /Users/paulokstad/dotfiles/vim/pack/plugins/start/govim/cmd/govim/.bin/5fc2643f935d102b92b36cc8686185dcff949d00/gopls -rpc.trace -logfile /var/folders/3r/472vjt017vzccf3wjz2q9dyc0000gn/T/gopls_log_20191117_0805_51_979501028
2019-11-17T08:05:51.904373_#1: vim start =======================
2019-11-17T08:05:51.904373_#1: sendJSONMsg: [0,[35,"call","getcwd",-1]]
2019-11-17T08:05:51.904373_#1: vim end =======================
2019-11-17T08:05:51.904611_#1: vim start =======================
2019-11-17T08:05:51.904611_#1: recvJSONMsg: [36] ["callback",35,["","/Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly"]]
2019-11-17T08:05:51.904611_#1: vim end =======================
2019-11-17T08:05:51.904648_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.905630_#1: gopls server start =======================
2019-11-17T08:05:51.905630_#1: gopls.Initialize() call; params:
2019-11-17T08:05:51.905630_#1: &protocol.ParamInitia{
2019-11-17T08:05:51.905630_#1:     InitializeParams: protocol.InitializeParams{
2019-11-17T08:05:51.905630_#1:         ProcessID:    0,
2019-11-17T08:05:51.905630_#1:         ClientInfo:   (*struct { Name string "json:\"name\""; Version string "json:\"version,omitempty\"" })(nil),
2019-11-17T08:05:51.905630_#1:         RootPath:     "",
2019-11-17T08:05:51.905630_#1:         RootURI:      "file:///Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly",
2019-11-17T08:05:51.905630_#1:         Capabilities: protocol.ClientCapabilities{
2019-11-17T08:05:51.905630_#1:             Workspace: struct { ApplyEdit bool "json:\"applyEdit,omitempty\""; WorkspaceEdit protocol.WorkspaceEditClientCapabilities "json:\"workspaceEdit,omitempty\""; DidChangeConfiguration protocol.DidChangeConfigurationClientCapabilities "json:\"didChangeConfiguration,omitempty\""; DidChangeWatchedFiles protocol.DidChangeWatchedFilesClientCapabilities "json:\"didChangeWatchedFiles,omitempty\""; Symbol protocol.WorkspaceSymbolClientCapabilities "json:\"symbol,omitempty\""; ExecuteCommand protocol.ExecuteCommandClientCapabilities "json:\"executeCommand,omitempty\""; WorkspaceFolders bool "json:\"workspaceFolders,omitempty\""; Configuration bool "json:\"configuration,omitempty\"" }{
2019-11-17T08:05:51.905630_#1:                 ApplyEdit:              false,
2019-11-17T08:05:51.905630_#1:                 WorkspaceEdit:          protocol.WorkspaceEditClientCapabilities{},
2019-11-17T08:05:51.905630_#1:                 DidChangeConfiguration: protocol.DidChangeConfigurationClientCapabilities{DynamicRegistration:true},
2019-11-17T08:05:51.905630_#1:                 DidChangeWatchedFiles:  protocol.DidChangeWatchedFilesClientCapabilities{},
2019-11-17T08:05:51.905630_#1:                 Symbol:                 protocol.WorkspaceSymbolClientCapabilities{},
2019-11-17T08:05:51.905630_#1:                 ExecuteCommand:         protocol.ExecuteCommandClientCapabilities{},
2019-11-17T08:05:51.905630_#1:                 WorkspaceFolders:       false,
2019-11-17T08:05:51.905630_#1:                 Configuration:          true,
2019-11-17T08:05:51.905630_#1:             },
2019-11-17T08:05:51.905630_#1:             TextDocument: protocol.TextDocumentClientCapabilities{
2019-11-17T08:05:51.905630_#1:                 Synchronization: (*protocol.TextDocumentSyncClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 Completion:      (*protocol.CompletionClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 Hover:           &protocol.HoverClientCapabilities{
2019-11-17T08:05:51.905630_#1:                     DynamicRegistration: false,
2019-11-17T08:05:51.905630_#1:                     ContentFormat:       {"plaintext"},
2019-11-17T08:05:51.905630_#1:                 },
2019-11-17T08:05:51.905630_#1:                 SignatureHelp:      (*protocol.SignatureHelpClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 Declaration:        (*protocol.DeclarationClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 Definition:         (*protocol.DefinitionClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 TypeDefinition:     (*protocol.TypeDefinitionClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 Implementation:     (*protocol.ImplementationClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 References:         (*protocol.ReferenceClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 DocumentHighlight:  (*protocol.DocumentHighlightClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 DocumentSymbol:     (*protocol.DocumentSymbolClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 CodeAction:         (*protocol.CodeActionClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 CodeLens:           (*protocol.CodeLensClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 DocumentLink:       (*protocol.DocumentLinkClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 ColorProvider:      (*protocol.DocumentColorClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 Formatting:         (*protocol.DocumentFormattingClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 RangeFormatting:    (*protocol.DocumentRangeFormattingClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 OnTypeFormatting:   (*protocol.DocumentOnTypeFormattingClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 Rename:             (*protocol.RenameClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 FoldingRange:       (*protocol.FoldingRangeClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 SelectionRange:     (*protocol.SelectionRangeClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:                 PublishDiagnostics: (*protocol.PublishDiagnosticsClientCapabilities)(nil),
2019-11-17T08:05:51.905630_#1:             },
2019-11-17T08:05:51.905630_#1:             Window:              nil,
2019-11-17T08:05:51.905630_#1:             Experimental:        nil,
2019-11-17T08:05:51.905630_#1:             DynamicRegistration: false,
2019-11-17T08:05:51.905630_#1:         },
2019-11-17T08:05:51.905630_#1:         InitializationOptions: map[string]interface {}{
2019-11-17T08:05:51.905630_#1:             "incrementalSync": bool(true),
2019-11-17T08:05:51.905630_#1:             "noDocsOnHover":   bool(true),
2019-11-17T08:05:51.905630_#1:         },
2019-11-17T08:05:51.905630_#1:         Trace:            "",
2019-11-17T08:05:51.905630_#1:         WorkspaceFolders: nil,
2019-11-17T08:05:51.905630_#1:     },
2019-11-17T08:05:51.905630_#1:     WorkDoneProgressParams: protocol.WorkDoneProgressParams{},
2019-11-17T08:05:51.905630_#1: }
2019-11-17T08:05:51.905630_#1: gopls server end =======================
2019-11-17T08:05:51.921901_#1: gopls server start =======================
2019-11-17T08:05:51.921901_#1: gopls.Initialize() return; err: <nil>; res:
2019-11-17T08:05:51.921901_#1: &protocol.InitializeResult{
2019-11-17T08:05:51.921901_#1:     Capabilities: protocol.ServerCapabilities{
2019-11-17T08:05:51.921901_#1:         TextDocumentSync: map[string]interface {}{
2019-11-17T08:05:51.921901_#1:             "save": map[string]interface {}{
2019-11-17T08:05:51.921901_#1:             },
2019-11-17T08:05:51.921901_#1:             "openClose": bool(true),
2019-11-17T08:05:51.921901_#1:             "change":    float64(2),
2019-11-17T08:05:51.921901_#1:         },
2019-11-17T08:05:51.921901_#1:         CompletionProvider: &protocol.CompletionOptions{
2019-11-17T08:05:51.921901_#1:             TriggerCharacters:       {"."},
2019-11-17T08:05:51.921901_#1:             AllCommitCharacters:     nil,
2019-11-17T08:05:51.921901_#1:             ResolveProvider:         false,
2019-11-17T08:05:51.921901_#1:             WorkDoneProgressOptions: protocol.WorkDoneProgressOptions{},
2019-11-17T08:05:51.921901_#1:         },
2019-11-17T08:05:51.921901_#1:         HoverProvider:         true,
2019-11-17T08:05:51.921901_#1:         SignatureHelpProvider: &protocol.SignatureHelpOptions{
2019-11-17T08:05:51.921901_#1:             TriggerCharacters:       {"(", ","},
2019-11-17T08:05:51.921901_#1:             RetriggerCharacters:     nil,
2019-11-17T08:05:51.921901_#1:             WorkDoneProgressOptions: protocol.WorkDoneProgressOptions{},
2019-11-17T08:05:51.921901_#1:         },
2019-11-17T08:05:51.921901_#1:         DeclarationProvider:              false,
2019-11-17T08:05:51.921901_#1:         DefinitionProvider:               true,
2019-11-17T08:05:51.921901_#1:         TypeDefinitionProvider:           true,
2019-11-17T08:05:51.921901_#1:         ImplementationProvider:           true,
2019-11-17T08:05:51.921901_#1:         ReferencesProvider:               true,
2019-11-17T08:05:51.921901_#1:         DocumentHighlightProvider:        true,
2019-11-17T08:05:51.921901_#1:         DocumentSymbolProvider:           true,
2019-11-17T08:05:51.921901_#1:         CodeActionProvider:               bool(true),
2019-11-17T08:05:51.921901_#1:         CodeLensProvider:                 (*protocol.CodeLensOptions)(nil),
2019-11-17T08:05:51.921901_#1:         DocumentLinkProvider:             &protocol.DocumentLinkOptions{},
2019-11-17T08:05:51.921901_#1:         ColorProvider:                    false,
2019-11-17T08:05:51.921901_#1:         WorkspaceSymbolProvider:          false,
2019-11-17T08:05:51.921901_#1:         DocumentFormattingProvider:       true,
2019-11-17T08:05:51.921901_#1:         DocumentRangeFormattingProvider:  false,
2019-11-17T08:05:51.921901_#1:         DocumentOnTypeFormattingProvider: (*protocol.DocumentOnTypeFormattingOptions)(nil),
2019-11-17T08:05:51.921901_#1:         RenameProvider:                   bool(true),
2019-11-17T08:05:51.921901_#1:         FoldingRangeProvider:             true,
2019-11-17T08:05:51.921901_#1:         SelectionRangeProvider:           false,
2019-11-17T08:05:51.921901_#1:         ExecuteCommandProvider:           &protocol.ExecuteCommandOptions{
2019-11-17T08:05:51.921901_#1:             Commands:                {"tidy"},
2019-11-17T08:05:51.921901_#1:             WorkDoneProgressOptions: protocol.WorkDoneProgressOptions{},
2019-11-17T08:05:51.921901_#1:         },
2019-11-17T08:05:51.921901_#1:         Experimental: nil,
2019-11-17T08:05:51.921901_#1:         Workspace:    &struct { WorkspaceFolders *struct { Supported bool "json:\"supported,omitempty\""; ChangeNotifications string "json:\"changeNotifications,omitempty\"" } "json:\"workspaceFolders,omitempty\"" }{
2019-11-17T08:05:51.921901_#1:             WorkspaceFolders: &struct { Supported bool "json:\"supported,omitempty\""; ChangeNotifications string "json:\"changeNotifications,omitempty\"" }{Supported:true, ChangeNotifications:"workspace/didChangeWorkspaceFolders"},
2019-11-17T08:05:51.921901_#1:         },
2019-11-17T08:05:51.921901_#1:     },
2019-11-17T08:05:51.921901_#1:     ServerInfo: (*struct { Name string "json:\"name\""; Version string "json:\"version,omitempty\"" })(nil),
2019-11-17T08:05:51.921901_#1:     Custom:     {},
2019-11-17T08:05:51.921901_#1: }
2019-11-17T08:05:51.921901_#1: gopls server end =======================
2019-11-17T08:05:51.921957_#1: gopls server start =======================
2019-11-17T08:05:51.921957_#1: gopls.Initialized() call; params:
2019-11-17T08:05:51.921957_#1: &protocol.InitializedParams{}
2019-11-17T08:05:51.921957_#1: gopls server end =======================
2019-11-17T08:05:51.921993_#1: gopls server start =======================
2019-11-17T08:05:51.921993_#1: gopls.Initialized() return; err: <nil>
2019-11-17T08:05:51.921993_#1: gopls server end =======================
2019-11-17T08:05:51.922963_#1: gopls client start =======================
2019-11-17T08:05:51.922963_#1: RegisterCapability: &protocol.RegistrationParams{
2019-11-17T08:05:51.922963_#1:     Registrations: {
2019-11-17T08:05:51.922963_#1:         {
2019-11-17T08:05:51.922963_#1:             ID:              "workspace/didChangeConfiguration",
2019-11-17T08:05:51.922963_#1:             Method:          "workspace/didChangeConfiguration",
2019-11-17T08:05:51.922963_#1:             RegisterOptions: nil,
2019-11-17T08:05:51.922963_#1:         },
2019-11-17T08:05:51.922963_#1:         {
2019-11-17T08:05:51.922963_#1:             ID:              "workspace/didChangeWorkspaceFolders",
2019-11-17T08:05:51.922963_#1:             Method:          "workspace/didChangeWorkspaceFolders",
2019-11-17T08:05:51.922963_#1:             RegisterOptions: nil,
2019-11-17T08:05:51.922963_#1:         },
2019-11-17T08:05:51.922963_#1:     },
2019-11-17T08:05:51.922963_#1: }
2019-11-17T08:05:51.922963_#1: gopls client end =======================
2019-11-17T08:05:51.940511_#1: vim start =======================
2019-11-17T08:05:51.940511_#1: sendJSONMsg: [0,[36,"initcomplete"]]
2019-11-17T08:05:51.940511_#1: vim end =======================
2019-11-17T08:05:51.945645_#1: vim start =======================
2019-11-17T08:05:51.945645_#1: recvJSONMsg: [37] ["function","autocommand:1",[{"Num":1,"Name":"/Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly/internal/cache/cachedb.go","Loaded":1,"Contents":"package cache\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"io\"\n\t\"os\"\n\t\"path/filepath\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"gitlab.com/gitlab-org/gitaly/internal/safe\"\n\t\"gitlab.com/gitlab-org/gitaly/proto/go/gitalypb\"\n)\n\n// StreamDB stores and retrieves byte streams for repository related RPCs\ntype StreamDB struct {\n\tck Keyer\n}\n\n// NewStreamDB will open the stream database at the specified file path.\nfunc NewStreamDB(ck Keyer) *StreamDB {\n\treturn &StreamDB{\n\t\tck: ck,\n\t}\n}\n\n// ErrReqNotFound indicates the request does not exist within the repo digest\nvar ErrReqNotFound = errors.New(\"request digest not found within repo namespace\")\n\n// GetStream will fetch the cached stream for a request. It is the\n// responsibility of the caller to close the stream when done.\nfunc (sdb *StreamDB) GetStream(ctx context.Context, repo *gitalypb.Repository, req proto.Message) (_ io.ReadCloser, err error) {\n\tdefer func() {\n\t\tif err != nil {\n\t\t\tcountMiss()\n\t\t}\n\t}()\n\n\tcountRequest()\n\n\trespPath, err := sdb.ck.KeyPath(ctx, repo, req)\n\tswitch {\n\tcase os.IsNotExist(err):\n\t\treturn nil, ErrReqNotFound\n\tcase err == nil:\n\t\tbreak\n\tdefault:\n\t\treturn nil, err\n\t}\n\n\trespF, err := os.Open(respPath)\n\tswitch {\n\tcase os.IsNotExist(err):\n\t\treturn nil, ErrReqNotFound\n\tcase err == nil:\n\t\tbreak\n\tdefault:\n\t\treturn nil, err\n\t}\n\n\treturn instrumentedReadCloser{respF}, nil\n}\n\ntype instrumentedReadCloser struct {\n\tio.ReadCloser\n}\n\nfunc (irc instrumentedReadCloser) Read(p []byte) (n int, err error) {\n\tn, err = irc.ReadCloser.Read(p)\n\tcountReadBytes(float64(n))\n\treturn\n}\n\n// PutStream will store a stream in a repo-namespace keyed by the digest of the\n// request protobuf message.\nfunc (sdb *StreamDB) PutStream(ctx context.Context, repo *gitalypb.Repository, req proto.Message, src io.Reader) error {\n\treqPath, err := sdb.ck.KeyPath(ctx, repo, req)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif err := os.MkdirAll(filepath.Dir(reqPath), 0755); err != nil {\n\t\treturn err\n\t}\n\n\tsf, err := safe.CreateFileWriter(reqPath)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer sf.Close()\n\n\tn, err := io.Copy(sf, src)\n\tif err != nil {\n\t\treturn err\n\t}\n\tcountWriteBytes(float64(n))\n\n\tif err := sf.Commit(); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"}]]
2019-11-17T08:05:51.945645_#1: vim end =======================
2019-11-17T08:05:51.945785_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.945971_#1: vim start =======================
2019-11-17T08:05:51.945971_#1: sendJSONMsg: [0,[37,"call","listener_add","GOVIM_internal_EnrichDelta",1]]
2019-11-17T08:05:51.945971_#1: vim end =======================
2019-11-17T08:05:51.946198_#1: vim start =======================
2019-11-17T08:05:51.946198_#1: recvJSONMsg: [38] ["callback",37,["",1]]
2019-11-17T08:05:51.946198_#1: vim end =======================
2019-11-17T08:05:51.946238_#1: run: waiting to read a JSON message
2019-11-17T08:05:51.946591_#1: gopls server start =======================
2019-11-17T08:05:51.946591_#1: gopls.DidOpen() call; params:
2019-11-17T08:05:51.946591_#1: &protocol.DidOpenTextDocumentParams{
2019-11-17T08:05:51.946591_#1:     TextDocument: protocol.TextDocumentItem{URI:"file:///Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly/internal/cache/cachedb.go", LanguageID:"go", Version:0, Text:"package cache\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"io\"\n\t\"os\"\n\t\"path/filepath\"\n\n\t\"github.com/golang/protobuf/proto\"\n\t\"gitlab.com/gitlab-org/gitaly/internal/safe\"\n\t\"gitlab.com/gitlab-org/gitaly/proto/go/gitalypb\"\n)\n\n// StreamDB stores and retrieves byte streams for repository related RPCs\ntype StreamDB struct {\n\tck Keyer\n}\n\n// NewStreamDB will open the stream database at the specified file path.\nfunc NewStreamDB(ck Keyer) *StreamDB {\n\treturn &StreamDB{\n\t\tck: ck,\n\t}\n}\n\n// ErrReqNotFound indicates the request does not exist within the repo digest\nvar ErrReqNotFound = errors.New(\"request digest not found within repo namespace\")\n\n// GetStream will fetch the cached stream for a request. It is the\n// responsibility of the caller to close the stream when done.\nfunc (sdb *StreamDB) GetStream(ctx context.Context, repo *gitalypb.Repository, req proto.Message) (_ io.ReadCloser, err error) {\n\tdefer func() {\n\t\tif err != nil {\n\t\t\tcountMiss()\n\t\t}\n\t}()\n\n\tcountRequest()\n\n\trespPath, err := sdb.ck.KeyPath(ctx, repo, req)\n\tswitch {\n\tcase os.IsNotExist(err):\n\t\treturn nil, ErrReqNotFound\n\tcase err == nil:\n\t\tbreak\n\tdefault:\n\t\treturn nil, err\n\t}\n\n\trespF, err := os.Open(respPath)\n\tswitch {\n\tcase os.IsNotExist(err):\n\t\treturn nil, ErrReqNotFound\n\tcase err == nil:\n\t\tbreak\n\tdefault:\n\t\treturn nil, err\n\t}\n\n\treturn instrumentedReadCloser{respF}, nil\n}\n\ntype instrumentedReadCloser struct {\n\tio.ReadCloser\n}\n\nfunc (irc instrumentedReadCloser) Read(p []byte) (n int, err error) {\n\tn, err = irc.ReadCloser.Read(p)\n\tcountReadBytes(float64(n))\n\treturn\n}\n\n// PutStream will store a stream in a repo-namespace keyed by the digest of the\n// request protobuf message.\nfunc (sdb *StreamDB) PutStream(ctx context.Context, repo *gitalypb.Repository, req proto.Message, src io.Reader) error {\n\treqPath, err := sdb.ck.KeyPath(ctx, repo, req)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif err := os.MkdirAll(filepath.Dir(reqPath), 0755); err != nil {\n\t\treturn err\n\t}\n\n\tsf, err := safe.CreateFileWriter(reqPath)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer sf.Close()\n\n\tn, err := io.Copy(sf, src)\n\tif err != nil {\n\t\treturn err\n\t}\n\tcountWriteBytes(float64(n))\n\n\tif err := sf.Commit(); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n"},
2019-11-17T08:05:51.946591_#1: }
2019-11-17T08:05:51.946591_#1: gopls server end =======================
2019-11-17T08:05:51.946738_#1: gopls server start =======================
2019-11-17T08:05:51.946738_#1: gopls.DidOpen() return; err: <nil>
2019-11-17T08:05:51.946738_#1: gopls server end =======================
2019-11-17T08:05:51.946763_#1: vim start =======================
2019-11-17T08:05:51.946763_#1: sendJSONMsg: [37,["",null]]
2019-11-17T08:05:51.946763_#1: vim end =======================
2019-11-17T08:05:51.949491_#1: vim start =======================
2019-11-17T08:05:51.949491_#1: recvJSONMsg: [39] ["callback",36,[""]]
2019-11-17T08:05:51.949491_#1: vim end =======================
2019-11-17T08:05:51.949542_#1: run: waiting to read a JSON message
2019-11-17T08:05:52.073467_#1: gopls client start =======================
2019-11-17T08:05:52.073467_#1: Configuration: &protocol.ParamConfig{
2019-11-17T08:05:52.073467_#1:     ConfigurationParams: protocol.ConfigurationParams{
2019-11-17T08:05:52.073467_#1:         Items: {
2019-11-17T08:05:52.073467_#1:             {ScopeURI:"file:///Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly", Section:"gopls"},
2019-11-17T08:05:52.073467_#1:             {ScopeURI:"file:///Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly", Section:"gopls-gitaly"},
2019-11-17T08:05:52.073467_#1:         },
2019-11-17T08:05:52.073467_#1:     },
2019-11-17T08:05:52.073467_#1:     PartialResultParams: protocol.PartialResultParams{},
2019-11-17T08:05:52.073467_#1: }
2019-11-17T08:05:52.073467_#1: gopls client end =======================
2019-11-17T08:05:52.073514_#1: gopls client start =======================
2019-11-17T08:05:52.073514_#1: Configuration response: []interface {}{
2019-11-17T08:05:52.073514_#1:     map[string]interface {}{
2019-11-17T08:05:52.073514_#1:         "hoverKind":   "FullDocumentation",
2019-11-17T08:05:52.073514_#1:         "staticcheck": bool(false),
2019-11-17T08:05:52.073514_#1:     },
2019-11-17T08:05:52.073514_#1:     nil,
2019-11-17T08:05:52.073514_#1: }
2019-11-17T08:05:52.073514_#1: gopls client end =======================
2019-11-17T08:05:52.073775_#1: gopls client start =======================
2019-11-17T08:05:52.073775_#1: LogMessage callback: &protocol.LogMessageParams{Type:3, Message:"2019/11/17 08:05:52 Build info\n----------\ngolang.org/x/tools/gopls master\n    golang.org/x/tools/gopls@v0.1.8-0.20191112184959-323f198cedfe h1:hRX0cbiYzfPDzT+DnKGPSM7AuO+tHNUCJPvSPg2col8=\n    github.com/BurntSushi/toml@v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=\n    github.com/sergi/go-diff@v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ=\n    golang.org/x/sync@v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=\n    golang.org/x/tools@v0.0.0-20191112184959-323f198cedfe h1:xu3dIRFsOjkIxzH/8YE/5wDilO84UN9RGk6/GvACJ+o=\n    golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=\n    honnef.co/go/tools@v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM=\n\nGo info\n-------\ngo version go1.13.1 darwin/amd64\n\nGO111MODULE=\"\"\nGOARCH=\"amd64\"\nGOBIN=\"\"\nGOCACHE=\"/Users/paulokstad/Library/Caches/go-build\"\nGOENV=\"/Users/paulokstad/Library/Application Support/go/env\"\nGOEXE=\"\"\nGOFLAGS=\"\"\nGOHOSTARCH=\"amd64\"\nGOHOSTOS=\"darwin\"\nGONOPROXY=\"\"\nGONOSUMDB=\"\"\nGOOS=\"darwin\"\nGOPATH=\"/Users/paulokstad/go\"\nGOPRIVATE=\"\"\nGOPROXY=\"https://proxy.golang.org,direct\"\nGOROOT=\"/usr/local/go\"\nGOSUMDB=\"sum.golang.org\"\nGOTMPDIR=\"\"\nGOTOOLDIR=\"/usr/local/go/pkg/tool/darwin_amd64\"\nGCCGO=\"gccgo\"\nAR=\"ar\"\nCC=\"clang\"\nCXX=\"clang++\"\nCGO_ENABLED=\"1\"\nGOMOD=\"/Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly/go.mod\"\nCGO_CFLAGS=\"-g -O2\"\nCGO_CPPFLAGS=\"\"\nCGO_CXXFLAGS=\"-g -O2\"\nCGO_FFLAGS=\"-g -O2\"\nCGO_LDFLAGS=\"-g -O2\"\nPKG_CONFIG=\"pkg-config\"\nGOGCCFLAGS=\"-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/3r/472vjt017vzccf3wjz2q9dyc0000gn/T/go-build835475536=/tmp/go-build -gno-record-gcc-switches -fno-common\"\n"}
2019-11-17T08:05:52.073775_#1: gopls client end =======================
2019-11-17T08:05:54.258558_#1: vim start =======================
2019-11-17T08:05:54.258558_#1: recvJSONMsg: [40] ["function","function:GOVIM_internal_BalloonExpr",[]]
2019-11-17T08:05:54.258558_#1: vim end =======================
2019-11-17T08:05:54.258620_#1: run: waiting to read a JSON message
2019-11-17T08:05:54.258805_#1: vim start =======================
2019-11-17T08:05:54.258805_#1: sendJSONMsg: [0,[38,"expr","{\"bufnum\": v:beval_bufnr, \"line\": v:beval_lnum, \"col\": v:beval_col, \"screenpos\": screenpos(v:beval_winid, v:beval_lnum, v:beval_col)}"]]
2019-11-17T08:05:54.258805_#1: vim end =======================
2019-11-17T08:05:54.293991_#1: vim start =======================
2019-11-17T08:05:54.293991_#1: recvJSONMsg: [41] ["callback",38,["",{"bufnum":1,"col":11,"line":21,"screenpos":{"col":17,"row":21,"endcol":17,"curscol":17}}]]
2019-11-17T08:05:54.293991_#1: vim end =======================
2019-11-17T08:05:54.305042_#1: run: waiting to read a JSON message
2019-11-17T08:05:54.305584_#1: gopls server start =======================
2019-11-17T08:05:54.305584_#1: gopls.Hover() call; params:
2019-11-17T08:05:54.305584_#1: &protocol.HoverParams{
2019-11-17T08:05:54.305584_#1:     TextDocumentPositionParams: protocol.TextDocumentPositionParams{
2019-11-17T08:05:54.305584_#1:         TextDocument: protocol.TextDocumentIdentifier{URI:"file:///Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly/internal/cache/cachedb.go"},
2019-11-17T08:05:54.305584_#1:         Position:     protocol.Position{Line:20, Character:10},
2019-11-17T08:05:54.305584_#1:     },
2019-11-17T08:05:54.305584_#1:     WorkDoneProgressParams: protocol.WorkDoneProgressParams{},
2019-11-17T08:05:54.305584_#1: }
2019-11-17T08:05:54.305584_#1: gopls server end =======================
2019-11-17T08:06:08.771497_#1: gopls stderr: 2019/11/17 08:06:08 : Error loading packages: go [list -e -json -compiled=true -test=true -export=false -deps=true -find=false -- ./...]: exit status 2: go: downloading google.golang.org/grpc v1.24.0
2019-11-17T08:06:08.771553_#1: gopls stderr: go: downloading github.com/kelseyhightower/envconfig v1.3.0
2019-11-17T08:06:08.771568_#1: gopls stderr: go: downloading github.com/sirupsen/logrus v1.2.0
2019-11-17T08:06:08.771579_#1: gopls stderr: go: downloading github.com/prometheus/client_golang v1.0.0
2019-11-17T08:06:08.771590_#1: gopls stderr: go: downloading gitlab.com/gitlab-org/labkit v0.0.0-20190221122536-0c3fc7cdd57c
2019-11-17T08:06:08.771607_#1: gopls stderr: go: downloading github.com/grpc-ecosystem/go-grpc-middleware v1.0.0
2019-11-17T08:06:08.771622_#1: gopls stderr: go: downloading github.com/google/uuid v1.1.1
2019-11-17T08:06:08.771633_#1: gopls stderr: go: downloading github.com/golang/protobuf v1.3.2
2019-11-17T08:06:08.771644_#1: gopls stderr: go: downloading golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a
2019-11-17T08:06:08.771655_#1: gopls stderr: go: extracting github.com/google/uuid v1.1.1
2019-11-17T08:06:08.771664_#1: gopls stderr: go: extracting github.com/sirupsen/logrus v1.2.0
2019-11-17T08:06:08.771675_#1: gopls stderr: go: extracting github.com/grpc-ecosystem/go-grpc-middleware v1.0.0
2019-11-17T08:06:08.771695_#1: gopls stderr: go: extracting github.com/golang/protobuf v1.3.2
2019-11-17T08:06:08.771711_#1: gopls stderr: go: extracting google.golang.org/grpc v1.24.0
2019-11-17T08:06:08.771728_#1: gopls stderr: go: downloading golang.org/x/net v0.0.0-20190613194153-d28f0bde5980
2019-11-17T08:06:08.771744_#1: gopls stderr: go: extracting golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a
2019-11-17T08:06:08.771761_#1: gopls stderr: go: extracting github.com/kelseyhightower/envconfig v1.3.0
2019-11-17T08:06:08.771771_#1: gopls stderr: go: extracting gitlab.com/gitlab-org/labkit v0.0.0-20190221122536-0c3fc7cdd57c
2019-11-17T08:06:08.771781_#1: gopls stderr: go: downloading github.com/getsentry/sentry-go v0.3.0
2019-11-17T08:06:08.771775_#1: gopls client start =======================
2019-11-17T08:06:08.771775_#1: LogMessage callback: &protocol.LogMessageParams{Type:3, Message:"2019/11/17 08:06:08 go/packages.Load\n\tpackages = 0"}
2019-11-17T08:06:08.771775_#1: gopls client end =======================
2019-11-17T08:06:08.771792_#1: gopls stderr: go: extracting github.com/prometheus/client_golang v1.0.0
2019-11-17T08:06:08.771846_#1: gopls stderr: go: downloading golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4
2019-11-17T08:06:08.771872_#1: gopls stderr: go: downloading github.com/stretchr/testify v1.4.0
2019-11-17T08:06:08.771889_#1: gopls stderr: go: downloading google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898
2019-11-17T08:06:08.771899_#1: gopls stderr: go: downloading github.com/prometheus/common v0.4.1
2019-11-17T08:06:08.771930_#1: gopls stderr: go: downloading github.com/opentracing/opentracing-go v1.0.2
2019-11-17T08:06:08.771938_#1: gopls stderr: go: extracting github.com/getsentry/sentry-go v0.3.0
2019-11-17T08:06:08.771945_#1: gopls stderr: go: extracting golang.org/x/net v0.0.0-20190613194153-d28f0bde5980
2019-11-17T08:06:08.771951_#1: gopls stderr: go: downloading github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90
2019-11-17T08:06:08.771959_#1: gopls stderr: go: extracting github.com/stretchr/testify v1.4.0
2019-11-17T08:06:08.771965_#1: gopls stderr: go: downloading github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
2019-11-17T08:06:08.771971_#1: gopls stderr: go: downloading github.com/cloudflare/tableflip v0.0.0-20190329062924-8392f1641731
2019-11-17T08:06:08.771978_#1: gopls stderr: go: extracting github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90
2019-11-17T08:06:08.771985_#1: gopls stderr: go: extracting github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
2019-11-17T08:06:08.771991_#1: gopls stderr: go: extracting github.com/prometheus/common v0.4.1
2019-11-17T08:06:08.771997_#1: gopls stderr: go: extracting golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4
2019-11-17T08:06:08.772003_#1: gopls stderr: go: extracting github.com/opentracing/opentracing-go v1.0.2
2019-11-17T08:06:08.772009_#1: gopls stderr: go: downloading github.com/libgit2/git2go v0.0.0-20190104134018-ecaeb7a21d47
2019-11-17T08:06:08.772016_#1: gopls stderr: go: downloading github.com/beorn7/perks v1.0.0
2019-11-17T08:06:08.772023_#1: gopls stderr: go: downloading github.com/prometheus/procfs v0.0.2
2019-11-17T08:06:08.772030_#1: gopls stderr: go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.1
2019-11-17T08:06:08.772041_#1: gopls stderr: go: extracting github.com/beorn7/perks v1.0.0
2019-11-17T08:06:08.772066_#1: gopls stderr: go: extracting github.com/matttproud/golang_protobuf_extensions v1.0.1
2019-11-17T08:06:08.772018_#1: gopls client start =======================
2019-11-17T08:06:08.772018_#1: LogMessage callback: &protocol.LogMessageParams{Type:1, Message:"2019/11/17 08:06:08 : Error loading packages: go [list -e -json -compiled=true -test=true -export=false -deps=true -find=false -- ./...]: exit status 2: go: downloading google.golang.org/grpc v1.24.0\ngo: downloading github.com/kelseyhightower/envconfig v1.3.0\ngo: downloading github.com/sirupsen/logrus v1.2.0\ngo: downloading github.com/prometheus/client_golang v1.0.0\ngo: downloading gitlab.com/gitlab-org/labkit v0.0.0-20190221122536-0c3fc7cdd57c\ngo: downloading github.com/grpc-ecosystem/go-grpc-middleware v1.0.0\ngo: downloading github.com/google/uuid v1.1.1\ngo: downloading github.com/golang/protobuf v1.3.2\ngo: downloading golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a\ngo: extracting github.com/google/uuid v1.1.1\ngo: extracting github.com/sirupsen/logrus v1.2.0\ngo: extracting github.com/grpc-ecosystem/go-grpc-middleware v1.0.0\ngo: extracting github.com/golang/protobuf v1.3.2\ngo: extracting google.golang.org/grpc v1.24.0\ngo: downloading golang.org/x/net v0.0.0-20190613194153-d28f0bde5980\ngo: extracting golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a\ngo: extracting github.com/kelseyhightower/envconfig v1.3.0\ngo: extracting gitlab.com/gitlab-org/labkit v0.0.0-20190221122536-0c3fc7cdd57c\ngo: downloading github.com/getsentry/sentry-go v0.3.0\ngo: extracting github.com/prometheus/client_golang v1.0.0\ngo: downloading golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4\ngo: downloading github.com/stretchr/testify v1.4.0\ngo: downloading google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898\ngo: downloading github.com/prometheus/common v0.4.1\ngo: downloading github.com/opentracing/opentracing-go v1.0.2\ngo: extracting github.com/getsentry/sentry-go v0.3.0\ngo: extracting golang.org/x/net v0.0.0-20190613194153-d28f0bde5980\ngo: downloading github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90\ngo: extracting github.com/stretchr/testify v1.4.0\ngo: downloading github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0\ngo: downloading github.com/cloudflare/tableflip v0.0.0-20190329062924-8392f1641731\ngo: extracting github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90\ngo: extracting github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0\ngo: extracting github.com/prometheus/common v0.4.1\ngo: extracting golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4\ngo: extracting github.com/opentracing/opentracing-go v1.0.2\ngo: downloading github.com/libgit2/git2go v0.0.0-20190104134018-ecaeb7a21d47\ngo: downloading github.com/beorn7/perks v1.0.0\ngo: downloading github.com/prometheus/procfs v0.0.2\ngo: downloading github.com/matttproud/golang_protobuf_extensions v1.0.1\ngo: extracting github.com/beorn7/perks v1.0.0\ngo: extracting github.com/matttproud/golang_protobuf_extensions v1.0.1\ngo: extracting github.com/cloudflare/tableflip v0.0.0-20190329062924-8392f1641731\ngo: downloading golang.org/x/text v0.3.0\ngo: downloading github.com/pkg/errors v0.8.1\ngo: extracting github.com/libgit2/git2go v0.0.0-20190104134018-ecaeb7a21d47\ngo: extracting github.com/pkg/errors v0.8.1\ngo: extracting github.com/prometheus/procfs v0.0.2\ngo: extracting google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898\ngo: extracting golang.org/x/text v0.3.0\n# pkg-config --cflags  -- libgit2\npkg-config: exec: \"pkg-config\": executable file not found in $PATH\n"}
2019-11-17T08:06:08.772018_#1: gopls client end =======================
2019-11-17T08:06:08.772081_#1: gopls stderr: go: extracting github.com/cloudflare/tableflip v0.0.0-20190329062924-8392f1641731
2019-11-17T08:06:08.772129_#1: gopls stderr: go: downloading golang.org/x/text v0.3.0
2019-11-17T08:06:08.772138_#1: gopls stderr: go: downloading github.com/pkg/errors v0.8.1
2019-11-17T08:06:08.772145_#1: gopls stderr: go: extracting github.com/libgit2/git2go v0.0.0-20190104134018-ecaeb7a21d47
2019-11-17T08:06:08.772152_#1: gopls stderr: go: extracting github.com/pkg/errors v0.8.1
2019-11-17T08:06:08.772159_#1: gopls stderr: go: extracting github.com/prometheus/procfs v0.0.2
2019-11-17T08:06:08.772166_#1: gopls stderr: go: extracting google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898
2019-11-17T08:06:08.772172_#1: gopls stderr: go: extracting golang.org/x/text v0.3.0
2019-11-17T08:06:08.772181_#1: gopls stderr: # pkg-config --cflags  -- libgit2
2019-11-17T08:06:08.772188_#1: gopls stderr: pkg-config: exec: "pkg-config": executable file not found in $PATH
2019-11-17T08:06:08.772195_#1: gopls stderr: 
2019-11-17T08:06:08.775239_#1: gopls stderr: panic: runtime error: index out of range [0] with length 0
2019-11-17T08:06:08.775269_#1: gopls stderr: 
2019-11-17T08:06:08.775278_#1: gopls stderr: goroutine 5 [running]:
2019-11-17T08:06:08.775293_#1: gopls stderr: golang.org/x/tools/internal/lsp/cache.(*session).bestView(0xc0002506e0, 0xc000438000, 0x56, 0x0, 0x0)
2019-11-17T08:06:08.775312_#1: gopls stderr: 	/Users/paulokstad/go/pkg/mod/golang.org/x/tools@v0.0.0-20191112184959-323f198cedfe/internal/lsp/cache/session.go:227 +0x18f
2019-11-17T08:06:08.775327_#1: gopls stderr: golang.org/x/tools/internal/lsp/cache.(*session).DidOpen(0xc0002506e0, 0x19afee0, 0xc000320270, 0xc000438000, 0x56, 0x0, 0xc0001b5200, 0x887, 0x900, 0x171fc80, ...)
2019-11-17T08:06:08.775336_#1: gopls stderr: 	/Users/paulokstad/go/pkg/mod/golang.org/x/tools@v0.0.0-20191112184959-323f198cedfe/internal/lsp/cache/session.go:295 +0x2b8
2019-11-17T08:06:08.775345_#1: gopls stderr: golang.org/x/tools/internal/lsp.(*Server).didOpen(0xc000284b40, 0x19afee0, 0xc000320270, 0xc0001be4c0, 0x0, 0xc00029a000)
2019-11-17T08:06:08.775353_#1: gopls stderr: 	/Users/paulokstad/go/pkg/mod/golang.org/x/tools@v0.0.0-20191112184959-323f198cedfe/internal/lsp/text_synchronization.go:29 +0x15e
2019-11-17T08:06:08.775359_#1: gopls stderr: golang.org/x/tools/internal/lsp.(*Server).DidOpen(0xc000284b40, 0x19afee0, 0xc000320270, 0xc0001be4c0, 0xc0001be4c0, 0x0)
2019-11-17T08:06:08.775367_#1: gopls stderr: 	/Users/paulokstad/go/pkg/mod/golang.org/x/tools@v0.0.0-20191112184959-323f198cedfe/internal/lsp/server.go:135 +0x49
2019-11-17T08:06:08.775402_#1: gopls stderr: golang.org/x/tools/internal/lsp/protocol.serverHandler.Deliver(0x19c93c0, 0xc000284b40, 0x19afee0, 0xc000320270, 0xc000032400, 0xc000320200, 0xc000322140)
2019-11-17T08:06:08.775413_#1: gopls stderr: 	/Users/paulokstad/go/pkg/mod/golang.org/x/tools@v0.0.0-20191112184959-323f198cedfe/internal/lsp/protocol/tsserver.go:111 +0x1b66
2019-11-17T08:06:08.775435_#1: gopls stderr: golang.org/x/tools/internal/jsonrpc2.(*Conn).Run.func1(0xc0001a42a0, 0xc000032400, 0xc000284ba0, 0x19afee0, 0xc000320270, 0x0, 0x0, 0xc000078120)
2019-11-17T08:06:08.775454_#1: gopls stderr: 	/Users/paulokstad/go/pkg/mod/golang.org/x/tools@v0.0.0-20191112184959-323f198cedfe/internal/jsonrpc2/jsonrpc2.go:370 +0x170
2019-11-17T08:06:08.775461_#1: gopls stderr: created by golang.org/x/tools/internal/jsonrpc2.(*Conn).Run
2019-11-17T08:06:08.775469_#1: gopls stderr: 	/Users/paulokstad/go/pkg/mod/golang.org/x/tools@v0.0.0-20191112184959-323f198cedfe/internal/jsonrpc2/jsonrpc2.go:354 +0x877
2019-11-17T08:06:24.305977_#1: vim start =======================
2019-11-17T08:06:24.305977_#1: recvJSONMsg: [42] ["function","function:GOVIM_internal_SetUserBusy",[1]]
2019-11-17T08:06:24.305977_#1: vim end =======================
2019-11-17T08:06:24.306072_#1: run: waiting to read a JSON message
2019-11-17T08:06:57.675043_#1: vim start =======================
2019-11-17T08:06:57.675043_#1: recvJSONMsg: [43] ["function","function:GOVIM_internal_BalloonExpr",[]]
2019-11-17T08:06:57.675043_#1: vim end =======================
2019-11-17T08:06:57.675151_#1: run: waiting to read a JSON message
2019-11-17T08:07:27.932518_#1: vim start =======================
2019-11-17T08:07:27.932518_#1: recvJSONMsg: [44] ["function","function:GOVIM_internal_BalloonExpr",[]]
2019-11-17T08:07:27.932518_#1: vim end =======================
2019-11-17T08:07:27.932619_#1: run: waiting to read a JSON message
2019-11-17T08:08:03.457385_#1: vim start =======================
2019-11-17T08:08:03.457385_#1: recvJSONMsg: [45] ["function","function:GOVIM_internal_SetUserBusy",[0]]
2019-11-17T08:08:03.457385_#1: vim end =======================
2019-11-17T08:08:03.457927_#1: run: waiting to read a JSON message
2019-11-17T08:08:33.462410_#1: vim start =======================
2019-11-17T08:08:33.462410_#1: recvJSONMsg: [46] ["function","function:GOVIM_internal_SetUserBusy",[1]]
2019-11-17T08:08:33.462410_#1: vim end =======================
2019-11-17T08:08:33.462501_#1: run: waiting to read a JSON message
2019-11-17T08:09:03.732032_#1: vim start =======================
2019-11-17T08:09:03.732032_#1: recvJSONMsg: [47] ["function","function:GOVIM_internal_BalloonExpr",[]]
2019-11-17T08:09:03.732032_#1: vim end =======================
2019-11-17T08:09:03.732109_#1: run: waiting to read a JSON message
2019-11-17T08:09:33.992416_#1: vim start =======================
2019-11-17T08:09:33.992416_#1: recvJSONMsg: [48] ["function","function:GOVIM_internal_SetUserBusy",[0]]
2019-11-17T08:09:33.992416_#1: vim end =======================
2019-11-17T08:09:33.992501_#1: run: waiting to read a JSON message
2019-11-17T08:33:29.682932_#1: vim start =======================
2019-11-17T08:33:29.682932_#1: recvJSONMsg: [49] ["function","function:GOVIM_internal_SetUserBusy",[1]]
2019-11-17T08:33:29.682932_#1: vim end =======================
2019-11-17T08:33:29.683060_#1: run: waiting to read a JSON message
2019-11-17T08:34:00.191628_#1: vim start =======================
2019-11-17T08:34:00.191628_#1: recvJSONMsg: [50] ["function","function:GOVIM_internal_SetUserBusy",[0]]
2019-11-17T08:34:00.191628_#1: vim end =======================
2019-11-17T08:34:00.191755_#1: run: waiting to read a JSON message
2019-11-17T08:36:37.589383_#1: vim start =======================
2019-11-17T08:36:37.589383_#1: recvJSONMsg: [51] ["function","function:GOVIM_internal_SetUserBusy",[1]]
2019-11-17T08:36:37.589383_#1: vim end =======================
2019-11-17T08:36:37.589453_#1: run: waiting to read a JSON message
2019-11-17T08:37:07.595628_#1: vim start =======================
2019-11-17T08:37:07.595628_#1: recvJSONMsg: [52] ["function","function:GOVIM_internal_BufChanged",[1,61,62,0,[{"lnum":61,"col":17,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":18,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":19,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":20,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":21,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":22,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":23,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":24,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":25,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":26,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":27,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":28,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":29,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":30,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":31,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":32,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":33,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]},{"lnum":61,"col":34,"added":0,"end":62,"lines":["\treturn instrume:GOVIMLogfilePathsntedReadCloser{respF}, nil"]}]]]
2019-11-17T08:37:07.595628_#1: vim end =======================
2019-11-17T08:37:07.596087_#1: run: waiting to read a JSON message
2019-11-17T08:41:01.443238_#1: vim start =======================
2019-11-17T08:41:01.443238_#1: recvJSONMsg: [53] ["function","function:GOVIM_internal_SetUserBusy",[0]]
2019-11-17T08:41:01.443238_#1: vim end =======================
2019-11-17T08:41:01.443359_#1: run: waiting to read a JSON message
gopls logfile
[Trace - 08:05:51.920 AM] Sending request 'initialize - (1)'.
Params: {"processId":0,"rootUri":"file:///Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly","capabilities":{"workspace":{"workspaceEdit":{},"didChangeConfiguration":{"dynamicRegistration":true},"didChangeWatchedFiles":{},"symbol":{},"executeCommand":{},"configuration":true},"textDocument":{"hover":{"contentFormat":["plaintext"]}}},"initializationOptions":{"incrementalSync":true,"noDocsOnHover":true},"workspaceFolders":null}

[Trace - 08:05:51.921 AM] Received response ‘initialize - (1)’ in 1ms. Result: {“capabilities”:{“textDocumentSync”:{“openClose”:true,“change”:2,“save”:{}},“completionProvider”:{“triggerCharacters”:[“.”]},“hoverProvider”:true,“signatureHelpProvider”:{“triggerCharacters”:[“(”,“,”]},“definitionProvider”:true,“typeDefinitionProvider”:true,“implementationProvider”:true,“referencesProvider”:true,“documentHighlightProvider”:true,“documentSymbolProvider”:true,“codeActionProvider”:true,“documentLinkProvider”:{},“documentFormattingProvider”:true,“renameProvider”:true,“foldingRangeProvider”:true,“executeCommandProvider”:{“commands”:[“tidy”]},“workspace”:{“workspaceFolders”:{“supported”:true,“changeNotifications”:“workspace/didChangeWorkspaceFolders”}}},“custom”:null}

[Trace - 08:05:51.922 AM] Sending notification ‘initialized’. Params: {}

[Trace - 08:05:51.922 AM] Received request ‘client/registerCapability - (1)’. Params: {“registrations”:[{“id”:“workspace/didChangeConfiguration”,“method”:“workspace/didChangeConfiguration”},{“id”:“workspace/didChangeWorkspaceFolders”,“method”:“workspace/didChangeWorkspaceFolders”}]}

[Trace - 08:05:51.923 AM] Sending response ‘client/registerCapability - (1)’ took 0ms. Result: {}

[Trace - 08:05:51.946 AM] Sending notification ‘textDocument/didOpen’. Params: {“textDocument”:{“uri”:“file:///Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly/internal/cache/cachedb.go”,“languageId”:“go”,“version”:0,“text”:“package cache\n\nimport (\n\t"context"\n\t"errors"\n\t"io"\n\t"os"\n\t"path/filepath"\n\n\t"github.com/golang/protobuf/proto"\n\t"gitlab.com/gitlab-org/gitaly/internal/safe"\n\t"gitlab.com/gitlab-org/gitaly/proto/go/gitalypb"\n)\n\n// StreamDB stores and retrieves byte streams for repository related RPCs\ntype StreamDB struct {\n\tck Keyer\n}\n\n// NewStreamDB will open the stream database at the specified file path.\nfunc NewStreamDB(ck Keyer) *StreamDB {\n\treturn \u0026StreamDB{\n\t\tck: ck,\n\t}\n}\n\n// ErrReqNotFound indicates the request does not exist within the repo digest\nvar ErrReqNotFound = errors.New("request digest not found within repo namespace")\n\n// GetStream will fetch the cached stream for a request. It is the\n// responsibility of the caller to close the stream when done.\nfunc (sdb *StreamDB) GetStream(ctx context.Context, repo *gitalypb.Repository, req proto.Message) (_ io.ReadCloser, err error) {\n\tdefer func() {\n\t\tif err != nil {\n\t\t\tcountMiss()\n\t\t}\n\t}()\n\n\tcountRequest()\n\n\trespPath, err := sdb.ck.KeyPath(ctx, repo, req)\n\tswitch {\n\tcase os.IsNotExist(err):\n\t\treturn nil, ErrReqNotFound\n\tcase err == nil:\n\t\tbreak\n\tdefault:\n\t\treturn nil, err\n\t}\n\n\trespF, err := os.Open(respPath)\n\tswitch {\n\tcase os.IsNotExist(err):\n\t\treturn nil, ErrReqNotFound\n\tcase err == nil:\n\t\tbreak\n\tdefault:\n\t\treturn nil, err\n\t}\n\n\treturn instrumentedReadCloser{respF}, nil\n}\n\ntype instrumentedReadCloser struct {\n\tio.ReadCloser\n}\n\nfunc (irc instrumentedReadCloser) Read(p []byte) (n int, err error) {\n\tn, err = irc.ReadCloser.Read(p)\n\tcountReadBytes(float64(n))\n\treturn\n}\n\n// PutStream will store a stream in a repo-namespace keyed by the digest of the\n// request protobuf message.\nfunc (sdb *StreamDB) PutStream(ctx context.Context, repo *gitalypb.Repository, req proto.Message, src io.Reader) error {\n\treqPath, err := sdb.ck.KeyPath(ctx, repo, req)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif err := os.MkdirAll(filepath.Dir(reqPath), 0755); err != nil {\n\t\treturn err\n\t}\n\n\tsf, err := safe.CreateFileWriter(reqPath)\n\tif err != nil {\n\t\treturn err\n\t}\n\tdefer sf.Close()\n\n\tn, err := io.Copy(sf, src)\n\tif err != nil {\n\t\treturn err\n\t}\n\tcountWriteBytes(float64(n))\n\n\tif err := sf.Commit(); err != nil {\n\t\treturn err\n\t}\n\n\treturn nil\n}\n”}}

[Trace - 08:05:52.073 AM] Received request ‘workspace/configuration - (2)’. Params: {“items”:[{“scopeUri”:“file:///Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly”,“section”:“gopls”},{“scopeUri”:“file:///Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly”,“section”:“gopls-gitaly”}]}

[Trace - 08:05:52.073 AM] Received notification ‘window/logMessage’. Params: {“type”:3,“message”:“2019/11/17 08:05:52 Build info\n----------\ngolang.org/x/tools/gopls master\n golang.org/x/tools/gopls@v0.1.8-0.20191112184959-323f198cedfe h1:hRX0cbiYzfPDzT+DnKGPSM7AuO+tHNUCJPvSPg2col8=\n github.com/BurntSushi/toml@v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=\n github.com/sergi/go-diff@v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ=\n golang.org/x/sync@v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=\n golang.org/x/tools@v0.0.0-20191112184959-323f198cedfe h1:xu3dIRFsOjkIxzH/8YE/5wDilO84UN9RGk6/GvACJ+o=\n golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=\n honnef.co/go/tools@v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM=\n\nGo info\n-------\ngo version go1.13.1 darwin/amd64\n\nGO111MODULE=""\nGOARCH="amd64"\nGOBIN=""\nGOCACHE="/Users/paulokstad/Library/Caches/go-build"\nGOENV="/Users/paulokstad/Library/Application Support/go/env"\nGOEXE=""\nGOFLAGS=""\nGOHOSTARCH="amd64"\nGOHOSTOS="darwin"\nGONOPROXY=""\nGONOSUMDB=""\nGOOS="darwin"\nGOPATH="/Users/paulokstad/go"\nGOPRIVATE=""\nGOPROXY="https://proxy.golang.org,direct"\nGOROOT="/usr/local/go"\nGOSUMDB="sum.golang.org"\nGOTMPDIR=""\nGOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"\nGCCGO="gccgo"\nAR="ar"\nCC="clang"\nCXX="clang++"\nCGO_ENABLED="1"\nGOMOD="/Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly/go.mod"\nCGO_CFLAGS="-g -O2"\nCGO_CPPFLAGS=""\nCGO_CXXFLAGS="-g -O2"\nCGO_FFLAGS="-g -O2"\nCGO_LDFLAGS="-g -O2"\nPKG_CONFIG="pkg-config"\nGOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/3r/472vjt017vzccf3wjz2q9dyc0000gn/T/go-build835475536=/tmp/go-build -gno-record-gcc-switches -fno-common"\n”}

[Trace - 08:05:52.073 AM] Sending response ‘workspace/configuration - (2)’ took 0ms. Result: [{“hoverKind”:“FullDocumentation”,“staticcheck”:false},null]

[Trace - 08:05:54.311 AM] Sending request ‘textDocument/hover - (2)’. Params: {“textDocument”:{“uri”:“file:///Users/paulokstad/go/src/gitlab.com/gitlab-org/gitaly/internal/cache/cachedb.go”},“position”:{“line”:20,“character”:10}}

[Trace - 08:06:08.771 AM] Received notification ‘window/logMessage’. Params: {“type”:3,“message”:“2019/11/17 08:06:08 go/packages.Load\n\tpackages = 0”}

[Trace - 08:06:08.771 AM] Received notification ‘window/logMessage’. Params: {“type”:1,“message”:“2019/11/17 08:06:08 : Error loading packages: go [list -e -json -compiled=true -test=true -export=false -deps=true -find=false – ./…]: exit status 2: go: downloading google.golang.org/grpc v1.24.0\ngo: downloading github.com/kelseyhightower/envconfig v1.3.0\ngo: downloading github.com/sirupsen/logrus v1.2.0\ngo: downloading github.com/prometheus/client_golang v1.0.0\ngo: downloading gitlab.com/gitlab-org/labkit v0.0.0-20190221122536-0c3fc7cdd57c\ngo: downloading github.com/grpc-ecosystem/go-grpc-middleware v1.0.0\ngo: downloading github.com/google/uuid v1.1.1\ngo: downloading github.com/golang/protobuf v1.3.2\ngo: downloading golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a\ngo: extracting github.com/google/uuid v1.1.1\ngo: extracting github.com/sirupsen/logrus v1.2.0\ngo: extracting github.com/grpc-ecosystem/go-grpc-middleware v1.0.0\ngo: extracting github.com/golang/protobuf v1.3.2\ngo: extracting google.golang.org/grpc v1.24.0\ngo: downloading golang.org/x/net v0.0.0-20190613194153-d28f0bde5980\ngo: extracting golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a\ngo: extracting github.com/kelseyhightower/envconfig v1.3.0\ngo: extracting gitlab.com/gitlab-org/labkit v0.0.0-20190221122536-0c3fc7cdd57c\ngo: downloading github.com/getsentry/sentry-go v0.3.0\ngo: extracting github.com/prometheus/client_golang v1.0.0\ngo: downloading golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4\ngo: downloading github.com/stretchr/testify v1.4.0\ngo: downloading google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898\ngo: downloading github.com/prometheus/common v0.4.1\ngo: downloading github.com/opentracing/opentracing-go v1.0.2\ngo: extracting github.com/getsentry/sentry-go v0.3.0\ngo: extracting golang.org/x/net v0.0.0-20190613194153-d28f0bde5980\ngo: downloading github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90\ngo: extracting github.com/stretchr/testify v1.4.0\ngo: downloading github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0\ngo: downloading github.com/cloudflare/tableflip v0.0.0-20190329062924-8392f1641731\ngo: extracting github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90\ngo: extracting github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0\ngo: extracting github.com/prometheus/common v0.4.1\ngo: extracting golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4\ngo: extracting github.com/opentracing/opentracing-go v1.0.2\ngo: downloading github.com/libgit2/git2go v0.0.0-20190104134018-ecaeb7a21d47\ngo: downloading github.com/beorn7/perks v1.0.0\ngo: downloading github.com/prometheus/procfs v0.0.2\ngo: downloading github.com/matttproud/golang_protobuf_extensions v1.0.1\ngo: extracting github.com/beorn7/perks v1.0.0\ngo: extracting github.com/matttproud/golang_protobuf_extensions v1.0.1\ngo: extracting github.com/cloudflare/tableflip v0.0.0-20190329062924-8392f1641731\ngo: downloading golang.org/x/text v0.3.0\ngo: downloading github.com/pkg/errors v0.8.1\ngo: extracting github.com/libgit2/git2go v0.0.0-20190104134018-ecaeb7a21d47\ngo: extracting github.com/pkg/errors v0.8.1\ngo: extracting github.com/prometheus/procfs v0.0.2\ngo: extracting google.golang.org/genproto v0.0.0-20181202183823-bd91e49a0898\ngo: extracting golang.org/x/text v0.3.0\n# pkg-config --cflags – libgit2\npkg-config: exec: "pkg-config": executable file not found in $PATH\n”}

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):

commit e8054412bdbc5c2fd232a56fdc79ca4fc6082312 (HEAD -> master, tag: v0.0.24, origin/master, origin/HEAD)

VIM version (vim --version):

VIM - Vi IMproved 8.1 (2018 May 18, compiled Sep 10 2019 18:48:11)
Included patches: 1-1999
Compiled by Homebrew
Huge version without 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        +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    
   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: "/home/linuxbrew/.linuxbrew/share/vim"
Compilation: gcc-5 -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1       
Linking: gcc-5   -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -L/home/linuxbrew/.linuxbrew/opt/libyaml/lib  -Wl,-rpath,/home/linuxbrew/.linuxbrew/opt/libyaml/lib -L/home/linuxbrew/.linuxbrew/opt/openssl@1.1/lib  -Wl,-rpath,/home/linuxbrew/.linuxbrew/opt/openssl@1.1/lib -L/home/linuxbrew/.linuxbrew/opt/readline/lib  -Wl,-rpath,/home/linuxbrew/.linuxbrew/opt/readline/lib -Wl,-E -Wl,-rpath,/home/linuxbrew/.linuxbrew/Cellar/perl/5.30.0/lib/perl5/5.30.0/x86_64-linux-thread-multi/CORE   -L/usr/local/lib -Wl,--as-needed -o vim        -lm -lnsl   -lncurses -ldl   -Wl,-E -Wl,-rpath,/home/linuxbrew/.linuxbrew/Cellar/perl/5.30.0/lib/perl5/5.30.0/x86_64-linux-thread-multi/CORE  -fstack-protector-strong -L/usr/local/lib  -L/home/linuxbrew/.linuxbrew/Cellar/perl/5.30.0/lib/perl5/5.30.0/x86_64-linux-thread-multi/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc  -L/home/linuxbrew/.linuxbrew/Cellar/python/3.7.4/lib/python3.7/config-3.7m-x86_64-linux-gnu -lpython3.7m -lcrypt -lpthread -ldl -lutil -lm  -Wl,-rpath,/home/linuxbrew/.linuxbrew/Cellar/ruby/2.6.4_2/lib -L/home/linuxbrew/.linuxbrew/Cellar/ruby/2.6.4_2/lib -lruby -lm     

Go version (go version):

go version go1.13 linux/amd64

Go environment (go env):

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/kwilczynski/.cache/go-build"
GOENV="/home/kwilczynski/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/kwilczynski/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/linuxbrew/.linuxbrew/Cellar/go/1.13/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/linuxbrew/.linuxbrew/Cellar/go/1.13/libexec/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc-8"
CXX="g++-8"
CGO_ENABLED="1"
GOMOD=""
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=/tmp/go-build072583910=/tmp/go-build -gno-record-gcc-switches"

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:

Ah, I see.

If you’re able to remember what you were doing at the time of the slowness that will help. Saving a file might well be one trigger… because in certain situations gopls can be very slow (see https://github.com/golang/go/issues/32750)

– You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/govim/govim/issues/471#issuecomment-530824682

– 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.