Crash: fatal error: concurrent map read and map write
## Summary One of our k8s runners crashed with the error message: `fatal error: concurrent map read and map write`. From our investigations this looks like it was caused by the dependency `github.com/moby/spdystream`. There seems to be an open PR for that dependency, that may fix this issue: https://github.com/moby/spdystream/pull/91. ## Steps to reproduce Reproducing is hard, because this seems to be a concurrency bug. ## Relevant logs and/or screenshots The following is the start of the stack trace and to our knowledge the relevant goroutine that causes the crash in the `github.com/moby/spdystream` dependency. <details> <summary>job log</summary> ```sh ... (usual logs) fatal error: concurrent map read and map write goroutine ********* [running]: github.com/moby/spdystream.(*Connection).handlePingFrame(0xc02c9afc20?, 0xc0008faf90?) /go/pkg/mod/github.com/moby/spdystream@v0.2.0/connection.go:618 +0x3b github.com/moby/spdystream.(*Connection).frameHandler(0xc003329b80, 0x2600f80?, 0xc016dd93b0?) /go/pkg/mod/github.com/moby/spdystream@v0.2.0/connection.go:432 +0x17f github.com/moby/spdystream.(*Connection).Serve.func2(0xc0017df7a8?) /go/pkg/mod/github.com/moby/spdystream@v0.2.0/connection.go:331 +0x66 created by github.com/moby/spdystream.(*Connection).Serve /go/pkg/mod/github.com/moby/spdystream@v0.2.0/connection.go:327 +0x71 ... (rest of the stack trace omitted, because it is too long and not relevant) ``` </details> ## Environment description The runner is a k8s runner. ### Used GitLab Runner version v15.11.0 ## Possible fixes The open PR https://github.com/moby/spdystream/pull/91 for `github.com/moby/spdystream` may fix this issue. If the upstream project does not fix the issue, you may need to fork the project and apply a fix.
issue