gopls(golsp)でもbingoでも、gopathの下でなかったらただpanicで終了する

この記事は以下のバージョンで確認した内容です


VimでGo言語の入力補完がしたくて、vim-lspとgoplsをインストールした。
.goファイルを開いて動作の確認をしようとしたが補完候補が出なかった。

vim-lspのログを見ると、ファイルを開いたときの一連の処理でgoplsが終了していた。
panic: runtime error: invalid memory address or nil pointer dereference

原因は、.goファイルがgopath以下のディレクトリになかったためだった。

Vimの補完プラグインを試すことに注意が向いていたので、golangの基本的なことを忘れていた。

goplsは、golspから名前が変わったもの


開いた.goファイルがgopath下になかったときのvim-lspのログ

Mon 18 Feb 2019 08:53:17 AM +09:["lsp#register_server","server registered","go-lang"]
... (中略) ...
Mon 18 Feb 2019 08:53:17 AM +09:["s:update_file_content()",1]
Mon 18 Feb 2019 08:53:17 AM +09:["--->",1,"go-lang",{"method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///home/user/main.go","version":1,"languageId":"go","text":"\n"}}}]
Mon 18 Feb 2019 08:53:17 AM +09:[{"response":{"data":{"path":"file:///home/user/main.go","__data__":"vim-lsp","filetype":"go","server_name":"go-lang"},"message":"textDocument/open sent"}}]
Mon 18 Feb 2019 08:53:17 AM +09:[{"response":{"data":{"path":"file:///home/user/main.go","__data__":"vim-lsp","server_name":"go-lang"},"message":"not dirty"}}]
Mon 18 Feb 2019 08:53:17 AM +09:["<---(stderr)",1,"go-lang",["[Trace - 8:53:17 AM] Sending notification 'textDocument/didOpen'.\r","Params: {\"textDocument\":{\"uri\":\"file:///home/user/main.go\",\"version\":1,\"languageId\":\"go\",\"text\":\"\\n\"}}\r","\r","\r",""]]
Mon 18 Feb 2019 08:53:17 AM +09:["<---(stderr)",1,"go-lang",["panic: runtime error: invalid memory address or nil pointer dereference","[signal SIGSEGV: segmentation violation code=0x1 addr=0x50 pc=0x6e894d]","","goroutine 7 [running]:","golang.org/x/tools/internal/lsp/source.Diagnostics(0x8b4f00, 0xc00001a0d8, 0x8b5040, 0xc00007e090, 0xc000018ce0, 0x1d, 0xc000034740, 0x1, 0x5d789e)","\t/home/user/gopath/src/golang.org/x/tools/internal/lsp/source/diagnostics.go:56 +0xcd","golang.org/x/tools/internal/lsp.(*server).cacheAndDiagnose.func1(0x8b4f00, 0xc00001a0d8, 0xc000051480, 0xc000018ce0, 0x1d)","\t/home/user/gopath/src/golang.org/x/tools/internal/lsp/diagnostics.go:24 +0x81","created by golang.org/x/tools/internal/lsp.(*server).cacheAndDiagnose","\t/home/user/gopath/src/golang.org/x/tools/internal/lsp/diagnostics.go:23 +0x13c",""]]
Mon 18 Feb 2019 08:53:17 AM +09:["s:on_exit",1,"go-lang","exited",2]
Mon 18 Feb 2019 08:53:20 AM +09:["s:on_text_document_did_close()",1]
ツイッターでシェア
みんなに共有、忘れないようにメモ

あぜち(おばあちゃん)

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント