amit-davidson / Chronos

Chronos - A static race detector for the go language
MIT License
424 stars 11 forks source link

invalid memory address #18

Closed zhouqiang-cl closed 3 years ago

zhouqiang-cl commented 3 years ago
zhouqiang@MacBook-Pro-4 tidb % /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/cmd/chronos/chronos --file tidb-server/main.go
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1439ea0]

goroutine 1 [running]:
github.com/amit-davidson/Chronos/ssaUtils.GetDefersSummary(0xc0875e6300, 0xc0695b8580, 0x19acde8, 0x0, 0x0, 0xc0811a60f0)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/CFG.go:96 +0x250
github.com/amit-davidson/Chronos/ssaUtils.HandleFunction(0xc0875e6300, 0xc065e523c0, 0x1)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/Functions.go:177 +0x1cd
github.com/amit-davidson/Chronos/ssaUtils.HandleCallCommon(0xc0875e6300, 0xc0722538c0, 0x2e85ae2, 0x0)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/Functions.go:45 +0x549
github.com/amit-davidson/Chronos/ssaUtils.GetBlockSummary(0xc0875e6300, 0xc072257130, 0x14f5620)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/Functions.go:133 +0x520
github.com/amit-davidson/Chronos/ssaUtils.GetBlocksSummary.func1(0xc0875e6300, 0xc072257130, 0x0)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/CFG.go:59 +0x35
github.com/amit-davidson/Chronos/ssaUtils.(*CFG).traverseGraph(0xc087c93680, 0xc0875e6300, 0xc072257130)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/CFG.go:122 +0x1e5
github.com/amit-davidson/Chronos/ssaUtils.GetBlocksSummary(0xc0875e6300, 0xc072257130, 0xc06a70c000, 0x18)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/CFG.go:70 +0xd6
github.com/amit-davidson/Chronos/ssaUtils.HandleFunction(0xc0875e6300, 0xc065e588c0, 0x1)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/Functions.go:174 +0x190
github.com/amit-davidson/Chronos/ssaUtils.HandleCallCommon(0xc0875e6300, 0xc067e319c0, 0x2e8528b, 0x0)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/Functions.go:45 +0x549
github.com/amit-davidson/Chronos/ssaUtils.GetBlockSummary(0xc0875e6300, 0xc045e84e70, 0x1)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/Functions.go:133 +0x520
github.com/amit-davidson/Chronos/ssaUtils.GetBlocksSummary.func1(0xc0875e6300, 0xc045e84e70, 0x2)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/CFG.go:59 +0x35
github.com/amit-davidson/Chronos/ssaUtils.(*CFG).traverseGraph(0xc087c93040, 0xc0875e6300, 0xc045e84e70)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/CFG.go:122 +0x1e5
github.com/amit-davidson/Chronos/ssaUtils.(*CFG).traverseGraph(0xc087c93040, 0xc0875e6300, 0xc045e84dc0)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/CFG.go:139 +0x288
github.com/amit-davidson/Chronos/ssaUtils.(*CFG).traverseGraph(0xc087c93040, 0xc0875e6300, 0xc045e84d10)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/CFG.go:139 +0x288
github.com/amit-davidson/Chronos/ssaUtils.GetBlocksSummary(0xc0875e6300, 0xc045e84d10, 0xc06a70c000, 0x18)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/CFG.go:70 +0xd6
github.com/amit-davidson/Chronos/ssaUtils.HandleFunction(0xc0875e6300, 0xc065e58140, 0x1)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/Functions.go:174 +0x190
github.com/amit-davidson/Chronos/ssaUtils.HandleCallCommon(0xc0875e6300, 0xc087c92f40, 0x2e85221, 0x0)
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/ssaUtils/Functions.go:45 +0x549
main.main()
    /Users/zhouqiang/go/src/github.com/amit-davidson/Chronos/cmd/chronos/main.go:34 +0x431
amit-davidson commented 3 years ago

Fixed by: https://github.com/amit-davidson/Chronos/pull/19