Tencent / LuaHelper

LuaHelper is a High-performance lua VSCode plugin, Language Server Protocol for lua.
Other
631 stars 94 forks source link

vscode插件报错:panic: runtime error: invalid memory address or nil pointer dereference #149

Open Nuctori opened 1 year ago

Nuctori commented 1 year ago
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x80 pc=0x326ee9]

goroutine 164 [running]:
luahelper-lsp/langserver/check/analysis.(*Analysis).ChangeSelfToReferVar(0xc00052a000, {0xc0003b24a3, 0x4}, {0x0, 0x0})
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis_search.go:1033 +0x89
luahelper-lsp/langserver/check/analysis.(*Analysis).findNameStr(0xc00052a000, 0xc0001ee2a0, 0xc000480000?)
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis_search.go:444 +0x65
luahelper-lsp/langserver/check/analysis.(*Analysis).cgNameExp(0xc000096948?, 0xb1857?, 0x0?)
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis_exp.go:64 +0x47
luahelper-lsp/langserver/check/analysis.(*Analysis).cgExp(0xc000621320?, {0x3b5360?, 0xc0001ee2a0?}, 0x3246da?, 0xc0002a35c0?)
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis_exp.go:22 +0x1ea
luahelper-lsp/langserver/check/analysis.(*Analysis).checkLeftAssign(0xc00052a000, {0x3b54e0?, 0xc0005af640?})
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis_stat.go:776 +0xc8
luahelper-lsp/langserver/check/analysis.(*Analysis).cgAssignStat(0xc00052a000, 0xc00061b2c0)
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis_stat.go:1031 +0x345
luahelper-lsp/langserver/check/analysis.(*Analysis).cgStat(0xc0002a35c0?, {0x3b4de0?, 0xc00061b2c0?})
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis_stat.go:29 +0x317
luahelper-lsp/langserver/check/analysis.(*Analysis).cgBlock(0x25?, 0xc00061b4a0)
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis_block.go:12 +0x88
luahelper-lsp/langserver/check/analysis.(*Analysis).cgFuncDefExp(0xc00052a000, 0xc000787320)
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis_exp.go:127 +0x4a5
luahelper-lsp/langserver/check/analysis.(*Analysis).cgExp(0x42ee51?, {0x3b5120?, 0xc000787320?}, 0x1ffca5c0108?, 0x10?)
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis_exp.go:24 +0x105
luahelper-lsp/langserver/check/analysis.(*Analysis).cgAssignStat(0xc00052a000, 0xc00061b4f0)
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis_stat.go:1021 +0x2b0
luahelper-lsp/langserver/check/analysis.(*Analysis).cgStat(0xc000097378?, {0x3b4de0?, 0xc00061b4f0?})
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis_stat.go:29 +0x317
luahelper-lsp/langserver/check/analysis.(*Analysis).cgBlock(0x415900?, 0xc00050ce10)
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis_block.go:12 +0x88
luahelper-lsp/langserver/check/analysis.(*Analysis).HandleTermTraverseAST(0xc00052a000, 0x6, 0x7d?, 0x1ffefd827e0?)
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/analysis/analysis.go:401 +0x1f1
luahelper-lsp/langserver/check.(*AllProject).handleFindVarColor(0xc00015f730, 0xc000795220)
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/check_color_file.go:62 +0x1d8
luahelper-lsp/langserver/check.(*AllProject).FindAllColorVar(0xc0005bc100?, {0xc0005bc100, 0x7d})
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/check/check_color_file.go:18 +0xb7
luahelper-lsp/langserver.(*LspServer).TextDocumentGetVarColor(0xf547e?, {0x3f2be0?, 0x3f2be0?}, {{0xc0005bc100?, 0xc000181630?}})
    G:/companyproject/LuaHelper/github/LuaHelper/luahelper-lsp/langserver/textdocument_varColor.go:34 +0x96
reflect.Value.call({0x3d1b20?, 0xc00004d120?, 0x1ffca5c0108?}, {0x42f2f7, 0x4}, {0xc0007006f0, 0x2, 0x30001?})
    D:/Go18/src/reflect/value.go:556 +0x845
reflect.Value.Call({0x3d1b20?, 0xc00004d120?, 0x1?}, {0xc0007006f0, 0x2, 0x2})
    D:/Go18/src/reflect/value.go:339 +0xbf
github.com/yinfei8/jrpc2/handler.newHandler.func8({0x4cff58?, 0xc000700690}, 0x7347d8?)
    D:/Go18/gopath/pkg/mod/github.com/yinfei8/jrpc2@v0.13.1/handler/handler.go:240 +0x216
github.com/yinfei8/jrpc2/handler.Func.Handle(0xc00005a690?, {0x4cff58?, 0xc000700690?}, 0x1?)
    D:/Go18/gopath/pkg/mod/github.com/yinfei8/jrpc2@v0.13.1/handler/handler.go:23 +0x2f
github.com/yinfei8/jrpc2.(*Server).invoke(0xc00017c000, {0x4cfeb0?, 0xc0004ce600?}, {0x4ce0e0, 0xc00004f860}, 0xc0004ce5c0)
    D:/Go18/gopath/pkg/mod/github.com/yinfei8/jrpc2@v0.13.1/server.go:347 +0x166
github.com/yinfei8/jrpc2.(*Server).dispatch.func1.1()
    D:/Go18/gopath/pkg/mod/github.com/yinfei8/jrpc2@v0.13.1/server.go:229 +0xdd
created by github.com/yinfei8/jrpc2.(*Server).dispatch.func1
    D:/Go18/gopath/pkg/mod/github.com/yinfei8/jrpc2@v0.13.1/server.go:232 +0x17b
[Info  - 14:45:32] Connection to server got closed. Server will restart.
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x80 pc=0x326ee9]

以上为报错信息

yinfei8 commented 1 year ago

多谢反馈,最新的版本修复了上面的bug