ondrajz / go-callvis

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

internal error in pointer analysis: callEdge dynamic function call #61

Open williamflynt opened 4 years ago

williamflynt commented 4 years ago

Hi there! I got this error (and request to report the bug) while trying go-callvis on some proprietary code.

To Repro

sudo apt install -y graphviz
git clone <this repo>
make install
cd ~/GolandProjects/<proprietary repo>
go-callvis main.go

Stacktrace

Internal panic in pointer analysis:
goroutine 1 [running]:
runtime/debug.Stack(0x24, 0x0, 0x0)
        /usr/local/go/src/runtime/debug/stack.go:24 +0x9d
runtime/debug.PrintStack()
        /usr/local/go/src/runtime/debug/stack.go:16 +0x22
golang.org/x/tools/go/pointer.Analyze.func1(0xc001a71d68)
        /home/saint/go/pkg/mod/golang.org/x/tools@v0.0.0-20200305224536-de023d59a5d1/go/pointer/analysis.go:227 +0x10b
panic(0x8f2400, 0xc03241c430)
        /usr/local/go/src/runtime/panic.go:679 +0x1b2
golang.org/x/tools/go/pointer.(*analysis).callEdge(0xc013878e00, 0xc0183b1bf0, 0xc027ad1bc0, 0x25b0f)
        /home/saint/go/pkg/mod/golang.org/x/tools@v0.0.0-20200305224536-de023d59a5d1/go/pointer/analysis.go:368 +0x78a
golang.org/x/tools/go/pointer.Analyze(0xc0239e7f90, 0x0, 0xa77bc0, 0xc03241c440)
        /home/saint/go/pkg/mod/golang.org/x/tools@v0.0.0-20200305224536-de023d59a5d1/go/pointer/analysis.go:354 +0x68b
main.doAnalysis(0x0, 0x0, 0xc0000ae100, 0xc0000a2030, 0x1, 0x1, 0x3, 0x9cfb96)
        /home/saint/GolandProjects/go-callvis/analysis.go:50 +0x241
main.main()
        /home/saint/GolandProjects/go-callvis/main.go:104 +0x156
2020/04/05 11:11:37 internal error in pointer analysis: callEdge dynamic function call -> n154383: not a function object (please report this bug)
ondrajz commented 4 years ago

Related issue: https://github.com/ofabry/go-callvis/issues/24