Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stack overflow while running linter #8

Closed
vansante opened this issue Feb 2, 2022 · 4 comments
Closed

Stack overflow while running linter #8

vansante opened this issue Feb 2, 2022 · 4 comments

Comments

@vansante
Copy link

vansante commented Feb 2, 2022

I have been using golangci-lint with most linters enabled, and in the latest version your linter has been added as a default.

However this crashes the linter with a stack overflow. Can you see what is happening from this stacktrace?

paul@paul-ThinkPad  ~/project  golangci-lint version
golangci-lint has version 1.44.0 built from 617470fa on 2022-01-25T11:31:17Z

paul@paul-ThinkPad  ~/project  golangci-lint run 
runtime: goroutine stack exceeds 1000000000-byte limit
runtime: sp=0xc03500e4e8 stack=[0xc03500e000, 0xc05500e000]
fatal error: stack overflow

runtime stack:
runtime.throw({0x10038d3, 0x18155e0})
	runtime/panic.go:1198 +0x71
runtime.newstack()
	runtime/stack.go:1088 +0x5ac
runtime.morestack()
	runtime/asm_amd64.s:461 +0x8b

goroutine 4392 [running]:
go/types.(*Named).under(0xc0046f9a00)
	go/types/decl.go:579 +0x679 fp=0xc03500e4f8 sp=0xc03500e4f0 pc=0x7db279
go/types.under({0x11ac430, 0xc0046f9a00})
	go/types/type.go:909 +0x2f fp=0xc03500e518 sp=0xc03500e4f8 pc=0x80e2ef
go/types.asTypeParam({0x11ac430, 0xc0046f9a00})
	go/types/type.go:987 +0x25 fp=0xc03500e538 sp=0xc03500e518 pc=0x80e785
go/types.optype({0x11ac430, 0xc0046f9a00})
	go/types/type.go:783 +0x2c fp=0xc03500e578 sp=0xc03500e538 pc=0x80d82c
go/types.asInterface(...)
	go/types/type.go:963
go/types.IsInterface({0x11ac430, 0xc0046f9a00})
	go/types/predicates.go:86 +0x25 fp=0xc03500e598 sp=0xc03500e578 pc=0x7f7aa5
go/types.(*Checker).rawLookupFieldOrMethod(0x11ac430, {0x11ac4a8, 0xc00418ad70}, 0x0, 0x1, {0xfd2a03, 0xb})
	go/types/lookup.go:89 +0xea fp=0xc03500e858 sp=0xc03500e598 pc=0x7f0c2a
go/types.(*Checker).missingMethod(0x0, {0x11ac430, 0xc0046f9a00}, 0xc00363fd80, 0x1)
	go/types/lookup.go:361 +0x4f4 fp=0xc03500e928 sp=0xc03500e858 pc=0x7f27d4
go/types.MissingMethod(...)
	go/types/lookup.go:295
go/types.Implements({0x11ac430, 0xc0046f9a00}, 0xc0046f9a00)
	go/types/api.go:320 +0x33 fp=0xc03500e960 sp=0xc03500e928 pc=0x7c8d93
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffdb)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:153 +0x55 fp=0xc03500e9e0 sp=0xc03500e960 pc=0x9d8995
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffda)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500ea60 sp=0xc03500e9e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffd9)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500eae0 sp=0xc03500ea60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffd8)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500eb60 sp=0xc03500eae0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffd7)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500ebe0 sp=0xc03500eb60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffd6)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500ec60 sp=0xc03500ebe0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffd5)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500ece0 sp=0xc03500ec60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffd4)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500ed60 sp=0xc03500ece0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffd3)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500ede0 sp=0xc03500ed60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffd2)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500ee60 sp=0xc03500ede0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffd1)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500eee0 sp=0xc03500ee60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffd0)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500ef60 sp=0xc03500eee0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffcf)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500efe0 sp=0xc03500ef60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffce)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500f060 sp=0xc03500efe0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffcd)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500f0e0 sp=0xc03500f060 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffcc)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500f160 sp=0xc03500f0e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffcb)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500f1e0 sp=0xc03500f160 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffca)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500f260 sp=0xc03500f1e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffc9)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500f2e0 sp=0xc03500f260 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffc8)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500f360 sp=0xc03500f2e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffc7)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500f3e0 sp=0xc03500f360 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffc6)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500f460 sp=0xc03500f3e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffc5)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500f4e0 sp=0xc03500f460 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffc4)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500f560 sp=0xc03500f4e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffc3)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500f5e0 sp=0xc03500f560 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffc2)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500f660 sp=0xc03500f5e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffc1)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500f6e0 sp=0xc03500f660 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffc0)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500f760 sp=0xc03500f6e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffbf)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500f7e0 sp=0xc03500f760 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffbe)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500f860 sp=0xc03500f7e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffbd)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500f8e0 sp=0xc03500f860 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffbc)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500f960 sp=0xc03500f8e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffbb)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500f9e0 sp=0xc03500f960 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffba)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500fa60 sp=0xc03500f9e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffb9)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500fae0 sp=0xc03500fa60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffb8)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500fb60 sp=0xc03500fae0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffb7)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500fbe0 sp=0xc03500fb60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffb6)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500fc60 sp=0xc03500fbe0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffb5)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500fce0 sp=0xc03500fc60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffb4)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500fd60 sp=0xc03500fce0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffb3)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500fde0 sp=0xc03500fd60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffb2)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500fe60 sp=0xc03500fde0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffb1)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500fee0 sp=0xc03500fe60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffb0)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc03500ff60 sp=0xc03500fee0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffaf)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc03500ffe0 sp=0xc03500ff60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffae)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010060 sp=0xc03500ffe0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffad)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350100e0 sp=0xc035010060 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffac)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010160 sp=0xc0350100e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffab)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350101e0 sp=0xc035010160 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffaa)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010260 sp=0xc0350101e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffa9)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350102e0 sp=0xc035010260 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffa8)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010360 sp=0xc0350102e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffa7)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350103e0 sp=0xc035010360 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffa6)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010460 sp=0xc0350103e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffa5)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350104e0 sp=0xc035010460 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffa4)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010560 sp=0xc0350104e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffa3)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350105e0 sp=0xc035010560 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffa2)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010660 sp=0xc0350105e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fffa1)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350106e0 sp=0xc035010660 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fffa0)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010760 sp=0xc0350106e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff9f)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350107e0 sp=0xc035010760 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff9e)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010860 sp=0xc0350107e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff9d)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350108e0 sp=0xc035010860 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff9c)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010960 sp=0xc0350108e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff9b)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350109e0 sp=0xc035010960 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff9a)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010a60 sp=0xc0350109e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff99)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc035010ae0 sp=0xc035010a60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff98)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010b60 sp=0xc035010ae0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff97)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc035010be0 sp=0xc035010b60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff96)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010c60 sp=0xc035010be0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff95)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc035010ce0 sp=0xc035010c60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff94)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010d60 sp=0xc035010ce0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff93)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc035010de0 sp=0xc035010d60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff92)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010e60 sp=0xc035010de0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff91)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc035010ee0 sp=0xc035010e60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff90)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035010f60 sp=0xc035010ee0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff8f)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc035010fe0 sp=0xc035010f60 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff8e)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035011060 sp=0xc035010fe0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff8d)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350110e0 sp=0xc035011060 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff8c)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035011160 sp=0xc0350110e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff8b)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350111e0 sp=0xc035011160 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff8a)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035011260 sp=0xc0350111e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff89)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350112e0 sp=0xc035011260 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff88)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035011360 sp=0xc0350112e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff87)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350113e0 sp=0xc035011360 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff86)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035011460 sp=0xc0350113e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff85)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350114e0 sp=0xc035011460 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff84)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035011560 sp=0xc0350114e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff83)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350115e0 sp=0xc035011560 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff82)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035011660 sp=0xc0350115e0 pc=0x9d8e77
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac430, 0xc0046f9a00}, 0x3fff81)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:205 +0x6ee fp=0xc0350116e0 sp=0xc035011660 pc=0x9d902e
github.com/breml/errchkjson.(*errchkjson).jsonSafe(0xc000afea30, {0x11ac4a8, 0xc0068c7df0}, 0x3fff80)
	github.com/breml/errchkjson@v0.2.1/errchkjson.go:217 +0x537 fp=0xc035011760 sp=0xc0350116e0 pc=0x9d8e77
created by github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*loadingPackage).analyze
	github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner_loadingpackage.go:75 +0x1fd

goroutine 1 [semacquire]:
sync.runtime_Semacquire(0xc0006d72a0)
	runtime/sema.go:56 +0x25
sync.(*WaitGroup).Wait(0xc001635130)
	sync/waitgroup.go:130 +0x71
github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*runner).analyze(0xc0012ff590, {0xc001474dc0, 0x40, 0xc0011a3470}, {0xc001010e00, 0xb1, 0xe0})
	github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner.go:279 +0x5ec
github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*runner).run(0xc0012ff590, {0xc001010e00, 0xb1, 0xe0}, {0xc001474dc0, 0xb1, 0x8})
	github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner.go:86 +0x1a5
github.com/golangci/golangci-lint/pkg/golinters/goanalysis.runAnalyzers({0x11c45b8, 0xc000c86080}, 0xc0005355e0)
	github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runners.go:52 +0x565
github.com/golangci/golangci-lint/pkg/golinters/goanalysis.MetaLinter.Run({{0xc0002a5600, 0xc000c22ff0, 0x140}, 0xc000399bc0}, {0x10, 0x100000000000010}, 0x7f961de56030)
	github.com/golangci/golangci-lint/pkg/golinters/goanalysis/metalinter.go:31 +0x165
github.com/golangci/golangci-lint/pkg/lint.(*Runner).runLinterSafe(0x0, {0x11b7788, 0xc000c52ae0}, 0x203000, 0xc0002b9d80)
	github.com/golangci/golangci-lint/pkg/lint/runner.go:120 +0xcc
github.com/golangci/golangci-lint/pkg/lint.Runner.Run.func1()
	github.com/golangci/golangci-lint/pkg/lint/runner.go:204 +0x65
github.com/golangci/golangci-lint/pkg/timeutils.(*Stopwatch).TrackStage(0xc000c46d70, {0x1018d71, 0x15}, 0xc0002679f8)
	github.com/golangci/golangci-lint/pkg/timeutils/stopwatch.go:111 +0x4a
github.com/golangci/golangci-lint/pkg/lint.Runner.Run({{0xc000cc0640, 0x14, 0x14}, {0x11c8c00, 0xc00090f110}}, {0x11b7788, 0xc000c52ae0}, {0xc0011a3510, 0x1, 0x1}, ...)
	github.com/golangci/golangci-lint/pkg/lint/runner.go:203 +0x2c6
github.com/golangci/golangci-lint/pkg/commands.(*Executor).runAnalysis(0xc000242c00, {0x11b7788, 0xc000c52ae0}, {0x1a0c1c8, 0x19d12e0, 0x11b7788})
	github.com/golangci/golangci-lint/pkg/commands/run.go:359 +0x513
github.com/golangci/golangci-lint/pkg/commands.(*Executor).runAndPrint(0xc000242c00, {0x11b7788, 0xc000c52ae0}, {0x1a0c1c8, 0x0, 0x0})
	github.com/golangci/golangci-lint/pkg/commands/run.go:400 +0x1e5
github.com/golangci/golangci-lint/pkg/commands.(*Executor).executeRun(0xc000242c00, 0xc000267d88, {0x1a0c1c8, 0x0, 0x0})
	github.com/golangci/golangci-lint/pkg/commands/run.go:513 +0x248
github.com/spf13/cobra.(*Command).execute(0xc000511180, {0x1a0c1c8, 0x0, 0x0})
	github.com/spf13/cobra@v1.3.0/command.go:860 +0x5f8
github.com/spf13/cobra.(*Command).ExecuteC(0xc000510f00)
	github.com/spf13/cobra@v1.3.0/command.go:974 +0x3bc
github.com/spf13/cobra.(*Command).Execute(...)
	github.com/spf13/cobra@v1.3.0/command.go:902
github.com/golangci/golangci-lint/pkg/commands.(*Executor).Execute(...)
	github.com/golangci/golangci-lint/pkg/commands/executor.go:147
main.main()
	github.com/golangci/golangci-lint/cmd/golangci-lint/main.go:21 +0x4f

goroutine 538 [semacquire]:
sync.runtime_Semacquire(0x0)
	runtime/sema.go:56 +0x25
sync.(*WaitGroup).Wait(0x203000)
	sync/waitgroup.go:130 +0x71
github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*loadingPackage).analyze(0xc000bb9620, 0x2, 0xc001ca2000)
	github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner_loadingpackage.go:83 +0x2d7
github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*loadingPackage).analyzeRecursive.func1()
	github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner_loadingpackage.go:48 +0x1ae
sync.(*Once).doSlow(0x11ace58, 0xc0000637d0)
	sync/once.go:68 +0xd2
sync.(*Once).Do(...)
	sync/once.go:59
github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*loadingPackage).analyzeRecursive(0xc001679001, 0x43e6e5, 0xc000245080)
	github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner_loadingpackage.go:37 +0x52
github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*runner).analyze.func2(0x0)
	github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner.go:274 +0x2e
created by github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*runner).analyze
	github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner.go:273 +0x5da

Let me know if you need more information!

@breml
Copy link
Owner

breml commented Feb 2, 2022

Can you please check, if you have a "loop" of nested structs, that you want to marshal? See the example in https://github.com/breml/errchkjson/pull/7/files#diff-c7997e94ab5881341585872352a6e9dce4ffac9df606a02d0c15e8feb05280a6

@vansante
Copy link
Author

vansante commented Feb 2, 2022

Yes, I am json encoding the modules the program was built with, see:

	version := struct {
		// Removed other stuff
		Modules      []*debug.Module `json:"modules"`
	}{}

	bi, ok := debug.ReadBuildInfo()
	if ok {
		version.Modules = bi.Deps
	}

breml added a commit to markus-wa/errchkjson that referenced this issue Feb 2, 2022
@breml
Copy link
Owner

breml commented Feb 2, 2022

Hi @vansante
I have a fix for this issue in #7. Do you have the possibility to test this version of errchkjson against your code and provide feedback?

@breml breml closed this as completed in a1a85f0 Feb 3, 2022
@vansante
Copy link
Author

vansante commented Feb 3, 2022

I'll be able to check this tomorrow, but I think I had the same problem so it should be looking good 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants