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は個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

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

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

ボードとは?

関連記事

コメント