Does this issue reproduce with the latest release?
NA
What operating system and processor architecture are you using (go env)?
rehl7 x86
go env Output
$ go env
What did you do?
It was found that the K8s APIServer was blocked, which made it unable to respond to some HTTP2 request. After analyzing it through delve, it was found that the serverConn.flow.n = 0,We found that the header of this response has been sent, but the body has not been sent because the window is 0, causing the client to be hung
relevant stack
(dlv) Switched from 0 to 62185578 (thread 39215)
(dlv) 0 0x000000000042fd6a in runtime.gopark
at /opt/rh/go-toolset-1.10/root/usr/lib/go-toolset-1.10-golang/src/runtime/proc.go:292
1 0x000000000043fa80 in runtime.selectgo
at /opt/rh/go-toolset-1.10/root/usr/lib/go-toolset-1.10-golang/src/runtime/select.go:392
2 0x00000000008c136a in github.com/openshift/origin/vendor/golang.org/x/net/http2.(*serverConn).writeDataFromHandler
at /builddir/build/BUILD/atomic-openshift-git-0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/golang.org/x/net/http2/server.go:945
3 0x00000000008c815c in github.com/openshift/origin/vendor/golang.org/x/net/http2.(*responseWriterState).writeChunk
at /builddir/build/BUILD/atomic-openshift-git-0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/golang.org/x/net/http2/server.go:2358
4 0x00000000008c7ae9 in github.com/openshift/origin/vendor/golang.org/x/net/http2.chunkWriter.Write
at /builddir/build/BUILD/atomic-openshift-git-0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/golang.org/x/net/http2/server.go:2266
5 0x00000000004fe71d in bufio.(*Writer).Write
at /opt/rh/go-toolset-1.10/root/usr/lib/go-toolset-1.10-golang/src/bufio/bufio.go:605
6 0x00000000008c91d6 in github.com/openshift/origin/vendor/golang.org/x/net/http2.(*responseWriter).write
at /builddir/build/BUILD/atomic-openshift-git-0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/golang.org/x/net/http2/server.go:2544
7 0x00000000008c9016 in github.com/openshift/origin/vendor/golang.org/x/net/http2.(*responseWriter).Write
at /builddir/build/BUILD/atomic-openshift-git-0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/golang.org/x/net/http2/server.go:2518
8 0x000000000187e94d in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/httplog.(*respLogger).Write
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/httplog/httplog.go:171
9 0x0000000001b27de5 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/filters.(*baseTimeoutWriter).Write
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/filters/timeout.go:181
10 0x00000000018703ad in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/metrics.(*ResponseWriterDelegator).Write
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/metrics/metrics.go:314
11 0x0000000000947775 in github.com/openshift/origin/vendor/k8s.io/apimachinery/pkg/runtime/serializer/protobuf.(*Serializer).Encode
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apimachinery/pkg/runtime/serializer/protobuf/protobuf.go:211
12 0x0000000000944a63 in github.com/openshift/origin/vendor/k8s.io/apimachinery/pkg/runtime/serializer/versioning.(*codec).Encode
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning.go:221
13 0x0000000001879bd9 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/handlers/responsewriters.SerializeObject
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/handlers/responsewriters/writers.go:97
14 0x0000000001879f7f in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/handlers/responsewriters.WriteObjectNegotiated
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/handlers/responsewriters/writers.go:123
15 0x0000000001879382 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/handlers/responsewriters.WriteObject
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/handlers/responsewriters/writers.go:52
16 0x0000000001b5164a in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/handlers.transformResponseObject
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/handlers/response.go:172
17 0x0000000001b5b701 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/handlers.getResourceHandler.func1
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/handlers/get.go:77
18 0x0000000001b79af7 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints.restfulGetResource.func1
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/installer.go:1052
19 0x0000000001871078 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/metrics.InstrumentRouteFunc.func1
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/metrics/metrics.go:225
20 0x000000000182d259 in github.com/openshift/origin/vendor/github.com/emicklei/go-restful.(*Container).dispatch
at /builddir/build/BUILD/atomic-openshift-git-0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/github.com/emicklei/gorestful/container.go:277
21 0x000000000182c847 in github.com/openshift/origin/vendor/github.com/emicklei/go-restful.(*Container).Dispatch
at /builddir/build/BUILD/atomic-openshift-git-0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/github.com/emicklei/gorestful/container.go:199
22 0x0000000001b80a5c in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server.director.ServeHTTP
at /builddir/build/BUILD/atomic-openshift-git-0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/handler.go:146
23 0x0000000001b85cb5 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server.(*director).ServeHTTP
at :1
24 0x00000000037796b9 in github.com/openshift/origin/vendor/k8s.io/kube-aggregator/pkg/apiserver.(*proxyHandler).ServeHTTP
at /builddir/build/BUILD/atomic-openshift-git-0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/kubeaggregator/pkg/apiserver/handler_proxy.go:90
25 0x0000000001b2e986 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/mux.(*pathHandler).ServeHTTP
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/mux/pathrecorder.go:248
26 0x0000000001b2e6da in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/mux.(*PathRecorderMux).ServeHTTP
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/mux/pathrecorder.go:234
27 0x0000000001b80c18 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server.director.ServeHTTP
at /builddir/build/BUILD/atomic-openshift-git-0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/handler.go:154
28 0x0000000001b85cb5 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server.(*director).ServeHTTP
at :1
29 0x0000000001883c4d in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/filters.WithAuthorization.func1
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/filters/authorization.go:64
30 0x0000000000869a04 in net/http.HandlerFunc.ServeHTTP
at /opt/rh/go-toolset-1.10/root/usr/lib/go-toolset-1.10-golang/src/net/http/server.go:1947
31 0x0000000001b29a5c in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/filters.WithMaxInFlightLimit.func1
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/filters/maxinflight.go:160
32 0x0000000000869a04 in net/http.HandlerFunc.ServeHTTP
at /opt/rh/go-toolset-1.10/root/usr/lib/go-toolset-1.10-golang/src/net/http/server.go:1947
33 0x00000000018859a4 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/filters.WithImpersonation.func1
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/filters/impersonation.go:49
34 0x0000000000869a04 in net/http.HandlerFunc.ServeHTTP
at /opt/rh/go-toolset-1.10/root/usr/lib/go-toolset-1.10-golang/src/net/http/server.go:1947
35 0x0000000001882aed in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/filters.WithAudit.func1
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/filters/audit.go:54
36 0x0000000000869a04 in net/http.HandlerFunc.ServeHTTP
at /opt/rh/go-toolset-1.10/root/usr/lib/go-toolset-1.10-golang/src/net/http/server.go:1947
37 0x0000000001882f13 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/filters.WithAuthentication.func1
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/endpoints/filters/authentication.go:75
38 0x0000000000869a04 in net/http.HandlerFunc.ServeHTTP
at /opt/rh/go-toolset-1.10/root/usr/lib/go-toolset-1.10-golang/src/net/http/server.go:1947
39 0x0000000001b28e78 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/filters.WithCORS.func1
at /builddir/build/BUILD/atomic-openshift-git-0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/filters/cors.go:75
40 0x0000000000869a04 in net/http.HandlerFunc.ServeHTTP
at /opt/rh/go-toolset-1.10/root/usr/lib/go-toolset-1.10-golang/src/net/http/server.go:1947
41 0x0000000001b2a323 in github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/filters.(*timeoutHandler).ServeHTTP.func1
at /builddir/build/BUILD/atomic-openshift-git-
0.6e33ff0/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/apiserver/pkg/server/filters/timeout.go:109
42 0x000000000045d651 in runtime.goexit
at /opt/rh/go-toolset-1.10/root/usr/lib/go-toolset-1.10-golang/src/runtime/asm_amd64.s:2361
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
NA
What operating system and processor architecture are you using (
go env
)?rehl7 x86
go env
OutputWhat did you do?
It was found that the K8s APIServer was blocked, which made it unable to respond to some HTTP2 request. After analyzing it through delve, it was found that the serverConn.flow.n = 0,We found that the header of this response has been sent, but the body has not been sent because the window is 0, causing the client to be hung
relevant stack
stream value
What did you expect to see?
What did you see instead?