Panic on cloud due to panic in GraphQL resolver
Created by: daxmc99
There is a concurrent map write that is induced by some specific queries used by @slimsag
Details
concurrent map writes
goroutine 729903 [running]:
runtime.throw({0x3146402?, 0xc07cd345a0?})
runtime/panic.go:992 +0x71 fp=0xc0493d4608 sp=0xc0493d45d8 pc=0x4388f1
runtime.mapassign(0x89853f8?, 0xc0297334d0?, 0xc0297334d0?)
runtime/map.go:595 +0x4d6 fp=0xc0493d4688 sp=0xc0493d4608 pc=0x40f516
github.com/sourcegraph/sourcegraph/enterprise/cmd/frontend/internal/codeintel/resolvers.(*queryResolver).uploadsByIDs(0xc077510580, {0x89853f8, 0xc0297334d0}, {0xc04c640000, 0x1f4, 0x89853f8?})
github.com/sourcegraph/sourcegraph/enterprise/cmd/frontend/internal/codeintel/resolvers/query_references.go:472 +0x494 fp=0xc0493d48f0 sp=0xc0493d4688 pc=0x26671b4
github.com/sourcegraph/sourcegraph/enterprise/cmd/frontend/internal/codeintel/resolvers.(*queryResolver).pageRemoteLocations(0xc077510580, {0x89853f8, 0xc0297334d0}, {0x30f4ce3, 0xf}, {0xc047c73600, 0x1, 0x1}, {0xc07d878300, 0x1, ...}, ...)
github.com/sourcegraph/sourcegraph/enterprise/cmd/frontend/internal/codeintel/resolvers/query_references.go:303 +0x205 fp=0xc0493d4b70 sp=0xc0493d48f0 pc=0x2665b45
github.com/sourcegraph/sourcegraph/enterprise/cmd/frontend/internal/codeintel/resolvers.(*queryResolver).Implementations(0xc077510580, {0x89853f8, 0xc020eb7a40}, 0x154, 0x5, 0x1, {0x0, 0x0})
github.com/sourcegraph/sourcegraph/enterprise/cmd/frontend/internal/codeintel/resolvers/query_implementations.go:121 +0x1a05 fp=0xc0493d5318 sp=0xc0493d4b70 pc=0x2661b45
github.com/sourcegraph/sourcegraph/enterprise/cmd/frontend/internal/codeintel/resolvers/graphql.(*QueryResolver).Implementations(0xc04ab01040, {0x89853f8, 0xc020eb7a40}, 0x468599?)
github.com/sourcegraph/sourcegraph/enterprise/cmd/frontend/internal/codeintel/resolvers/graphql/query.go:158 +0x256 fp=0xc0493d5600 sp=0xc0493d5318 pc=0x2686376
runtime.call32(0xc03329cc90, 0x89910a0, 0x0, 0x0, 0x0, 0x20, 0xc0493d5b40)
runtime/asm_amd64.s:702 +0x49 fp=0xc0493d5630 sp=0xc0493d5600 pc=0x46a2c9
runtime.reflectcall(0x2b5ab80?, 0xc072612c90?, 0x4?, 0x3123729?, 0x0?, 0x12?, 0x2b5ab80?)
<autogenerated>:1 +0x3c fp=0xc0493d5670 sp=0xc0493d5630 pc=0x46e5fc
reflect.Value.call({0x2d48bc0?, 0xc0886ae140?, 0x30?}, {0x302a62a, 0x4}, {0xc0297333e0, 0x2, 0x4e134e?})
reflect/value.go:556 +0x845 fp=0xc0493d5c60 sp=0xc0493d5670 pc=0x4db245
reflect.Value.Call({0x2d48bc0?, 0xc0886ae140?, 0xb8?}, {0xc0297333e0, 0x2, 0x2})
reflect/value.go:339 +0xbf fp=0xc0493d5cd8 sp=0xc0493d5c60 pc=0x4da7bf
github.com/graph-gophers/graphql-go/internal/exec.execFieldSelection.func2(0x203000?, {0x89853f8?, 0xc020eb7a40?}, 0xc01abd3b18, 0xc04ab01940, 0xc0493d5ec0, {0x89853f8?, 0xc020eb7a40})
github.com/graph-gophers/[email protected]/internal/exec/exec.go:211 +0x4cb fp=0xc0493d5e18 sp=0xc0493d5cd8 pc=0x1e7156b
github.com/graph-gophers/graphql-go/internal/exec.execFieldSelection({0x89853f8, 0xc020eb7a40}, 0xc0026c4f80, 0xc000349798?, 0xc04ab01940, 0xc018e40a00?, 0x1)
github.com/graph-gophers/[email protected]/internal/exec/exec.go:231 +0x1ce fp=0xc0493d5f08 sp=0xc0493d5e18 pc=0x1e70eee
github.com/graph-gophers/graphql-go/internal/exec.(*Request).execSelections.func1(0xc04ab01940)
github.com/graph-gophers/[email protected]/internal/exec/exec.go:81 +0x1b4 fp=0xc0493d5fc8 sp=0xc0493d5f08 pc=0x1e70174
github.com/graph-gophers/graphql-go/internal/exec.(*Request).execSelections.func2()
This appears to be in a code-intel query resolver
Further info from @slimsag and in the #inc-114 channel log2.txt