govim / govim

govim is a Go development plugin for Vim8, written in Go
BSD 3-Clause "New" or "Revised" License
869 stars 62 forks source link

cmd/govim: got error whilst handling GOVIM_internal_BalloonExp #862

Closed jbpratt closed 4 years ago

jbpratt commented 4 years ago

What version of Vim/Gvim are you using?

Vim/Gvim version
~ vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Apr  4 2020 13:23:00)
Included patches: 1-510
Compiled by Arch Linux
Huge version without GUI.  Features included (+) or not (-):
+acl               -farsi             -mouse_sysmouse    -tag_old_static
+arabic            +file_in_path      +mouse_urxvt       -tag_any_white
+autocmd           +find_in_path      +mouse_xterm       +tcl/dyn
+autochdir         +float             +multi_byte        +termguicolors
-autoservername    +folding           +multi_lang        +terminal
-balloon_eval      -footer            -mzscheme          +terminfo
+balloon_eval_term +fork()            +netbeans_intg     +termresponse
-browse            +gettext           +num64             +textobjects
++builtin_terms    -hangul_input      +packages          +textprop
+byte_offset       +iconv             +path_extra        +timers
+channel           +insert_expand     +perl/dyn          +title
+cindent           +job               +persistent_undo   -toolbar
-clientserver      +jumplist          +popupwin          +user_commands
-clipboard         +keymap            +postscript        +vartabs
+cmdline_compl     +lambda            +printer           +vertsplit
+cmdline_hist      +langmap           +profile           +virtualedit
+cmdline_info      +libcall           +python/dyn        +visual
+comments          +linebreak         +python3/dyn       +visualextra
+conceal           +lispindent        +quickfix          +viminfo
+cryptv            +listcmds          +reltime           +vreplace
+cscope            +localmap          +rightleft         +wildignore
+cursorbind        +lua/dyn           +ruby/dyn          +wildmenu
+cursorshape       +menu              +scrollbind        +windows
+dialog_con        +mksession         +signs             +writebackup
+diff              +modify_fname      +smartindent       -X11
+digraphs          +mouse             -sound             -xfontset
-dnd               -mouseshape        +spell             -xim
-ebcdic            +mouse_dec         +startuptime       -xpm
+emacs_tags        +mouse_gpm         +statusline        -xsmp
+eval              -mouse_jsbterm     -sun_workshop      -xterm_clipboard
+ex_extra          +mouse_netterm     +syntax            -xterm_save
+extra_search      +mouse_sgr         +tag_binary
   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L. -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.30/core_perl/CORE  -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -L/usr/local/lib -Wl,--as-needed -o vim        -lm -ltinfo -lelf -lnsl    -lacl -lattr -lgpm -ldl   -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.30/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/perl5/5.30/core_perl/CORE -lperl -lpthread -ldl -lm -lcrypt -lutil -lc   -L/usr/lib -ltclstub8.6 -ldl -lz -lpthread -lm

What version of Go are you using (go version)?

~ go version
go version go1.14.2 linux/amd64

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
~ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/jbpratt/.cache/go-build"
GOENV="/home/jbpratt/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/jbpratt/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
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=/tmp/go-build676047851=/tmp/go-build -gno-record-gcc-switches"

What version/commit of govim are you using?

1689c938e514b475d63caca67f6946aea40439a9

What is the output of :messages in Vim?

"cmd/main.go" 152L, 3436C
Vim channel logfile: /tmp/vim_channel_20200414_1601_48_N4V8igPBi0mx.log
govim logfile: /tmp/govim_20200414_1601_48_274499822.log
gopls logfile: /tmp/gopls_20200414_1601_48_532802933.log
Error detected while processing function GOVIM_internal_BalloonExpr[3]..<SNR>48_callbackFunction[2]..<SNR>48_ch_evalexpr:
line   11:
E605: Exception not caught: got error whilst handling GOVIM_internal_BalloonExpr: caught panic: interface conversion: interface {} is float64,
 not json.RawMessage^@goroutine 151 [running]:^@github.com/govim/govim.(*govimImpl).run.func8.1.1(0xc00056fe88, 0xc00013a0e0)^@^I/home/jbpratt
/.vim/plugged/govim/govim.go:535 +0x183^@panic(0x56261ef0e020, 0xc0001998c0)^@^I/usr/lib/go/src/runtime/panic.go:969 +0x16a^@github.com/govim/
govim/internal/plugin.Driver.do.func1(0xc00056fcf8)^@^I/home/jbpratt/.vim/plugged/govim/internal/plugin/plugin.go:53 +0xd6^@panic(0x56261ef0e0
20, 0xc0001998c0)^@^I/usr/lib/go/src/runtime/panic.go:969 +0x16a^@main.rawToInt(0x56261eef74c0, 0xc000210368, 0x56261ee853e9, 0x4, 0xc0001b879
8)^@^I/home/jbpratt/.vim/plugged/govim/cmd/govim/hover.go:157 +0x1f4^@main.(*vimstate).showHover(0xc00012e000, 0x56261ee95500, 0x85, 0xc000199
890, 0xc0002440a0, 0x0, 0x0, 0x0, 0x0)^@^I/home/jbpratt/.vim/plugged/govim/cmd/govim/hover.go:129 +0x8cf^@main.(*vimstate).balloonExpr(0xc0001
2e000, 0x56261f0e7fc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x
E605: Exception not caught: got error whilst handling GOVIM_internal_BalloonExpr: caught panic: interface conversion: interface {} is float64,
 not json.RawMessage^@goroutine 180 [running]:^@github.com/govim/govim.(*govimImpl).run.func8.1.1(0xc00056be88, 0xc00013a0e0)^@^I/home/jbpratt
/.vim/plugged/govim/govim.go:535 +0x183^@panic(0x56261ef0e020, 0xc0000ae6f0)^@^I/usr/lib/go/src/runtime/panic.go:969 +0x16a^@github.com/govim/
govim/internal/plugin.Driver.do.func1(0xc00056bcf8)^@^I/home/jbpratt/.vim/plugged/govim/internal/plugin/plugin.go:53 +0xd6^@panic(0x56261ef0e0
20, 0xc0000ae6f0)^@^I/usr/lib/go/src/runtime/panic.go:969 +0x16a^@main.rawToInt(0x56261eef74c0, 0xc000210368, 0x56261ee853e9, 0x4, 0xc00036651
8)^@^I/home/jbpratt/.vim/plugged/govim/cmd/govim/hover.go:157 +0x1f4^@main.(*vimstate).showHover(0xc00012e000, 0x56261ee95500, 0x85, 0xc0000ae
6c0, 0xc0002440a0, 0x0, 0x0, 0x0, 0x0)^@^I/home/jbpratt/.vim/plugged/govim/cmd/govim/hover.go:129 +0x8cf^@main.(*vimstate).balloonExpr(0xc0001
2e000, 0x56261f0e7fc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x
E605: Exception not caught: got error whilst handling GOVIM_internal_BalloonExpr: caught panic: interface conversion: interface {} is float64,
 not json.RawMessage^@goroutine 218 [running]:^@github.com/govim/govim.(*govimImpl).run.func8.1.1(0xc0001e7e88, 0xc00013a0e0)^@^I/home/jbpratt
/.vim/plugged/govim/govim.go:535 +0x183^@panic(0x56261ef0e020, 0xc0004c4810)^@^I/usr/lib/go/src/runtime/panic.go:969 +0x16a^@github.com/govim/
govim/internal/plugin.Driver.do.func1(0xc0001e7cf8)^@^I/home/jbpratt/.vim/plugged/govim/internal/plugin/plugin.go:53 +0xd6^@panic(0x56261ef0e0
20, 0xc0004c4810)^@^I/usr/lib/go/src/runtime/panic.go:969 +0x16a^@main.rawToInt(0x56261eef74c0, 0xc000210368, 0x56261ee853e9, 0x4, 0xc00028aaf
8)^@^I/home/jbpratt/.vim/plugged/govim/cmd/govim/hover.go:157 +0x1f4^@main.(*vimstate).showHover(0xc00012e000, 0x56261ee95500, 0x85, 0xc0004c4
7e0, 0xc0002440a0, 0x1, 0x8, 0x0, 0x0)^@^I/home/jbpratt/.vim/plugged/govim/cmd/govim/hover.go:129 +0x8cf^@main.(*vimstate).balloonExpr(0xc0001
2e000, 0x56261f0e7fc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x
Press ENTER or type command to continue

Do the Vim channel, govim or gopls log files show anything interesting?

~/vim-project? tail -n 50 /tmp/vim_channel_20200414_1555_57_p9U1skdbnwjM.log
131.056450 on 1: Invoking channel callback 48_define
131.056656 SEND on 1(in): '[82,["callback",61,["",{"bufnum":1,"col":37,"line":54,"screenpos":{"col":42,"row":51,"endcol":42,"curscol":42}}]]]
'
131.056676 : looking for messages on channels
131.056679 on 1: Waiting for up to 30000 msec
131.058405 RECV on 1(out): '[81,["got error whilst handling GOVIM_internal_BalloonExpr: caught panic: interface conversion: interface {} is float64, not json.RawMessage\ngoroutine 141 [running]:\ngithub.com/govim/govim.(*govimImpl).run.func8.1.1(0xc0000fbe88, 0xc0000f00e0)\n\t/home/jbpratt/.vim/plugged/govim/govim.go:535 +0x183\npanic(0x56448f6bb020, 0xc0001984e0)\n\t/usr/lib/go/src/runtime/panic.go:969 +0x16a\ngithub.com/govim/govim/internal/plugin.Driver.do.func1(0xc0000fbcf8)\n\t/home/jbpratt/.vim/plugged/govim/internal/plugin/plugin.go:53 +0xd6\npanic(0x56448f6bb020, 0xc0001984e0)\n\t/usr/lib/go/src/runtime/panic.go:969 +0x16a\nmain.rawToInt(0x56448f6a44c0, 0xc00018fd38, 0x56448f6323e9, 0x4, 0xc000114528)\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/hover.go:157 +0x1f4\nmain.(*vimstate).showHover(0xc0000e4000, 0x56448f642500, 0x85, 0xc0001984b0, 0xc00019c0f8, 0x0, 0x0, 0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/hover.go:129 +0x8cf\nmain.(*vimstate).balloonExpr(0xc0000e4000, 0x56448f894fc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/hover.go:19 +0xbb\ngithub.com/govim/govim/internal/plugin.Driver.doFunction.func1.1(0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/internal/plugin/plugin.go:188 +0x52\ngithub.com/govim/govim/internal/plugin.Driver.do(0x56448f7128c0, 0xc0000f00e0, 0x56448f632550, 0x5, 0xc0004a5518, 0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/internal/plugin/plugin.go:57 +0x5d\ngithub.com/govim/govim/internal/plugin.Driver.doFunction.func1(0x56448f7128c0, 0xc0000f00e0, 0x56448f894fc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/internal/plugin/plugin.go:186 +0xba\ngithub.com/govim/govim.(*govimImpl).run.func5(0x0, 0x0, 0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/govim.go:504 +0x5a\ngithub.com/govim/govim.(*govimImpl).run.func8.1(0xc0000fbe88, 0xc0000f00e0, 0xc000627660, 0xc0000fbe78)\n\t/home/jbpratt/.vim/plugged/govim/govim.go:543 +0x64\ngithub.com/govim/govim.(*govimImpl).run.func8(0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/govim.go:544 +0xd3\ngithub.com/govim/govim.(*govimImpl).runEventQueue.func1(0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/govim.go:614 +0x28\ngithub.com/govim/govim.(*govimImpl).goHandleShutdown.func1(0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/govim.go:285 +0x62\ngopkg.in/tomb%2ev2.(*Tomb).run(0xc0000e20a8, 0xc000627680)\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:163 +0x3a\ncreated by gopkg.in/tomb%2ev2.(*Tomb).Go\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:159 +0xbc\n\ngoroutine 1 [chan receive, 2 minutes]:\ngopkg.in/tomb%2ev2.(*Tomb).Wait(0xc0000e20a8, 0xc0000be440, 0x56448f70c8e0)\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:126 +0x4c\nmain.launch(0x7fffacdfc1e6, 0x5e, 0x56448f70e080, 0xc0000cc000, 0x56448f70e0c0, 0xc0000cc008, 0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/main.go:107 +0x393\nmain.mainerr(0x2, 0xc0000b2810)\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/main.go:77 +0x3f0\nmain.main1(0xc0000a6058)\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/flag.go:37 +0x28\nmain.main()\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/flag.go:34 +0x24\n\ngoroutine 19 [syscall]:\nsyscall.Syscall(0x0, 0x0, 0xc0003fe001, 0x1dff, 0xc0000ce240, 0x800000, 0x7ffff800000)\n\t/usr/lib/go/src/syscall/asm_linux_amd64.s:18 +0x5\nsyscall.read(0x0, 0xc0003fe001, 0x1dff, 0x1dff, 0x0, 0x56448f471392, 0x0)\n\t/usr/lib/go/src/syscall/zsyscall_linux_amd64.go:686 +0x5c\nsyscall.Read(...)\n\t/usr/lib/go/src/syscall/syscall_unix.go:189\ninternal/poll.(*FD).Read(0xc0000ce000, 0xc0003fe001, 0x1dff, 0x1dff, 0x0, 0x0, 0x0)\n\t/usr/lib/go/src/internal/poll/fd_unix.go:165 +0x135\nos.(*File).read(...)\n\t/usr/lib/go/src/os/file_unix.go:263\nos.(*File).Read(0xc0000cc000, 0xc0003fe001, 0x1dff, 0x1dff, 0xc0000ed978, 0x56448f471392, 0xc0003c6090)\n\t/usr/lib/go/src/os/file.go:116 +0x73\nencoding/json.(*Decoder).refill(0xc0000e2160, 0xc0003c600a, 0x9)\n\t/usr/lib/go/src/encoding/json/stream.go:165 +0xed\nencoding/json.(*Decoder).re'
131.058418 RECV on 1(out): 'adValue(0xc0000e2160, 0x0, 0x0, 0x56448f6a94e0)\n\t/usr/lib/go/src/encoding/json/stream.go:140 +0x1ea\nencoding/json.(*Decoder).Decode(0xc0000e2160, 0x56448f695a00, 0xc0003c6090, 0xc0001a0030, 0x56448f6a5b40)\n\t/usr/lib/go/src/encoding/json/stream.go:63 +0x7b\ngithub.com/govim/govim.(*govimImpl).readJSONMsg(0xc0000f00e0, 0x56448f63cdb2, 0x24, 0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/govim.go:864 +0x70\ngithub.com/govim/govim.(*govimImpl).run(0xc0000f00e0, 0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/govim.go:432 +0x17a\ngithub.com/govim/govim.(*govimImpl).Run.func1(0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/govim.go:405 +0x2c\ngithub.com/govim/govim.(*govimImpl).DoProto(0xc0000f00e0, 0xc00005e738, 0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/channel_cmds.go:131 +0x6c\ngithub.com/govim/govim.(*govimImpl).Run(0xc0000f00e0, 0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/govim.go:404 +0x54\ngopkg.in/tomb%2ev2.(*Tomb).run(0xc0000e20a8, 0xc0000be440)\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:163 +0x3a\ncreated by gopkg.in/tomb%2ev2.(*Tomb).Go\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:159 +0xbc\n\ngoroutine 20 [select]:\ngithub.com/govim/govim.(*govimImpl).runEventQueue(0xc0000f00e0, 0xc0000f00e0, 0x56448f707590)\n\t/home/jbpratt/.vim/plugged/govim/govim.go:616 +0x23e\ngithub.com/govim/govim.(*govimImpl).goHandleShutdown.func1(0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/govim.go:285 +0x62\ngopkg.in/tomb%2ev2.(*Tomb).run(0xc0000e20a8, 0xc0000be460)\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:163 +0x3a\ncreated by gopkg.in/tomb%2ev2.(*Tomb).Go\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:159 +0xbc\n\ngoroutine 34 [chan receive, 2 minutes]:\ngithub.com/govim/govim.(*govimImpl).load.func1(0xc0000e20a8, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/govim.go:319 +0x42\ngopkg.in/tomb%2ev2.(*Tomb).run(0xc0000e20a8, 0xc0001901f0)\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:163 +0x3a\ncreated by gopkg.in/tomb%2ev2.(*Tomb).Go\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:159 +0xbc\n\ngoroutine 84 [IO wait]:\ninternal/poll.runtime_pollWait(0x7fc639125d58, 0x72, 0xffffffffffffffff)\n\t/usr/lib/go/src/runtime/netpoll.go:203 +0x57\ninternal/poll.(*pollDesc).wait(0xc0002c8378, 0x72, 0x1001, 0x1000, 0xffffffffffffffff)\n\t/usr/lib/go/src/internal/poll/fd_poll_runtime.go:87 +0x47\ninternal/poll.(*pollDesc).waitRead(...)\n\t/usr/lib/go/src/internal/poll/fd_poll_runtime.go:92\ninternal/poll.(*FD).Read(0xc0002c8360, 0xc0002d8000, 0x1000, 0x1000, 0x0, 0x0, 0x0)\n\t/usr/lib/go/src/internal/poll/fd_unix.go:169 +0x19d\nos.(*File).read(...)\n\t/usr/lib/go/src/os/file_unix.go:263\nos.(*File).Read(0xc000294040, 0xc0002d8000, 0x1000, 0x1000, 0x56448f68f49a, 0xc0000cb740, 0x22)\n\t/usr/lib/go/src/os/file.go:116 +0x73\nbufio.(*Reader).fill(0xc0002c84e0)\n\t/usr/lib/go/src/bufio/bufio.go:100 +0x105\nbufio.(*Reader).ReadSlice(0xc0002c84e0, 0x20300a, 0x56448f5ade50, 0xc0003edbf8, 0x56448f5375bc, 0xc0000c8398, 0xa)\n\t/usr/lib/go/src/bufio/bufio.go:359 +0x3f\nbufio.(*Reader).ReadBytes(0xc0002c84e0, 0xc000189e0a, 0xc0004c6100, 0xc0003ede10, 0xc0003edce8, 0x3, 0x0)\n\t/usr/lib/go/src/bufio/bufio.go:438 +0x7c\nbufio.(*Reader).ReadString(...)\n\t/usr/lib/go/src/bufio/bufio.go:475\ngithub.com/govim/govim/cmd/govim/internal/golang_org_x_tools/jsonrpc2.(*headerStream).Read(0xc00028ee20, 0x56448f710e80, 0xc000284570, 0xc0003ca788, 0xc000198201, 0x0, 0x0, 0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/internal/golang_org_x_tools/jsonrpc2/stream.go:100 +0x94\ngithub.com/govim/govim/cmd/govim/internal/golang_org_x_tools/jsonrpc2.(*Conn).Run(0xc0002844e0, 0x56448f710e80, 0xc000284570, 0xc00028ef20, 0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/internal/golang_org_x_tools/jsonrpc2/jsonrpc2.go:281 +0x68\nmain.(*govimplugin).startGopls.func3(0xc0000e20a8, 0x0)\n\t/home/jbpratt/.vim/plugged/g'
131.058424 RECV on 1(out): 'ovim/cmd/govim/gopls.go:114 +0x47\ngopkg.in/tomb%2ev2.(*Tomb).run(0xc0000e20a8, 0xc0002845a0)\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:163 +0x3a\ncreated by gopkg.in/tomb%2ev2.(*Tomb).Go\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:159 +0xbc\n\ngoroutine 40 [chan receive, 2 minutes]:\nmain.(*govimplugin).startProcessBufferUpdates.func1(0xc0000e20a8, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/buffer_events.go:240 +0x9d\ngopkg.in/tomb%2ev2.(*Tomb).run(0xc0000e20a8, 0xc000191b30)\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:163 +0x3a\ncreated by gopkg.in/tomb%2ev2.(*Tomb).Go\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:159 +0xbc\n\ngoroutine 83 [syscall, 2 minutes]:\nsyscall.Syscall6(0xf7, 0x1, 0xdf13, 0xc00022dd70, 0x1000004, 0x0, 0x0, 0x56448f46abce, 0xc00009aa80, 0x3)\n\t/usr/lib/go/src/syscall/asm_linux_amd64.s:41 +0x5\nos.(*Process).blockUntilWaitable(0xc0002a8180, 0x0, 0xc00022dee4, 0x0)\n\t/usr/lib/go/src/os/wait_waitid.go:31 +0x9a\nos.(*Process).wait(0xc0002a8180, 0xc00022dee4, 0x2, 0x2)\n\t/usr/lib/go/src/os/exec_unix.go:22 +0x3b\nos.(*Process).Wait(...)\n\t/usr/lib/go/src/os/exec.go:125\nos/exec.(*Cmd).Wait(0xc0002ca000, 0xc0000cb658, 0x1)\n\t/usr/lib/go/src/os/exec/exec.go:507 +0x62\nmain.(*govimplugin).startGopls.func2(0xc0000e20a8, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/gopls.go:91 +0x39\ngopkg.in/tomb%2ev2.(*Tomb).run(0xc0000e20a8, 0xc00028ee00)\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:163 +0x3a\ncreated by gopkg.in/tomb%2ev2.(*Tomb).Go\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:159 +0xbc\n\ngoroutine 82 [IO wait, 2 minutes]:\ninternal/poll.runtime_pollWait(0x7fc639125f18, 0x72, 0xffffffffffffffff)\n\t/usr/lib/go/src/runtime/netpoll.go:203 +0x57\ninternal/poll.(*pollDesc).wait(0xc0002c82b8, 0x72, 0x1001, 0x1000, 0xffffffffffffffff)\n\t/usr/lib/go/src/internal/poll/fd_poll_runtime.go:87 +0x47\ninternal/poll.(*pollDesc).waitRead(...)\n\t/usr/lib/go/src/internal/poll/fd_poll_runtime.go:92\ninternal/poll.(*FD).Read(0xc0002c82a0, 0xc0001d9000, 0x1000, 0x1000, 0x0, 0x0, 0x0)\n\t/usr/lib/go/src/internal/poll/fd_unix.go:169 +0x19d\nos.(*File).read(...)\n\t/usr/lib/go/src/os/file_unix.go:263\nos.(*File).Read(0xc000294030, 0xc0001d9000, 0x1000, 0x1000, 0x0, 0x0, 0x1)\n\t/usr/lib/go/src/os/file.go:116 +0x73\nbufio.(*Scanner).Scan(0xc00022e6f0, 0x56448f70e080)\n\t/usr/lib/go/src/bufio/scan.go:213 +0xa6\nmain.(*govimplugin).startGopls.func1(0xc0000e20a8, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/gopls.go:70 +0x10d\ngopkg.in/tomb%2ev2.(*Tomb).run(0xc0000e20a8, 0xc00028ed60)\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:163 +0x3a\ncreated by gopkg.in/tomb%2ev2.(*Tomb).Go\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:159 +0xbc\n\ngoroutine 74 [syscall, 2 minutes]:\nsyscall.Syscall6(0xe8, 0xf, 0xc00050fb74, 0x7, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0)\n\t/usr/lib/go/src/syscall/asm_linux_amd64.s:41 +0x5\ngolang.org/x/sys/unix.EpollWait(0xf, 0xc00050fb74, 0x7, 0x7, 0xffffffffffffffff, 0x0, 0x0, 0x0)\n\t/home/jbpratt/go/pkg/mod/golang.org/x/sys@v0.0.0-20190412213103-97732733099d/unix/zsyscall_linux_amd64.go:1710 +0x74\ngithub.com/fsnotify/fsnotify.(*fdPoller).wait(0xc000276820, 0x0, 0x0, 0x0)\n\t/home/jbpratt/go/pkg/mod/github.com/fsnotify/fsnotify@v1.4.7/inotify_poller.go:86 +0x93\ngithub.com/fsnotify/fsnotify.(*Watcher).readEvents(0xc0000d0140)\n\t/home/jbpratt/go/pkg/mod/github.com/fsnotify/fsnotify@v1.4.7/inotify.go:192 +0x1fa\ncreated by github.com/fsnotify/fsnotify.NewWatcher\n\t/home/jbpratt/go/pkg/mod/github.com/fsnotify/fsnotify@v1.4.7/inotify.go:59 +0x1a7\n\ngoroutine 75 [chan receive, 2 minutes]:\ngithub.com/govim/govim/cmd/govim/internal/fswatcher.New.func1(0x0, 0x0)\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/internal/fswatcher/os_othe'
131.058430 RECV on 1(out): 'rs.go:27 +0x62\ngopkg.in/tomb%2ev2.(*Tomb).run(0xc0000e20a8, 0xc0002608e0)\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:163 +0x3a\ncreated by gopkg.in/tomb%2ev2.(*Tomb).Go\n\t/home/jbpratt/go/pkg/mod/gopkg.in/tomb.v2@v2.0.0-20161208151619-d5d1b5820637/tomb.go:159 +0xbc\n\ngoroutine 76 [select, 2 minutes]:\nmain.(*modWatcher).watch(0xc0004284e0)\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/watcher.go:76 +0x14a\ncreated by main.newModWatcher\n\t/home/jbpratt/.vim/plugged/govim/cmd/govim/watcher.go:55 +0x262\n",""]]
'
131.058659 on 1: Getting JSON message 81
131.058661 on 1: Received JSON for id 81
131.058687 : ERROR: E605: Exception not caught: got error whilst handling GOVIM_internal_BalloonExpr: caught panic: interface conversion: interface {} is float64, not json.RawMessage
goroutine 141 [running]:
github.com/govim/govim.(*govimImpl).run.func8.1.1(0xc0000fbe88, 0xc0000f00e0)
    /home/jbpratt/.vim/plugged/govim/govim.go:535 +0x183
panic(0x56448f6bb020, 0xc0001984e0)
    /usr/lib/go/src/runtime/panic.go:969 +0x16a
github.com/govim/govim/internal/plugin.Driver.do.func1(0xc0000fbcf8)
    /home/jbpratt/.vim/plugged/govim/internal/plugin/plugin.go:53 +0xd6
panic(0x56448f6bb020, 0xc0001984e0)
    /usr/lib/go/src/runtime/panic.go:969 +0x16a
main.rawToInt(0x56448f6a44c0, 0xc00018fd38, 0x56448f6323e9, 0x4, 0xc000114528)
    /home/jbpratt/.vim/plugged/govim/cmd/govim/hover.go:157 +0x1f4
main.(*vimstate).showHover(0xc0000e4000, 0x56448f642500, 0x85, 0xc0001984b0, 0xc00019c0f8, 0x0, 0x0, 0x0, 0x0)
    /home/jbpratt/.vim/plugged/govim/cmd/govim/hover.go:129 +0x8cf
main.(*vimstate).balloonExpr(0xc0000e4000, 0x56448f894fc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x
131.058891 : ui_delay(1006)
132.065542 : SafeState: reset: key typed
132.065579 : SafeState: Start triggering

How did you install govim?

vim-plug

What did you do?

scrolling and hovered a few function definitions. It does not seem to be happening every time

What did you expect to see?

a nice beautiful hover window

What did you see instead?

a scary panic through messages

It is also entirely possible I have my setup misconfigured.

jbpratt commented 4 years ago

Got it! it was the https://github.com/govim/govim/wiki/vimrc-tips#-tip-show-hover-popups-below-and-to-the-right-of-the-mousecursor setting.