ondrajz / go-callvis

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

Funny pointer problem, can I exclude it? ignore does't help #56

Closed HamiltonWang closed 4 years ago

HamiltonWang commented 4 years ago
go-callvis -focus=cmd  -ignore=github.com/btcsuite/btcd,github.com/btcsuite/btcutil -limit=github.com/lightningnetwork/lnd  -nostd  github.com/lightningnetwork/lnd/cmd/lnd  | dot -Tsvg -o dependency_graph.svg 
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(0xc001131d68)
    /Users/hamiltonwang/go/pkg/mod/golang.org/x/tools@v0.0.0-20191205012623-e84277c2c008/go/pointer/analysis.go:227 +0x10b
panic(0x14f89c0, 0xc040b8d220)
    /usr/local/go/src/runtime/panic.go:679 +0x1b2
golang.org/x/tools/go/ssa.(*Program).LookupMethod(0xc01eb10500, 0x1683580, 0xc0290bab60, 0x0, 0x15c1c80, 0x5, 0xc020795900)
    /Users/hamiltonwang/go/pkg/mod/golang.org/x/tools@v0.0.0-20191205012623-e84277c2c008/go/ssa/methods.go:49 +0x1ac
golang.org/x/tools/go/pointer.(*invokeConstraint).solve(0xc0578e43d0, 0xc03918e380, 0xc041994700)
    /Users/hamiltonwang/go/pkg/mod/golang.org/x/tools@v0.0.0-20191205012623-e84277c2c008/go/pointer/solve.go:326 +0x2b1
golang.org/x/tools/go/pointer.(*analysis).solveConstraints(0xc03918e380, 0xc04c436240, 0xc041994700)
    /Users/hamiltonwang/go/pkg/mod/golang.org/x/tools@v0.0.0-20191205012623-e84277c2c008/go/pointer/solve.go:165 +0x176
golang.org/x/tools/go/pointer.(*analysis).solve(0xc03918e380)
    /Users/hamiltonwang/go/pkg/mod/golang.org/x/tools@v0.0.0-20191205012623-e84277c2c008/go/pointer/solve.go:59 +0x1a7
golang.org/x/tools/go/pointer.Analyze(0xc04a6350e0, 0x0, 0x1680200, 0xc040b8d250)
    /Users/hamiltonwang/go/pkg/mod/golang.org/x/tools@v0.0.0-20191205012623-e84277c2c008/go/pointer/analysis.go:331 +0x4ac
main.doAnalysis(0x0, 0x0, 0xc000022200, 0xc0000ca170, 0x1, 0x1, 0x3, 0x15d6d23)
    /Users/hamiltonwang/go/pkg/mod/github.com/!true!furby/go-callvis@v0.5.0/analysis.go:49 +0x241
main.main()
    /Users/hamiltonwang/go/pkg/mod/github.com/!true!furby/go-callvis@v0.5.0/main.go:104 +0x156
2019/12/05 16:01:11 internal error in pointer analysis: *github.com/btcsuite/btcutil.AddressPubKeyHash has no method Error (please report this bug)

As shown above

Thanks

HamiltonWang commented 4 years ago

I try another cmd and it give different error

(base) Hamiltonde-MacBook-Pro-2018:lnd hamiltonwang$ go-callvis -focus=main  -ignore=github.com/btcsuite/* -limit=github.com/lightningnetwork/lnd/  -nostd  github.com/lightningnetwork/lnd/cmd/lncli  | dot -Tsvg -o dependency_graph.svg 
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(0xc065ee5d68)
    /Users/hamiltonwang/go/pkg/mod/golang.org/x/tools@v0.0.0-20191205012623-e84277c2c008/go/pointer/analysis.go:227 +0x10b
panic(0x14f89c0, 0xc036cfe930)
    /usr/local/go/src/runtime/panic.go:679 +0x1b2
golang.org/x/tools/go/pointer.(*analysis).callEdge(0xc009b54700, 0xc02f697020, 0xc01caa68e0, 0x1cdc9)
    /Users/hamiltonwang/go/pkg/mod/golang.org/x/tools@v0.0.0-20191205012623-e84277c2c008/go/pointer/analysis.go:368 +0x78a
golang.org/x/tools/go/pointer.Analyze(0xc00260f770, 0x0, 0x1680200, 0xc036cfe950)
    /Users/hamiltonwang/go/pkg/mod/golang.org/x/tools@v0.0.0-20191205012623-e84277c2c008/go/pointer/analysis.go:354 +0x68b
main.doAnalysis(0x0, 0x0, 0xc000136000, 0xc000020230, 0x1, 0x1, 0x3, 0x15d6d23)
    /Users/hamiltonwang/go/pkg/mod/github.com/!true!furby/go-callvis@v0.5.0/analysis.go:49 +0x241
main.main()
    /Users/hamiltonwang/go/pkg/mod/github.com/!true!furby/go-callvis@v0.5.0/main.go:104 +0x156
2019/12/05 16:43:36 internal error in pointer analysis: callEdge dynamic method call -> n118217: not a function object (please report this bug)
ondrajz commented 4 years ago

Seems like duplicate of #24