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

x/net/http2/hpack: "id (106) <= evictCount (117)" panic in headerFieldTable.idToIndex #69316

Open
sprappcom opened this issue Sep 6, 2024 · 2 comments
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@sprappcom
Copy link

Go version

go 1.23

Output of go env in your module/workspace:

go env
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/root/.cache/go-build'
GOENV='/root/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE='*'
GOMODCACHE='/root/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/root/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/local/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.23.0'
GODEBUG=''
GOTELEMETRY='local'
GOTELEMETRYDIR='/root/.config/go/telemetry'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD=
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build2845012808=/tmp/go-build -gno-record-gcc-switches'

What did you do?

warded-Proto:[https]]
2024/09/06 15:43:20 Sending request to backend
panic: id (106) <= evictCount (117)

goroutine 9201 [running]:
vendor/golang.org/x/net/http2/hpack.(*headerFieldTable).idToIndex(0xc0000bca00, 0xc00055dcb0?)
/usr/local/go/src/vendor/golang.org/x/net/http2/hpack/tables.go:118 +0xbd
vendor/golang.org/x/net/http2/hpack.(*headerFieldTable).search(0xc0000bca00, {{0x148ff02, 0x6}, {0xc000112ea0, 0xc1}, 0x0})
/usr/local/go/src/vendor/golang.org/x/net/http2/hpack/tables.go:105 +0xe5
vendor/golang.org/x/net/http2/hpack.(*Encoder).searchTable(0xc0000bca00, {{0x148ff02, 0x6}, {0xc000112ea0, 0xc1}, 0x0})
/usr/local/go/src/vendor/golang.org/x/net/http2/hpack/encode.go:97 +0x85
vendor/golang.org/x/net/http2/hpack.(*Encoder).WriteField(0xc0000bca00, {{0x148ff02, 0x6}, {0xc000112ea0, 0xc1}, 0x0})
/usr/local/go/src/vendor/golang.org/x/net/http2/hpack/encode.go:62 +0x145
net/http.(*http2ClientConn).writeHeader(0xc000956b60?, {0x148ff02?, 0x1454060?}, {0xc000112ea0?, 0xc000a63650?})
/usr/local/go/src/net/http/h2_bundle.go:9331 +0x148
net/http.(*http2ClientConn).encodeHeaders.func3({0xc000956b60?, 0xc000a63650?}, {0xc000112ea0, 0xc1})
/usr/local/go/src/net/http/h2_bundle.go:9265 +0x71
net/http.(*http2ClientConn).encodeHeaders.func1(0xc000933bb8)
/usr/local/go/src/net/http/h2_bundle.go:9226 +0x627
net/http.(*http2ClientConn).encodeHeaders(0xc0002eed80, 0xc0003a8500, 0x0, {0x0, 0x0}, 0x0)
/usr/local/go/src/net/http/h2_bundle.go:9258 +0x58c
net/http.(*http2clientStream).encodeAndWriteHeaders(0xc00072e300, 0xc0003a8500)
/usr/local/go/src/net/http/h2_bundle.go:8721 +0x2e9
net/http.(*http2clientStream).writeRequest(0xc00072e300, 0xc0003a8500, 0x0)
/usr/local/go/src/net/http/h2_bundle.go:8617 +0x535
net/http.(*http2clientStream).doRequest(0xc00072e300, 0x1856ea0?, 0xc000867068?)
/usr/local/go/src/net/http/h2_bundle.go:8551 +0x56
created by net/http.(*http2ClientConn).roundTrip in goroutine 9199
/usr/local/go/src/net/http/h2_bundle.go:8456 +0x3d8

What did you see happen?

some crawler online crash it.

What did you expect to see?

at least an error msg but not crash

@dmitshur dmitshur changed the title import/path: net/http h2 issue? not sure. shouldnt crash. how to debug? x/net/http2/hpack: "id (106) <= evictCount (117)" panic in headerFieldTable.idToIndex Sep 6, 2024
@gopherbot gopherbot added this to the Unreleased milestone Sep 6, 2024
@dmitshur
Copy link
Contributor

dmitshur commented Sep 6, 2024

CC @neild, @tombergan.

@dmitshur dmitshur added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Sep 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
None yet
Development

No branches or pull requests

4 participants