quasilyte / go-consistent

Source code analyzer that helps you to make your Go programs more consistent.
MIT License
333 stars 16 forks source link

Stacktrace #43

Open MarcelH-Tabeo opened 6 months ago

MarcelH-Tabeo commented 6 months ago

I get this:

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=0x1041c28f4]

goroutine 660 [running]:
go/types.(*Checker).handleBailout(0x14000172200, 0x140004b1b98)
        /usr/local/go/src/go/types/check.go:367 +0x9c
panic({0x1042ee940?, 0x104486ae0?})
        /usr/local/go/src/runtime/panic.go:770 +0x124
go/types.(*StdSizes).Sizeof(0x0, {0x10432fee8, 0x104489ae0})
        /usr/local/go/src/go/types/sizes.go:228 +0x314
go/types.(*Config).sizeof(...)
        /usr/local/go/src/go/types/sizes.go:333
go/types.representableConst.func1({0x10432fee8?, 0x104489ae0?})
        /usr/local/go/src/go/types/const.go:76 +0x9c
go/types.representableConst({0x104331a38, 0x10447f348}, 0x14000172200, 0x104489ae0, 0x140004afba8)
        /usr/local/go/src/go/types/const.go:92 +0x138
go/types.(*Checker).representation(0x14000172200, 0x14000590a40, 0x104489ae0)
        /usr/local/go/src/go/types/const.go:256 +0x68
go/types.(*Checker).implicitTypeAndValue(0x14000172200, 0x14000590a40, {0x10432fee8, 0x104489ae0})
        /usr/local/go/src/go/types/expr.go:375 +0x304
go/types.(*Checker).convertUntyped(0x14000172200, 0x14000590a40, {0x10432fee8, 0x104489ae0})
        /usr/local/go/src/go/types/const.go:289 +0x30
go/types.(*Checker).matchTypes(0x14000172200, 0x14000590a00, 0x14000590a40)
        /usr/local/go/src/go/types/expr.go:926 +0x7c
go/types.(*Checker).binary(0x14000172200, 0x14000590a00, {0x104330d70, 0x140002160c0}, {0x104330e30, 0x14000212580}, {0x104330d40, 0x1400047a240}, 0xd, 0x3d0735)
        /usr/local/go/src/go/types/expr.go:800 +0x114
go/types.(*Checker).exprInternal(0x14000172200, 0x0, 0x14000590a00, {0x104330d70, 0x140002160c0}, {0x0, 0x0})
        /usr/local/go/src/go/types/expr.go:1416 +0x1d4
go/types.(*Checker).rawExpr(0x14000172200, 0x0, 0x14000590a00, {0x104330d70?, 0x140002160c0?}, {0x0?, 0x0?}, 0x0)
        /usr/local/go/src/go/types/expr.go:979 +0x12c
go/types.(*Checker).expr(0x14000172200, 0x0?, 0x14000590a00, {0x104330d70?, 0x140002160c0?})
        /usr/local/go/src/go/types/expr.go:1513 +0x38
go/types.(*Checker).initVars(0x14000172200, {0x1400058e0a8, 0x1, 0x0?}, {0x14000120280, 0x14000100008?, 0x140005909c0?}, {0x0, 0x0?})
        /usr/local/go/src/go/types/assignments.go:381 +0x570
go/types.(*Checker).shortVarDecl(0x14000172200, {0x10432f118, 0x14000626030}, {0x14000120260, 0x1, 0x104071510?}, {0x14000120280, 0x1, 0x1})
        /usr/local/go/src/go/types/assignments.go:556 +0x6f4
go/types.(*Checker).stmt(0x14000172200, 0x0, {0x104331310, 0x140002125c0})
        /usr/local/go/src/go/types/stmt.go:473 +0x10d4
go/types.(*Checker).stmtList(0x14000172200, 0x0, {0x14000212680?, 0x0?, 0x0?})
        /usr/local/go/src/go/types/stmt.go:121 +0x88
go/types.(*Checker).funcBody(0x14000172200, 0x10432fee8?, {0x1400000e140?, 0x104489cc0?}, 0x14000590600, 0x14000216120, {0x0?, 0x0?})
        /usr/local/go/src/go/types/stmt.go:41 +0x21c
go/types.(*Checker).funcDecl.func1()
        /usr/local/go/src/go/types/decl.go:852 +0x44
go/types.(*Checker).processDelayed(0x14000172200, 0x0)
        /usr/local/go/src/go/types/check.go:467 +0x12c
go/types.(*Checker).checkFiles(0x14000172200, {0x14000472a80, 0x3, 0x3})
        /usr/local/go/src/go/types/check.go:411 +0x188
go/types.(*Checker).Files(...)
        /usr/local/go/src/go/types/check.go:372
golang.org/x/tools/go/packages.(*loader).loadPackage(0x1400024c1c0, 0x140005a8300)
        /Users/Marcello/go/pkg/mod/golang.org/x/tools@v0.11.0/go/packages/packages.go:1055 +0x870
golang.org/x/tools/go/packages.(*loader).loadRecursive.func1()
        /Users/Marcello/go/pkg/mod/golang.org/x/tools@v0.11.0/go/packages/packages.go:854 +0x178
sync.(*Once).doSlow(0x14000687778?, 0x104255ce0?)
        /usr/local/go/src/sync/once.go:74 +0x100
sync.(*Once).Do(...)
        /usr/local/go/src/sync/once.go:65
golang.org/x/tools/go/packages.(*loader).loadRecursive(0x140006a2020?, 0x0?)
        /Users/Marcello/go/pkg/mod/golang.org/x/tools@v0.11.0/go/packages/packages.go:842 +0x50
golang.org/x/tools/go/packages.(*loader).refine.func2(0x0?)
        /Users/Marcello/go/pkg/mod/golang.org/x/tools@v0.11.0/go/packages/packages.go:777 +0x30
created by golang.org/x/tools/go/packages.(*loader).refine in goroutine 1
        /Users/Marcello/go/pkg/mod/golang.org/x/tools@v0.11.0/go/packages/packages.go:776 +0xaa4
cristaloleg commented 6 months ago

Can you show output for go version command please?

MarcelH-Tabeo commented 5 months ago

go version go1.22.1 darwin/arm64

peczenyj commented 4 months ago

I had a similar stacktrace using latest go 1.22.2

peczenyj commented 4 months ago

this should be fixed on 5237e800e499bca589ba820900965da87cb6ea68 and released as v0.6.1