ondrajz / go-callvis

Visualize call graph of a Go program using Graphviz
https://ofabry.github.io/go-callvis
MIT License
5.82k stars 402 forks source link

panic: runtime error: invalid memory address or nil pointer dereference [recovered] #180

Open JasonWu0506 opened 2 months ago

JasonWu0506 commented 2 months ago

go-callvis v0.7.0 built from git (unknown) run go-callvis ${package} panic: runtime error: invalid memory address or nil pointer dereference [recovered] panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x1024ec084]

goroutine 61 [running]: go/types.(Checker).handleBailout(0x14000034200, 0x1400013fb98) /opt/homebrew/opt/go/libexec/src/go/types/check.go:367 +0x9c panic({0x102a27f60?, 0x102df17b0?}) /opt/homebrew/opt/go/libexec/src/runtime/panic.go:770 +0x124 go/types.(StdSizes).Sizeof(0x0, {0x102ac4650, 0x102df84e0}) /opt/homebrew/opt/go/libexec/src/go/types/sizes.go:228 +0x314 go/types.(Config).sizeof(...) /opt/homebrew/opt/go/libexec/src/go/types/sizes.go:333 go/types.representableConst.func1({0x102ac4650?, 0x102df84e0?}) /opt/homebrew/opt/go/libexec/src/go/types/const.go:76 +0x9c go/types.representableConst({0x102ac7888, 0x102e44a20}, 0x14000034200, 0x102df84e0, 0x1400013df98) /opt/homebrew/opt/go/libexec/src/go/types/const.go:92 +0x138 go/types.(Checker).representation(0x14000034200, 0x140004eb180, 0x102df84e0) /opt/homebrew/opt/go/libexec/src/go/types/const.go:256 +0x68 go/types.(Checker).implicitTypeAndValue(0x14000034200, 0x140004eb180, {0x102ac4650, 0x102df84e0}) /opt/homebrew/opt/go/libexec/src/go/types/expr.go:375 +0x304 go/types.(Checker).convertUntyped(0x14000034200, 0x140004eb180, {0x102ac4650, 0x102df84e0}) /opt/homebrew/opt/go/libexec/src/go/types/const.go:289 +0x30 go/types.(*Checker).matchTypes(0x14000034200, 0x140004eb140, 0x140004eb180) /opt/homebrew/opt/go/libexec/src/go/types/expr.go:926 +0x7c

fuchao1999 commented 2 months ago

go v1.22 go-callvis v0.7.0 built from git (unknown)

go-callvis . panic: runtime error: invalid memory address or nil pointer dereference [recovered] panic: runtime error: invalid memory address or nil pointer dereference [signal 0xc0000005 code=0x0 addr=0x0 pc=0x95d56f]

goroutine 228 [running]: go/types.(Checker).handleBailout(0xc000550600, 0xc000a7fbd0) D:/Go/src/go/types/check.go:367 +0x88 panic({0xc628a0?, 0x10eaf50?}) D:/Go/src/runtime/panic.go:770 +0x132 go/types.(StdSizes).Sizeof(0x0, {0xdc4a38, 0x10f11c0}) D:/Go/src/go/types/sizes.go:228 +0x30f go/types.(Config).sizeof(...) D:/Go/src/go/types/sizes.go:333 go/types.representableConst.func1({0xdc4a38?, 0x10f11c0?}) D:/Go/src/go/types/const.go:76 +0x9e go/types.representableConst({0xdc7a38, 0x10c8990}, 0xc000550600, 0x10f11c0, 0xc000a7dd70) D:/Go/src/go/types/const.go:92 +0x192 go/types.(Checker).representation(0xc000550600, 0xc00039dd40, 0x10f11c0) D:/Go/src/go/types/const.go:256 +0x65 go/types.(Checker).implicitTypeAndValue(0xc000550600, 0xc00039dd40, {0xdc4a38, 0x10f11c0}) D:/Go/src/go/types/expr.go:375 +0x2d7 go/types.(Checker).assignment(0xc000550600, 0xc00039dd40, {0xdc4a38, 0x10f11c0}, {0xcec92b, 0xe}) D:/Go/src/go/types/assignments.go:52 +0x2e5 go/types.(Checker).exprInternal(0xc000550600, 0x0, 0xc00039dd40, {0xdc6c00, 0xc00039c780}, {0xdc4a88, 0xc0003f6070}) D:/Go/src/go/types/expr.go:1175 +0x267a go/types.(Checker).rawExpr(0xc000550600, 0x0, 0xc00039dd40, {0xdc6c00?, 0xc00039c780?}, {0xdc4a88?, 0xc0003f6070?}, 0x0) D:/Go/src/go/types/expr.go:979 +0x19e go/types.(Checker).exprWithHint(0xc000550600, 0xc00039dd40, {0xdc6c00, 0xc00039c780}, {0xdc4a88, 0xc0003f6070}) D:/Go/src/go/types/expr.go:1563 +0x65 go/types.(Checker).indexedElts(0xc000550600, {0xc000550000, 0x1b, 0xc000a7ee30?}, {0xdc4a88, 0xc0003f6070}, 0xffffffffffffffff) D:/Go/src/go/types/index.go:453 +0x129 go/types.(Checker).exprInternal(0xc000550600, 0x0, 0xc00039d600, {0xdc6c00, 0xc00039cf40}, {0x0, 0x0}) D:/Go/src/go/types/expr.go:1247 +0x10dd go/types.(Checker).rawExpr(0xc000550600, 0x0, 0xc00039d600, {0xdc6c00?, 0xc00039cf40?}, {0x0?, 0x0?}, 0x0) D:/Go/src/go/types/expr.go:979 +0x19e go/types.(Checker).expr(0xc000550600, 0x0?, 0xc00039d600, {0xdc6c00?, 0xc00039cf40?}) D:/Go/src/go/types/expr.go:1513 +0x30 go/types.(Checker).varDecl(0xc000550600, 0xc000b03260, {0xc000306188, 0x1, 0x1}, {0x0, 0x0}, {0xdc6c00, 0xc00039cf40}) D:/Go/src/go/types/decl.go:521 +0x17b go/types.(Checker).objDecl(0xc000550600, {0xdce798, 0xc000b03260}, 0x0) D:/Go/src/go/types/decl.go:194 +0x9e5 go/types.(Checker).packageObjects(0xc000550600) D:/Go/src/go/types/resolver.go:693 +0x4dd go/types.(Checker).checkFiles(0xc000550600, {0xc000306008, 0x1, 0x1}) D:/Go/src/go/types/check.go:408 +0x1a5 go/types.(Checker).Files(...) D:/Go/src/go/types/check.go:372 golang.org/x/tools/go/packages.(loader).loadPackage(0xc00019c000, 0xc000747500) F:/Workspaces/GoLand/pkg/mod/golang.org/x/tools@v0.8.0/go/packages/packages.go:1052 +0xa72 golang.org/x/tools/go/packages.(loader).loadRecursive.func1() F:/Workspaces/GoLand/pkg/mod/golang.org/x/tools@v0.8.0/go/packages/packages.go:851 +0x1a9 sync.(Once).doSlow(0x0?, 0x0?) D:/Go/src/sync/once.go:74 +0xc2 sync.(Once).Do(...) D:/Go/src/sync/once.go:65 golang.org/x/tools/go/packages.(loader).loadRecursive(0x0?, 0xc000b45fd0?) F:/Workspaces/GoLand/pkg/mod/golang.org/x/tools@v0.8.0/go/packages/packages.go:839 +0x4a golang.org/x/tools/go/packages.(loader).loadRecursive.func1.1(0x0?) F:/Workspaces/GoLand/pkg/mod/golang.org/x/tools@v0.8.0/go/packages/packages.go:846 +0x26 created by golang.org/x/tools/go/packages.(*loader).loadRecursive.func1 in goroutine 168 F:/Workspaces/GoLand/pkg/mod/golang.org/x/tools@v0.8.0/go/packages/packages.go:845 +0x94