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

Infinite loop on goroutine with http.ResponseController changes #5671

Closed
JeDaYoshi opened this issue Aug 2, 2023 · 26 comments · Fixed by #5672
Closed

Infinite loop on goroutine with http.ResponseController changes #5671

JeDaYoshi opened this issue Aug 2, 2023 · 26 comments · Fixed by #5672
Labels
bug 🐞 Something isn't working
Milestone

Comments

@JeDaYoshi
Copy link

JeDaYoshi commented Aug 2, 2023

Not sure what happened - I was running master on this server for a while, last updated to commit e041962 I believe. I got notified for the Caddy 2.7 release, I re-built it, and now HTTP/3 fails on this specific server by crashing on the first request it gets it seems to be crashing when encode is enabled and the client requests compression.

Caddy version is v2.7.0 h1:ZrAwnBzZ/FBoNw+WBlF2HER8oEs/O7c20ku6nbWFqco=, running on Fedora 38.
Built using Go v1.20.7. (Past working build was on v1.20.6)

systemd[1]: Started caddy.service - Caddy.
caddy[69585]: runtime: goroutine stack exceeds 1000000000-byte limit
caddy[69585]: runtime: sp=0xc0209e0398 stack=[0xc0209e0000, 0xc0409e0000]
caddy[69585]: fatal error: stack overflow
systemd[1]: caddy.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
systemd[1]: caddy.service: Failed with result 'exit-code'.

The info below is now invalid, as it seems to be unrelated.

$ curl3 --http3 -v https://xxx
*   Trying xxx:443...
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: none
*   Trying xxx:443...
*   Trying xxx:443...
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: none
* Connected to xxx (xxx) port 443 (#0)
* ALPN: offers h2,http/1.1
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: none
*  subjectAltName: host "xxx" matched cert's "xxx"
* Connected to xxx (xxx) port 443 (#0)
* using HTTP/3
* Using HTTP/3 Stream ID: 0 (easy handle 0x560045cd4db0)
> GET / HTTP/3
> Host: xxx
> User-Agent: curl/8.1.2
> Accept: */*
> 
zsh: terminated  curl3 --http3 -v https://xxx

(Not sure what's up with my curl there - it eats all the RAM it can until the OOM killer terminates it. On Firefox it stays infinitely loading.)

The config isn't something big, either:

xxx {
	import common

	header {
		X-Robots-Tag "none"
		-X-Powered-By
		-Server
	}

	header /api/collect {
		Access-Control-Max-Age "86400"
	}

	reverse_proxy 127.0.0.1:3000
}

common is merely this:

(common) {
	encode {
		zstd
		gzip
	}
}

HTTP/2 seems to be experiencing no crashes, only HTTP/3.

@JeDaYoshi
Copy link
Author

QUIC_GO_ENABLE_GSO=true is unrelated - crashes without it. Will keep trying to see if I can pinpoint when was the issue introduced/what triggers it.

@mholt
Copy link
Member

mholt commented Aug 2, 2023

Also noticing some issues now.

Very strange -- was not having issues with testing earlier even today.

@mholt
Copy link
Member

mholt commented Aug 2, 2023

Pinging @marten-seemann just in case

@marten-seemann
Copy link
Contributor

Can you post the stack trace please?

@JeDaYoshi
Copy link
Author

JeDaYoshi commented Aug 2, 2023

@marten-seemann It doesn't throw a trace while crashing. I can get it for you; just not sure how at the moment.

Also, I checked out commit e198c60 and the server's back functional. Wondering if cd486c2 could be the cause? (@mholt / @francislavoie)

Keep in mind that I'm not enabling enable_full_duplex on my config.

@francislavoie
Copy link
Member

Can you try without encode and without header as well to narrow it down?

Sorry about this 😩 I guess we were a bit hasty with that commit.

@JeDaYoshi
Copy link
Author

Seems like HTTP/3 isn't related in here, and cd486c2 is indeed the culprit. Must have been a coincidence in my case...

@francislavoie Disabling encode fixed it. Works with or without header, just not encode.

caddy[70453]: runtime: goroutine stack exceeds 1000000000-byte limit
caddy[70453]: runtime: sp=0xc04c880370 stack=[0xc04c880000, 0xc06c880000]
systemd[1]: caddy.service: A process of this unit has been killed by the OOM killer.
systemd[1]: caddy.service: Main process exited, code=killed, status=9/KILL
systemd[1]: caddy.service: Failed with result 'oom-kill'.

@JeDaYoshi JeDaYoshi changed the title Crash on HTTP/3 requests: runtime: goroutine stack exceeds 1000000000-byte limit Infinite loop on goroutine with http.ResponseController commit Aug 2, 2023
@JeDaYoshi JeDaYoshi changed the title Infinite loop on goroutine with http.ResponseController commit Infinite loop on goroutine with http.ResponseController changes Aug 2, 2023
@francislavoie
Copy link
Member

I'm trying to reproduce but I'm having trouble with HTTP/3 locally 😬 why do browsers make it so hard to force HTTP/3 😢 and my usual build of curl https://github.com/yurymuski/curl-http3 doesn't support --compressed. Setting up a VM now to test it instead.

@JeDaYoshi
Copy link
Author

As mentioned, doesn't seem to be related to HTTP/3 - it's crashing for me on HTTP/2 too, my belief of it being related to HTTP/3 was likely something else doing a request to the server at the same time I was doing one too. It's just merely related to compression.

@francislavoie
Copy link
Member

Oh, well I can't get it to crash with HTTP/2 either. 🤔

@hwilok
Copy link

hwilok commented Aug 2, 2023

I have encountered the same issue. Here stacktrace:

runtime: goroutine stack exceeds 1000000000-byte limit
runtime: sp=0xc020a60380 stack=[0xc020a60000, 0xc040a60000]
fatal error: stack overflow

runtime stack:
runtime.throw({0x1dad6ab?, 0x30736a0?})
        /usr/local/go/src/runtime/panic.go:1047 +0x5d fp=0xc000467e18 sp=0xc000467de8 pc=0x4392fd
runtime.newstack()
        /usr/local/go/src/runtime/stack.go:1105 +0x5bd fp=0xc000467fc8 sp=0xc000467e18 pc=0x453ddd
runtime.morestack()
        /usr/local/go/src/runtime/asm_amd64.s:574 +0x8b fp=0xc000467fd0 sp=0xc000467fc8 pc=0x46e6cb

goroutine 369 [running]:
runtime.getitab(0x1aaf9a0?, 0x1c29040?, 0x1?)
        /usr/local/go/src/runtime/iface.go:34 +0x2da fp=0xc020a60390 sp=0xc020a60388 pc=0x40af1a
runtime.assertI2I2(0x40acad?, {0x2273240?, 0xc000456910?})
        /usr/local/go/src/runtime/iface.go:438 +0x3d fp=0xc020a603c0 sp=0xc020a60390 pc=0x40bddd
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:50 +0x69 fp=0xc020a60418 sp=0xc020a603c0 pc=0x775329
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60440 sp=0xc020a60418 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60498 sp=0xc020a60440 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a604c0 sp=0xc020a60498 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60518 sp=0xc020a604c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60540 sp=0xc020a60518 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60598 sp=0xc020a60540 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a605c0 sp=0xc020a60598 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60618 sp=0xc020a605c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60640 sp=0xc020a60618 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60698 sp=0xc020a60640 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a606c0 sp=0xc020a60698 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60718 sp=0xc020a606c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60740 sp=0xc020a60718 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60798 sp=0xc020a60740 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a607c0 sp=0xc020a60798 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60818 sp=0xc020a607c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60840 sp=0xc020a60818 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60898 sp=0xc020a60840 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a608c0 sp=0xc020a60898 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60918 sp=0xc020a608c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60940 sp=0xc020a60918 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60998 sp=0xc020a60940 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a609c0 sp=0xc020a60998 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60a18 sp=0xc020a609c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60a40 sp=0xc020a60a18 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60a98 sp=0xc020a60a40 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60ac0 sp=0xc020a60a98 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60b18 sp=0xc020a60ac0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60b40 sp=0xc020a60b18 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60b98 sp=0xc020a60b40 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60bc0 sp=0xc020a60b98 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60c18 sp=0xc020a60bc0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60c40 sp=0xc020a60c18 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60c98 sp=0xc020a60c40 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60cc0 sp=0xc020a60c98 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60d18 sp=0xc020a60cc0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60d40 sp=0xc020a60d18 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60d98 sp=0xc020a60d40 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60dc0 sp=0xc020a60d98 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60e18 sp=0xc020a60dc0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60e40 sp=0xc020a60e18 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60e98 sp=0xc020a60e40 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60ec0 sp=0xc020a60e98 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60f18 sp=0xc020a60ec0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60f40 sp=0xc020a60f18 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a60f98 sp=0xc020a60f40 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a60fc0 sp=0xc020a60f98 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61018 sp=0xc020a60fc0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61040 sp=0xc020a61018 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61098 sp=0xc020a61040 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a610c0 sp=0xc020a61098 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61118 sp=0xc020a610c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61140 sp=0xc020a61118 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61198 sp=0xc020a61140 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a611c0 sp=0xc020a61198 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61218 sp=0xc020a611c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61240 sp=0xc020a61218 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61298 sp=0xc020a61240 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a612c0 sp=0xc020a61298 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61318 sp=0xc020a612c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61340 sp=0xc020a61318 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61398 sp=0xc020a61340 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a613c0 sp=0xc020a61398 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61418 sp=0xc020a613c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61440 sp=0xc020a61418 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61498 sp=0xc020a61440 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a614c0 sp=0xc020a61498 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61518 sp=0xc020a614c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61540 sp=0xc020a61518 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61598 sp=0xc020a61540 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a615c0 sp=0xc020a61598 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61618 sp=0xc020a615c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61640 sp=0xc020a61618 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61698 sp=0xc020a61640 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a616c0 sp=0xc020a61698 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61718 sp=0xc020a616c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61740 sp=0xc020a61718 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61798 sp=0xc020a61740 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a617c0 sp=0xc020a61798 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61818 sp=0xc020a617c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61840 sp=0xc020a61818 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61898 sp=0xc020a61840 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a618c0 sp=0xc020a61898 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61918 sp=0xc020a618c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61940 sp=0xc020a61918 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61998 sp=0xc020a61940 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a619c0 sp=0xc020a61998 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61a18 sp=0xc020a619c0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61a40 sp=0xc020a61a18 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61a98 sp=0xc020a61a40 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61ac0 sp=0xc020a61a98 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61b18 sp=0xc020a61ac0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61b40 sp=0xc020a61b18 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61b98 sp=0xc020a61b40 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61bc0 sp=0xc020a61b98 pc=0x130713b
net/http.(*ResponseController).Flush(0x1aff140?)
        /usr/local/go/src/net/http/responsecontroller.go:53 +0xd0 fp=0xc020a61c18 sp=0xc020a61bc0 pc=0x775390
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40acad?)
        /go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020a61c40 sp=0xc020a61c18 pc=0x130713b
...additional frames elided...
created by golang.org/x/net/http2.(*serverConn).processHeaders
        /go/pkg/mod/golang.org/x/net@v0.13.0/http2/server.go:2028 +0x68a

@JeDaYoshi
Copy link
Author

JeDaYoshi commented Aug 2, 2023

On HTTP/2 I got a... rather loud stack trace:

caddy[70763]: runtime: goroutine stack exceeds 1000000000-byte limit
caddy[70763]: runtime: sp=0xc020880370 stack=[0xc020880000, 0xc040880000]
caddy[70763]: fatal error: stack overflow
caddy[70763]: runtime stack:
caddy[70763]: runtime.throw({0x1a86e15?, 0x2adbb20?})
caddy[70763]:         runtime/panic.go:1047 +0x5d fp=0x7fff944fed98 sp=0x7fff944fed68 pc=0x438f5d
caddy[70763]: runtime.newstack()
caddy[70763]:         runtime/stack.go:1105 +0x5bd fp=0x7fff944fef48 sp=0x7fff944fed98 pc=0x453a3d
caddy[70763]: runtime.morestack()
caddy[70763]:         runtime/asm_amd64.s:574 +0x8b fp=0x7fff944fef50 sp=0x7fff944fef48 pc=0x46e36b
caddy[70763]: goroutine 50 [running]:
caddy[70763]: runtime.getitab(0x18025e0?, 0x19499e0?, 0x1?)
caddy[70763]:         runtime/iface.go:34 +0x2da fp=0xc020880380 sp=0xc020880378 pc=0x40ad3a
caddy[70763]: runtime.assertI2I2(0x40aacd?, {0x1f126a0?, 0xc0000d6230?})
caddy[70763]:         runtime/iface.go:438 +0x3d fp=0xc0208803b0 sp=0xc020880380 pc=0x40bbfd
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:50 +0x69 fp=0xc020880408 sp=0xc0208803b0 pc=0x773349
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880430 sp=0xc020880408 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880488 sp=0xc020880430 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208804b0 sp=0xc020880488 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880508 sp=0xc0208804b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880530 sp=0xc020880508 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880588 sp=0xc020880530 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208805b0 sp=0xc020880588 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880608 sp=0xc0208805b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880630 sp=0xc020880608 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880688 sp=0xc020880630 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208806b0 sp=0xc020880688 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880708 sp=0xc0208806b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880730 sp=0xc020880708 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880788 sp=0xc020880730 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208807b0 sp=0xc020880788 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880808 sp=0xc0208807b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880830 sp=0xc020880808 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880888 sp=0xc020880830 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208808b0 sp=0xc020880888 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880908 sp=0xc0208808b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880930 sp=0xc020880908 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880988 sp=0xc020880930 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208809b0 sp=0xc020880988 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880a08 sp=0xc0208809b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880a30 sp=0xc020880a08 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880a88 sp=0xc020880a30 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880ab0 sp=0xc020880a88 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880b08 sp=0xc020880ab0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880b30 sp=0xc020880b08 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880b88 sp=0xc020880b30 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880bb0 sp=0xc020880b88 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880c08 sp=0xc020880bb0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880c30 sp=0xc020880c08 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880c88 sp=0xc020880c30 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880cb0 sp=0xc020880c88 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880d08 sp=0xc020880cb0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880d30 sp=0xc020880d08 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880d88 sp=0xc020880d30 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880db0 sp=0xc020880d88 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880e08 sp=0xc020880db0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880e30 sp=0xc020880e08 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880e88 sp=0xc020880e30 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880eb0 sp=0xc020880e88 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880f08 sp=0xc020880eb0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880f30 sp=0xc020880f08 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020880f88 sp=0xc020880f30 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020880fb0 sp=0xc020880f88 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881008 sp=0xc020880fb0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881030 sp=0xc020881008 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881088 sp=0xc020881030 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208810b0 sp=0xc020881088 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881108 sp=0xc0208810b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881130 sp=0xc020881108 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881188 sp=0xc020881130 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208811b0 sp=0xc020881188 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881208 sp=0xc0208811b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881230 sp=0xc020881208 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881288 sp=0xc020881230 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208812b0 sp=0xc020881288 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881308 sp=0xc0208812b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881330 sp=0xc020881308 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881388 sp=0xc020881330 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208813b0 sp=0xc020881388 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881408 sp=0xc0208813b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881430 sp=0xc020881408 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881488 sp=0xc020881430 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208814b0 sp=0xc020881488 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881508 sp=0xc0208814b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881530 sp=0xc020881508 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881588 sp=0xc020881530 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208815b0 sp=0xc020881588 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881608 sp=0xc0208815b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881630 sp=0xc020881608 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881688 sp=0xc020881630 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208816b0 sp=0xc020881688 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881708 sp=0xc0208816b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881730 sp=0xc020881708 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881788 sp=0xc020881730 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208817b0 sp=0xc020881788 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881808 sp=0xc0208817b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881830 sp=0xc020881808 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881888 sp=0xc020881830 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208818b0 sp=0xc020881888 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881908 sp=0xc0208818b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881930 sp=0xc020881908 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881988 sp=0xc020881930 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc0208819b0 sp=0xc020881988 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881a08 sp=0xc0208819b0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881a30 sp=0xc020881a08 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881a88 sp=0xc020881a30 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881ab0 sp=0xc020881a88 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881b08 sp=0xc020881ab0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881b30 sp=0xc020881b08 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881b88 sp=0xc020881b30 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881bb0 sp=0xc020881b88 pc=0x12ffffb
caddy[70763]: net/http.(*ResponseController).Flush(0x1845140?)
caddy[70763]:         net/http/responsecontroller.go:53 +0xd0 fp=0xc020881c08 sp=0xc020881bb0 pc=0x7733b0
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Flush(0x40aacd?)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/encode/encode.go:215 +0x3b fp=0xc020881c30 sp=0xc020881c08 pc=0x12ffffb
caddy[70763]: ...additional frames elided...
caddy[70763]: created by golang.org/x/net/http2.(*serverConn).processHeaders
caddy[70763]:         golang.org/x/net@v0.12.0/http2/server.go:2028 +0x68a
caddy[70763]: goroutine 1 [select (no cases)]:
caddy[70763]: runtime.gopark(0xc0008bf9e8?, 0x4eff54?, 0xfb?, 0x6d?, 0x4?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008bf9c8 sp=0xc0008bf9a8 pc=0x43bcb6
caddy[70763]: runtime.block()
caddy[70763]:         runtime/select.go:103 +0x2c fp=0xc0008bf9f8 sp=0xc0008bf9c8 pc=0x44bbcc
caddy[70763]: github.com/caddyserver/caddy/v2/cmd.cmdRun({0x0?})
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/cmd/commandfuncs.go:274 +0xd1c fp=0xc0008bfd18 sp=0xc0008bf9f8 pc=0xb7615c
caddy[70763]: github.com/caddyserver/caddy/v2/cmd.WrapCommandFuncForCobra.func1(0xc00023e300?, {0x1a6785b?, 0x3?, 0x3?})
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/cmd/cobra.go:126 +0x2f fp=0xc0008bfd38 sp=0xc0008bfd18 pc=0xb743af
caddy[70763]: github.com/spf13/cobra.(*Command).execute(0xc00023e300, {0xc00038f380, 0x3, 0x3})
caddy[70763]:         github.com/spf13/cobra@v1.7.0/command.go:940 +0x862 fp=0xc0008bfe70 sp=0xc0008bfd38 pc=0x5cc8a2
caddy[70763]: github.com/spf13/cobra.(*Command).ExecuteC(0x2b5a020)
caddy[70763]:         github.com/spf13/cobra@v1.7.0/command.go:1068 +0x3bd fp=0xc0008bff28 sp=0xc0008bfe70 pc=0x5cd11d
caddy[70763]: github.com/spf13/cobra.(*Command).Execute(...)
caddy[70763]:         github.com/spf13/cobra@v1.7.0/command.go:992
caddy[70763]: github.com/caddyserver/caddy/v2/cmd.Main()
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/cmd/main.go:64 +0x5c fp=0xc0008bff70 sp=0xc0008bff28 pc=0xb7a85c
caddy[70763]: main.main()
caddy[70763]:         caddy/main.go:14 +0x17 fp=0xc0008bff80 sp=0xc0008bff70 pc=0x1693e77
caddy[70763]: runtime.main()
caddy[70763]:         runtime/proc.go:250 +0x207 fp=0xc0008bffe0 sp=0xc0008bff80 pc=0x43b887
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008bffe8 sp=0xc0008bffe0 pc=0x470301
caddy[70763]: goroutine 2 [force gc (idle)]:
caddy[70763]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc00005cfb0 sp=0xc00005cf90 pc=0x43bcb6
caddy[70763]: runtime.goparkunlock(...)
caddy[70763]:         runtime/proc.go:387
caddy[70763]: runtime.forcegchelper()
caddy[70763]:         runtime/proc.go:305 +0xb0 fp=0xc00005cfe0 sp=0xc00005cfb0 pc=0x43baf0
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc00005cfe8 sp=0xc00005cfe0 pc=0x470301
caddy[70763]: created by runtime.init.6
caddy[70763]:         runtime/proc.go:293 +0x25
caddy[70763]: goroutine 3 [GC sweep wait]:
caddy[70763]: runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc00005d780 sp=0xc00005d760 pc=0x43bcb6
caddy[70763]: runtime.goparkunlock(...)
caddy[70763]:         runtime/proc.go:387
caddy[70763]: runtime.bgsweep(0x0?)
caddy[70763]:         runtime/mgcsweep.go:319 +0xde fp=0xc00005d7c8 sp=0xc00005d780 pc=0x425efe
caddy[70763]: runtime.gcenable.func1()
caddy[70763]:         runtime/mgc.go:178 +0x26 fp=0xc00005d7e0 sp=0xc00005d7c8 pc=0x41b146
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc00005d7e8 sp=0xc00005d7e0 pc=0x470301
caddy[70763]: created by runtime.gcenable
caddy[70763]:         runtime/mgc.go:178 +0x6b
caddy[70763]: goroutine 4 [GC scavenge wait]:
caddy[70763]: runtime.gopark(0xc00007a000?, 0x1ef92c0?, 0x0?, 0x0?, 0x0?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc00005df70 sp=0xc00005df50 pc=0x43bcb6
caddy[70763]: runtime.goparkunlock(...)
caddy[70763]:         runtime/proc.go:387
caddy[70763]: runtime.(*scavengerState).park(0x2b805e0)
caddy[70763]:         runtime/mgcscavenge.go:400 +0x53 fp=0xc00005dfa0 sp=0xc00005df70 pc=0x423db3
caddy[70763]: runtime.bgscavenge(0x0?)
caddy[70763]:         runtime/mgcscavenge.go:633 +0x65 fp=0xc00005dfc8 sp=0xc00005dfa0 pc=0x4243a5
caddy[70763]: runtime.gcenable.func2()
caddy[70763]:         runtime/mgc.go:179 +0x26 fp=0xc00005dfe0 sp=0xc00005dfc8 pc=0x41b0e6
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc00005dfe8 sp=0xc00005dfe0 pc=0x470301
caddy[70763]: created by runtime.gcenable
caddy[70763]:         runtime/mgc.go:179 +0xaa
caddy[70763]: goroutine 5 [finalizer wait]:
caddy[70763]: runtime.gopark(0x43c032?, 0x7ff6e9aaaa48?, 0x0?, 0x0?, 0xc00005c770?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc00005c628 sp=0xc00005c608 pc=0x43bcb6
caddy[70763]: runtime.runfinq()
caddy[70763]:         runtime/mfinal.go:193 +0x107 fp=0xc00005c7e0 sp=0xc00005c628 pc=0x41a187
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc00005c7e8 sp=0xc00005c7e0 pc=0x470301
caddy[70763]: created by runtime.createfing
caddy[70763]:         runtime/mfinal.go:163 +0x45
caddy[70763]: goroutine 21 [select]:
caddy[70763]: runtime.gopark(0xc00005e790?, 0x2?, 0x1?, 0x0?, 0xc00005e774?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc00005e5f8 sp=0xc00005e5d8 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc00005e790, 0xc00005e770, 0x4061e0?, 0x0, 0xc00005e788?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc00005e738 sp=0xc00005e5f8 pc=0x44c39e
caddy[70763]: github.com/golang/glog.(*fileSink).flushDaemon(0x2b801d8)
caddy[70763]:         github.com/golang/glog@v1.1.0/glog_file.go:345 +0xcd fp=0xc00005e7c8 sp=0xc00005e738 pc=0xe24a6d
caddy[70763]: github.com/golang/glog.init.1.func1()
caddy[70763]:         github.com/golang/glog@v1.1.0/glog_file.go:163 +0x26 fp=0xc00005e7e0 sp=0xc00005e7c8 pc=0xe23ac6
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc00005e7e8 sp=0xc00005e7e0 pc=0x470301
caddy[70763]: created by github.com/golang/glog.init.1
caddy[70763]:         github.com/golang/glog@v1.1.0/glog_file.go:163 +0x17f
caddy[70763]: goroutine 22 [select]:
caddy[70763]: runtime.gopark(0xc0000586e8?, 0x3?, 0x0?, 0x0?, 0xc0000586da?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc000058560 sp=0xc000058540 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc0000586e8, 0xc0000586d4, 0x0?, 0x2, 0x0?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc0000586a0 sp=0xc000058560 pc=0x44c39e
caddy[70763]: github.com/caddyserver/certmagic.(*RingBufferRateLimiter).permit(0xc0001a37c0)
caddy[70763]:         github.com/caddyserver/certmagic@v0.19.1/ratelimiter.go:217 +0x8c fp=0xc000058728 sp=0xc0000586a0 pc=0x914e2c
caddy[70763]: github.com/caddyserver/certmagic.(*RingBufferRateLimiter).loop(0xc0001a37c0)
caddy[70763]:         github.com/caddyserver/certmagic@v0.19.1/ratelimiter.go:89 +0x91 fp=0xc0000587c8 sp=0xc000058728 pc=0x9147b1
caddy[70763]: github.com/caddyserver/certmagic.NewRateLimiter.func1()
caddy[70763]:         github.com/caddyserver/certmagic@v0.19.1/ratelimiter.go:45 +0x26 fp=0xc0000587e0 sp=0xc0000587c8 pc=0x9146e6
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0000587e8 sp=0xc0000587e0 pc=0x470301
caddy[70763]: created by github.com/caddyserver/certmagic.NewRateLimiter
caddy[70763]:         github.com/caddyserver/certmagic@v0.19.1/ratelimiter.go:45 +0x165
caddy[70763]: goroutine 23 [GC worker (idle)]:
caddy[70763]: runtime.gopark(0x1b1893e22ad04?, 0x0?, 0x0?, 0x0?, 0x0?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc000058f50 sp=0xc000058f30 pc=0x43bcb6
caddy[70763]: runtime.gcBgMarkWorker()
caddy[70763]:         runtime/mgc.go:1275 +0xf1 fp=0xc000058fe0 sp=0xc000058f50 pc=0x41ceb1
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc000058fe8 sp=0xc000058fe0 pc=0x470301
caddy[70763]: created by runtime.gcBgMarkStartWorkers
caddy[70763]:         runtime/mgc.go:1199 +0x25
caddy[70763]: goroutine 7 [GC worker (idle)]:
caddy[70763]: runtime.gopark(0x1b1893e22174a?, 0x0?, 0x0?, 0x0?, 0x0?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc00005ef50 sp=0xc00005ef30 pc=0x43bcb6
caddy[70763]: runtime.gcBgMarkWorker()
caddy[70763]:         runtime/mgc.go:1275 +0xf1 fp=0xc00005efe0 sp=0xc00005ef50 pc=0x41ceb1
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc00005efe8 sp=0xc00005efe0 pc=0x470301
caddy[70763]: created by runtime.gcBgMarkStartWorkers
caddy[70763]:         runtime/mgc.go:1199 +0x25
caddy[70763]: goroutine 8 [chan receive]:
caddy[70763]: runtime.gopark(0xc000059608?, 0xc000059660?, 0x31?, 0xf3?, 0xc000059660?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc000059630 sp=0xc000059610 pc=0x43bcb6
caddy[70763]: runtime.chanrecv(0xc0005c6000, 0x0, 0x1)
caddy[70763]:         runtime/chan.go:583 +0x49d fp=0xc0000596c0 sp=0xc000059630 pc=0x406dbd
caddy[70763]: runtime.chanrecv1(0xc0005c6000?, 0xc000059740?)
caddy[70763]:         runtime/chan.go:442 +0x18 fp=0xc0000596e8 sp=0xc0000596c0 pc=0x4068b8
caddy[70763]: github.com/caddyserver/caddy/v2.trapSignalsCrossPlatform.func1()
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/sigtrap.go:43 +0xb6 fp=0xc0000597e0 sp=0xc0000596e8 pc=0xb00236
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0000597e8 sp=0xc0000597e0 pc=0x470301
caddy[70763]: created by github.com/caddyserver/caddy/v2.trapSignalsCrossPlatform
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/sigtrap.go:38 +0x25
caddy[70763]: goroutine 9 [chan receive]:
caddy[70763]: runtime.gopark(0x0?, 0xc0008c7d28?, 0x13?, 0xf3?, 0xc0008c7d28?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008c7cf8 sp=0xc0008c7cd8 pc=0x43bcb6
caddy[70763]: runtime.chanrecv(0xc0005c6060, 0xc0008c7e30, 0x1)
caddy[70763]:         runtime/chan.go:583 +0x49d fp=0xc0008c7d88 sp=0xc0008c7cf8 pc=0x406dbd
caddy[70763]: runtime.chanrecv2(0xc0005c6060?, 0xc0008c7f80?)
caddy[70763]:         runtime/chan.go:447 +0x18 fp=0xc0008c7db0 sp=0xc0008c7d88 pc=0x4068f8
caddy[70763]: github.com/caddyserver/caddy/v2.trapSignalsPosix.func1()
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/sigtrap_posix.go:35 +0x108 fp=0xc0008c7fe0 sp=0xc0008c7db0 pc=0xaffb08
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008c7fe8 sp=0xc0008c7fe0 pc=0x470301
caddy[70763]: created by github.com/caddyserver/caddy/v2.trapSignalsPosix
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/sigtrap_posix.go:31 +0x25
caddy[70763]: goroutine 24 [select, locked to thread]:
caddy[70763]: runtime.gopark(0xc0004647a8?, 0x2?, 0x2e?, 0xc2?, 0xc0004647a4?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc000464618 sp=0xc0004645f8 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc0004647a8, 0xc0004647a0, 0x0?, 0x0, 0x0?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc000464758 sp=0xc000464618 pc=0x44c39e
caddy[70763]: runtime.ensureSigM.func1()
caddy[70763]:         runtime/signal_unix.go:1004 +0x1b0 fp=0xc0004647e0 sp=0xc000464758 pc=0x466a90
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0004647e8 sp=0xc0004647e0 pc=0x470301
caddy[70763]: created by runtime.ensureSigM
caddy[70763]:         runtime/signal_unix.go:987 +0xbd
caddy[70763]: goroutine 25 [syscall]:
caddy[70763]: runtime.notetsleepg(0x0?, 0x0?)
caddy[70763]:         runtime/lock_futex.go:236 +0x34 fp=0xc000464fa0 sp=0xc000464f68 pc=0x40c7d4
caddy[70763]: os/signal.signal_recv()
caddy[70763]:         runtime/sigqueue.go:152 +0x2f fp=0xc000464fc0 sp=0xc000464fa0 pc=0x46c5ef
caddy[70763]: os/signal.loop()
caddy[70763]:         os/signal/signal_unix.go:23 +0x19 fp=0xc000464fe0 sp=0xc000464fc0 pc=0xadfad9
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc000464fe8 sp=0xc000464fe0 pc=0x470301
caddy[70763]: created by os/signal.Notify.func1.1
caddy[70763]:         os/signal/signal.go:151 +0x2a
caddy[70763]: goroutine 13 [IO wait]:
caddy[70763]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008c6b50 sp=0xc0008c6b30 pc=0x43bcb6
caddy[70763]: runtime.netpollblock(0xd0?, 0x40464f?, 0x0?)
caddy[70763]:         runtime/netpoll.go:527 +0xf7 fp=0xc0008c6b88 sp=0xc0008c6b50 pc=0x434237
caddy[70763]: internal/poll.runtime_pollWait(0x7ff6c27168d8, 0x72)
caddy[70763]:         runtime/netpoll.go:306 +0x89 fp=0xc0008c6ba8 sp=0xc0008c6b88 pc=0x46a269
caddy[70763]: internal/poll.(*pollDesc).wait(0xc000821580?, 0x413ba8?, 0x0)
caddy[70763]:         internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc0008c6bd0 sp=0xc0008c6ba8 pc=0x4e4452
caddy[70763]: internal/poll.(*pollDesc).waitRead(...)
caddy[70763]:         internal/poll/fd_poll_runtime.go:89
caddy[70763]: internal/poll.(*FD).Accept(0xc000821580)
caddy[70763]:         internal/poll/fd_unix.go:614 +0x2bd fp=0xc0008c6c78 sp=0xc0008c6bd0 pc=0x4e9d5d
caddy[70763]: net.(*netFD).accept(0xc000821580)
caddy[70763]:         net/fd_unix.go:172 +0x35 fp=0xc0008c6d30 sp=0xc0008c6c78 pc=0x54b015
caddy[70763]: net.(*TCPListener).accept(0xc000554b70)
caddy[70763]:         net/tcpsock_posix.go:148 +0x25 fp=0xc0008c6d58 sp=0xc0008c6d30 pc=0x5667e5
caddy[70763]: net.(*TCPListener).Accept(0xc000554b70)
caddy[70763]:         net/tcpsock.go:297 +0x3d fp=0xc0008c6d88 sp=0xc0008c6d58 pc=0x5658dd
caddy[70763]: github.com/caddyserver/caddy/v2.(*deleteListener).Accept(0x2b422f0?)
caddy[70763]:         <autogenerated>:1 +0x2a fp=0xc0008c6da0 sp=0xc0008c6d88 pc=0xb0344a
caddy[70763]: net/http.(*onceCloseListener).Accept(0x1f17528?)
caddy[70763]:         <autogenerated>:1 +0x2a fp=0xc0008c6db8 sp=0xc0008c6da0 pc=0x7a580a
caddy[70763]: net/http.(*Server).Serve(0xc0001b74a0, {0x1f15c70, 0xc00007dae0})
caddy[70763]:         net/http/server.go:3059 +0x385 fp=0xc0008c6ee8 sp=0xc0008c6db8 pc=0x77fae5
caddy[70763]: github.com/caddyserver/caddy/v2.replaceLocalAdminServer.func2()
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/admin.go:449 +0xd0 fp=0xc0008c6fe0 sp=0xc0008c6ee8 pc=0xae1ed0
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008c6fe8 sp=0xc0008c6fe0 pc=0x470301
caddy[70763]: created by github.com/caddyserver/caddy/v2.replaceLocalAdminServer
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/admin.go:445 +0x4bb
caddy[70763]: goroutine 14 [select]:
caddy[70763]: runtime.gopark(0xc0008c2eb0?, 0x3?, 0x0?, 0x0?, 0xc0008c2e42?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008c2cc8 sp=0xc0008c2ca8 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc0008c2eb0, 0xc0008c2e3c, 0x1?, 0x0, 0x0?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc0008c2e08 sp=0xc0008c2cc8 pc=0x44c39e
caddy[70763]: github.com/caddyserver/certmagic.(*Cache).maintainAssets(0xc000821680, 0x0)
caddy[70763]:         github.com/caddyserver/certmagic@v0.19.1/maintain.go:67 +0x305 fp=0xc0008c2fc0 sp=0xc0008c2e08 pc=0x90bba5
caddy[70763]: github.com/caddyserver/certmagic.NewCache.func1()
caddy[70763]:         github.com/caddyserver/certmagic@v0.19.1/cache.go:127 +0x28 fp=0xc0008c2fe0 sp=0xc0008c2fc0 pc=0x8e8d48
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008c2fe8 sp=0xc0008c2fe0 pc=0x470301
caddy[70763]: created by github.com/caddyserver/certmagic.NewCache
caddy[70763]:         github.com/caddyserver/certmagic@v0.19.1/cache.go:127 +0x1e5
caddy[70763]: goroutine 16 [select]:
caddy[70763]: runtime.gopark(0xc0008c8fa8?, 0x2?, 0x1?, 0x0?, 0xc0008c8f8c?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008c8e10 sp=0xc0008c8df0 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc0008c8fa8, 0xc0008c8f88, 0x405b5d?, 0x0, 0x4067f9?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc0008c8f50 sp=0xc0008c8e10 pc=0x44c39e
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/reverseproxy.(*metricsUpstreamsHealthyUpdater).Init.func1()
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/reverseproxy/metrics.go:61 +0xdb fp=0xc0008c8fe0 sp=0xc0008c8f50 pc=0x152c3bb
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008c8fe8 sp=0xc0008c8fe0 pc=0x470301
caddy[70763]: created by github.com/caddyserver/caddy/v2/modules/caddyhttp/reverseproxy.(*metricsUpstreamsHealthyUpdater).Init
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/reverseproxy/metrics.go:48 +0x56
caddy[70763]: goroutine 33 [select]:
caddy[70763]: runtime.gopark(0xc0008c9fa8?, 0x2?, 0x2?, 0x0?, 0xc0008c9f8c?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008c9e10 sp=0xc0008c9df0 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc0008c9fa8, 0xc0008c9f88, 0x0?, 0x0, 0x0?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc0008c9f50 sp=0xc0008c9e10 pc=0x44c39e
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/reverseproxy.(*metricsUpstreamsHealthyUpdater).Init.func1()
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/reverseproxy/metrics.go:61 +0xdb fp=0xc0008c9fe0 sp=0xc0008c9f50 pc=0x152c3bb
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008c9fe8 sp=0xc0008c9fe0 pc=0x470301
caddy[70763]: created by github.com/caddyserver/caddy/v2/modules/caddyhttp/reverseproxy.(*metricsUpstreamsHealthyUpdater).Init
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/reverseproxy/metrics.go:48 +0x56
caddy[70763]: goroutine 34 [select]:
caddy[70763]: runtime.gopark(0xc0008d6fa8?, 0x2?, 0x4?, 0x0?, 0xc0008d6f8c?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008d6e10 sp=0xc0008d6df0 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc0008d6fa8, 0xc0008d6f88, 0x0?, 0x0, 0x0?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc0008d6f50 sp=0xc0008d6e10 pc=0x44c39e
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/reverseproxy.(*metricsUpstreamsHealthyUpdater).Init.func1()
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/reverseproxy/metrics.go:61 +0xdb fp=0xc0008d6fe0 sp=0xc0008d6f50 pc=0x152c3bb
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008d6fe8 sp=0xc0008d6fe0 pc=0x470301
caddy[70763]: created by github.com/caddyserver/caddy/v2/modules/caddyhttp/reverseproxy.(*metricsUpstreamsHealthyUpdater).Init
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/reverseproxy/metrics.go:48 +0x56
caddy[70763]: goroutine 35 [select]:
caddy[70763]: runtime.gopark(0xc0004fdfa8?, 0x2?, 0xb?, 0x0?, 0xc0004fdf9c?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0004fde20 sp=0xc0004fde00 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc0004fdfa8, 0xc0004fdf98, 0x0?, 0x0, 0x0?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc0004fdf60 sp=0xc0004fde20 pc=0x44c39e
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddytls.(*TLS).keepStorageClean.func1()
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddytls/tls.go:539 +0x9e fp=0xc0004fdfe0 sp=0xc0004fdf60 pc=0x10df2de
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0004fdfe8 sp=0xc0004fdfe0 pc=0x470301
caddy[70763]: created by github.com/caddyserver/caddy/v2/modules/caddytls.(*TLS).keepStorageClean
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddytls/tls.go:531 +0xe5
caddy[70763]: goroutine 36 [IO wait]:
caddy[70763]: runtime.gopark(0xc0007cfe00?, 0xc0008c49d0?, 0xc6?, 0x67?, 0x0?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008c4980 sp=0xc0008c4960 pc=0x43bcb6
caddy[70763]: runtime.netpollblock(0x80?, 0x1f0cca0?, 0x0?)
caddy[70763]:         runtime/netpoll.go:527 +0xf7 fp=0xc0008c49b8 sp=0xc0008c4980 pc=0x434237
caddy[70763]: internal/poll.runtime_pollWait(0x7ff6c27166f8, 0x72)
caddy[70763]:         runtime/netpoll.go:306 +0x89 fp=0xc0008c49d8 sp=0xc0008c49b8 pc=0x46a269
caddy[70763]: internal/poll.(*pollDesc).wait(0xc000821e80?, 0xc0008c4a01?, 0x0)
caddy[70763]:         internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc0008c4a00 sp=0xc0008c49d8 pc=0x4e4452
caddy[70763]: internal/poll.(*pollDesc).waitRead(...)
caddy[70763]:         internal/poll/fd_poll_runtime.go:89
caddy[70763]: internal/poll.(*FD).RawRead(0xc000821e80, 0xc0004a6030)
caddy[70763]:         internal/poll/fd_unix.go:766 +0x145 fp=0xc0008c4a60 sp=0xc0008c4a00 pc=0x4eb3a5
caddy[70763]: net.(*rawConn).Read(0xc00019d0c0, 0x7ff6c27456d8?)
caddy[70763]:         net/rawconn.go:43 +0x45 fp=0xc0008c4a98 sp=0xc0008c4a60 pc=0x561905
caddy[70763]: golang.org/x/net/internal/socket.(*syscaller).recvmmsg(0xc000869908, {0x1f157f0?, 0xc00019d0c0?}, {0xc0007cfe00?, 0x1cb73e8?, 0x0?}, 0x40d50d?)
caddy[70763]:         golang.org/x/net@v0.12.0/internal/socket/mmsghdr_unix.go:121 +0x94 fp=0xc0008c4ac8 sp=0xc0008c4a98 pc=0x8765f4
caddy[70763]: golang.org/x/net/internal/socket.(*Conn).recvMsgs(0xc0004e3640, {0xc00037b600?, 0x8, 0x8}, 0x18ad160?)
caddy[70763]:         golang.org/x/net@v0.12.0/internal/socket/rawconn_mmsg.go:25 +0x185 fp=0xc0008c4b98 sp=0xc0008c4ac8 pc=0x8778a5
caddy[70763]: golang.org/x/net/internal/socket.(*Conn).RecvMsgs(...)
caddy[70763]:         golang.org/x/net@v0.12.0/internal/socket/socket.go:267
caddy[70763]: golang.org/x/net/ipv4.(*payloadHandler).ReadBatch(0xc00053d960, {0xc00037b600?, 0x0?, 0x0?}, 0x0?)
caddy[70763]:         golang.org/x/net@v0.12.0/ipv4/batch.go:80 +0x57 fp=0xc0008c4c08 sp=0xc0008c4b98 pc=0x87f117
caddy[70763]: golang.org/x/net/ipv4.(*PacketConn).ReadBatch(0x2b7b9a0?, {0xc00037b600?, 0x0?, 0x0?}, 0x0?)
caddy[70763]:         <autogenerated>:1 +0x2d fp=0xc0008c4c40 sp=0xc0008c4c08 pc=0x885fad
caddy[70763]: github.com/quic-go/quic-go.(*oobConn).ReadPacket(0xc000869830)
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/sys_conn_oob.go:168 +0x6ba fp=0xc0008c4dd8 sp=0xc0008c4c40 pc=0xaa6eda
caddy[70763]: github.com/quic-go/quic-go.(*Transport).listen(0xc00035e000, {0x1f1c370, 0xc000869830})
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/transport.go:317 +0x174 fp=0xc0008c4fb8 sp=0xc0008c4dd8 pc=0xaa8774
caddy[70763]: github.com/quic-go/quic-go.(*Transport).init.func1.1()
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/transport.go:221 +0x2e fp=0xc0008c4fe0 sp=0xc0008c4fb8 pc=0xaa7f6e
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008c4fe8 sp=0xc0008c4fe0 pc=0x470301
caddy[70763]: created by github.com/quic-go/quic-go.(*Transport).init.func1
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/transport.go:221 +0x3e5
caddy[70763]: goroutine 37 [select]:
caddy[70763]: runtime.gopark(0xc00005b688?, 0x3?, 0x0?, 0x0?, 0xc00005b682?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008d7cb8 sp=0xc0008d7c98 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc0008d7e88, 0xc00005b67c, 0x0?, 0x0, 0x0?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc0008d7df8 sp=0xc0008d7cb8 pc=0x44c39e
caddy[70763]: github.com/quic-go/quic-go.(*Transport).runSendQueue(0xc00035e000)
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/transport.go:246 +0x113 fp=0xc0008d7fc8 sp=0xc0008d7df8 pc=0xaa80b3
caddy[70763]: github.com/quic-go/quic-go.(*Transport).init.func1.2()
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/transport.go:222 +0x26 fp=0xc0008d7fe0 sp=0xc0008d7fc8 pc=0xaa7f06
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008d7fe8 sp=0xc0008d7fe0 pc=0x470301
caddy[70763]: created by github.com/quic-go/quic-go.(*Transport).init.func1
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/transport.go:222 +0x425
caddy[70763]: goroutine 38 [select]:
caddy[70763]: runtime.gopark(0xc00005beb0?, 0x2?, 0x0?, 0x0?, 0xc00005be9c?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008c5cd8 sp=0xc0008c5cb8 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc0008c5eb0, 0xc00005be98, 0x0?, 0x0, 0x0?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc0008c5e18 sp=0xc0008c5cd8 pc=0x44c39e
caddy[70763]: github.com/quic-go/quic-go.(*baseServer).run(0xc000849700)
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/server.go:271 +0x130 fp=0xc0008c5fc8 sp=0xc0008c5e18 pc=0xa9bff0
caddy[70763]: github.com/quic-go/quic-go.newServer.func1()
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/server.go:257 +0x26 fp=0xc0008c5fe0 sp=0xc0008c5fc8 pc=0xa9be86
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008c5fe8 sp=0xc0008c5fe0 pc=0x470301
caddy[70763]: created by github.com/quic-go/quic-go.newServer
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/server.go:257 +0x4b9
caddy[70763]: goroutine 39 [select]:
caddy[70763]: runtime.gopark(0xc00005f6a8?, 0x3?, 0x0?, 0x0?, 0xc00005f6a2?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc00005f4e0 sp=0xc00005f4c0 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc00005f6a8, 0xc00005f69c, 0x0?, 0x0, 0x0?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc00005f620 sp=0xc00005f4e0 pc=0x44c39e
caddy[70763]: github.com/quic-go/quic-go.(*baseServer).runSendQueue(0xc000849700)
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/server.go:284 +0x10d fp=0xc00005f7c8 sp=0xc00005f620 pc=0xa9c24d
caddy[70763]: github.com/quic-go/quic-go.newServer.func2()
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/server.go:258 +0x26 fp=0xc00005f7e0 sp=0xc00005f7c8 pc=0xa9be26
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc00005f7e8 sp=0xc00005f7e0 pc=0x470301
caddy[70763]: created by github.com/quic-go/quic-go.newServer
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/server.go:258 +0x4f6
caddy[70763]: goroutine 40 [select]:
caddy[70763]: runtime.gopark(0xc0008d2ea8?, 0x3?, 0xea?, 0xdc?, 0xc0008d2e92?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008d2d18 sp=0xc0008d2cf8 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc0008d2ea8, 0xc0008d2e8c, 0x0?, 0x0, 0xc0008d2e90?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc0008d2e58 sp=0xc0008d2d18 pc=0x44c39e
caddy[70763]: github.com/quic-go/quic-go.(*baseServer).accept(0xc000849700, {0x1f174f0, 0xc00053d8b0})
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/server.go:302 +0xac fp=0xc0008d2ee8 sp=0xc0008d2e58 pc=0xa9c44c
caddy[70763]: github.com/quic-go/quic-go.(*EarlyListener).Accept(...)
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/server.go:149
caddy[70763]: github.com/caddyserver/caddy/v2.(*fakeCloseQuicListener).Accept(0xc000109920, {0xc0004a64f0?, 0x0?})
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/listeners.go:710 +0x37 fp=0xc0008d2f30 sp=0xc0008d2ee8 pc=0xaf7677
caddy[70763]: github.com/quic-go/quic-go/http3.(*Server).ServeListener(0xc0003791e0, {0x1f125b0, 0xc000109920})
caddy[70763]:         github.com/quic-go/quic-go@v0.37.1/http3/server.go:270 +0x126 fp=0xc0008d2fb8 sp=0xc0008d2f30 pc=0xac2ce6
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).serveHTTP3.func1()
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/server.go:579 +0x2e fp=0xc0008d2fe0 sp=0xc0008d2fb8 pc=0x12baa0e
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008d2fe8 sp=0xc0008d2fe0 pc=0x470301
caddy[70763]: created by github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).serveHTTP3
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/server.go:579 +0x43b
caddy[70763]: goroutine 41 [IO wait]:
caddy[70763]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008c3a48 sp=0xc0008c3a28 pc=0x43bcb6
caddy[70763]: runtime.netpollblock(0x0?, 0x40464f?, 0x0?)
caddy[70763]:         runtime/netpoll.go:527 +0xf7 fp=0xc0008c3a80 sp=0xc0008c3a48 pc=0x434237
caddy[70763]: internal/poll.runtime_pollWait(0x7ff6c27167e8, 0x72)
caddy[70763]:         runtime/netpoll.go:306 +0x89 fp=0xc0008c3aa0 sp=0xc0008c3a80 pc=0x46a269
caddy[70763]: internal/poll.(*pollDesc).wait(0xc000821e00?, 0x0?, 0x0)
caddy[70763]:         internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc0008c3ac8 sp=0xc0008c3aa0 pc=0x4e4452
caddy[70763]: internal/poll.(*pollDesc).waitRead(...)
caddy[70763]:         internal/poll/fd_poll_runtime.go:89
caddy[70763]: internal/poll.(*FD).Accept(0xc000821e00)
caddy[70763]:         internal/poll/fd_unix.go:614 +0x2bd fp=0xc0008c3b70 sp=0xc0008c3ac8 pc=0x4e9d5d
caddy[70763]: net.(*netFD).accept(0xc000821e00)
caddy[70763]:         net/fd_unix.go:172 +0x35 fp=0xc0008c3c28 sp=0xc0008c3b70 pc=0x54b015
caddy[70763]: net.(*TCPListener).accept(0xc0005b6be8)
caddy[70763]:         net/tcpsock_posix.go:148 +0x25 fp=0xc0008c3c50 sp=0xc0008c3c28 pc=0x5667e5
caddy[70763]: net.(*TCPListener).Accept(0xc0005b6be8)
caddy[70763]:         net/tcpsock.go:297 +0x3d fp=0xc0008c3c80 sp=0xc0008c3c50 pc=0x5658dd
caddy[70763]: github.com/caddyserver/caddy/v2.(*deleteListener).Accept(0x0?)
caddy[70763]:         <autogenerated>:1 +0x2a fp=0xc0008c3c98 sp=0xc0008c3c80 pc=0xb0344a
caddy[70763]: crypto/tls.(*listener).Accept(0xc0005b6c00)
caddy[70763]:         crypto/tls/tls.go:66 +0x2d fp=0xc0008c3cd8 sp=0xc0008c3c98 pc=0x6fc48d
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp.(*http2Listener).Accept(0xc000109950)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/http2listener.go:35 +0x51 fp=0xc0008c3e70 sp=0xc0008c3cd8 pc=0x12a3471
caddy[70763]: net/http.(*onceCloseListener).Accept(0xc0000eaab0?)
caddy[70763]:         <autogenerated>:1 +0x2a fp=0xc0008c3e88 sp=0xc0008c3e70 pc=0x7a580a
caddy[70763]: net/http.(*Server).Serve(0xc0001b6ff0, {0x1f12640, 0xc000109950})
caddy[70763]:         net/http/server.go:3059 +0x385 fp=0xc0008c3fb8 sp=0xc0008c3e88 pc=0x77fae5
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp.(*App).Start.func3()
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/app.go:512 +0x2e fp=0xc0008c3fe0 sp=0xc0008c3fb8 pc=0x129684e
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008c3fe8 sp=0xc0008c3fe0 pc=0x470301
caddy[70763]: created by github.com/caddyserver/caddy/v2/modules/caddyhttp.(*App).Start
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/app.go:512 +0x1be5
caddy[70763]: goroutine 26 [IO wait]:
caddy[70763]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc000467420 sp=0xc000467400 pc=0x43bcb6
caddy[70763]: runtime.netpollblock(0x0?, 0x40464f?, 0x0?)
caddy[70763]:         runtime/netpoll.go:527 +0xf7 fp=0xc000467458 sp=0xc000467420 pc=0x434237
caddy[70763]: internal/poll.runtime_pollWait(0x7ff6c2716608, 0x72)
caddy[70763]:         runtime/netpoll.go:306 +0x89 fp=0xc000467478 sp=0xc000467458 pc=0x46a269
caddy[70763]: internal/poll.(*pollDesc).wait(0xc0002fc080?, 0x1a655e5?, 0x0)
caddy[70763]:         internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc0004674a0 sp=0xc000467478 pc=0x4e4452
caddy[70763]: internal/poll.(*pollDesc).waitRead(...)
caddy[70763]:         internal/poll/fd_poll_runtime.go:89
caddy[70763]: internal/poll.(*FD).Accept(0xc0002fc080)
caddy[70763]:         internal/poll/fd_unix.go:614 +0x2bd fp=0xc000467548 sp=0xc0004674a0 pc=0x4e9d5d
caddy[70763]: net.(*netFD).accept(0xc0002fc080)
caddy[70763]:         net/fd_unix.go:172 +0x35 fp=0xc000467600 sp=0xc000467548 pc=0x54b015
caddy[70763]: net.(*TCPListener).accept(0xc00020e480)
caddy[70763]:         net/tcpsock_posix.go:148 +0x25 fp=0xc000467628 sp=0xc000467600 pc=0x5667e5
caddy[70763]: net.(*TCPListener).Accept(0xc00020e480)
caddy[70763]:         net/tcpsock.go:297 +0x3d fp=0xc000467658 sp=0xc000467628 pc=0x5658dd
caddy[70763]: github.com/caddyserver/caddy/v2.(*deleteListener).Accept(0x2b422f0?)
caddy[70763]:         <autogenerated>:1 +0x2a fp=0xc000467670 sp=0xc000467658 pc=0xb0344a
caddy[70763]: net/http.(*onceCloseListener).Accept(0x1f17528?)
caddy[70763]:         <autogenerated>:1 +0x2a fp=0xc000467688 sp=0xc000467670 pc=0x7a580a
caddy[70763]: net/http.(*Server).Serve(0xc000159a40, {0x1f15c70, 0xc00019a620})
caddy[70763]:         net/http/server.go:3059 +0x385 fp=0xc0004677b8 sp=0xc000467688 pc=0x77fae5
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp.(*App).Start.func3()
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/app.go:512 +0x2e fp=0xc0004677e0 sp=0xc0004677b8 pc=0x129684e
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0004677e8 sp=0xc0004677e0 pc=0x470301
caddy[70763]: created by github.com/caddyserver/caddy/v2/modules/caddyhttp.(*App).Start
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/app.go:512 +0x1be5
caddy[70763]: goroutine 30 [select]:
caddy[70763]: runtime.gopark(0xc0004f97d8?, 0x5?, 0xa0?, 0xbd?, 0xc0004f939e?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0004f91d8 sp=0xc0004f91b8 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc0004f97d8, 0xc0004f9394, 0xc0005e29c0?, 0x0, 0x0?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc0004f9318 sp=0xc0004f91d8 pc=0x44c39e
caddy[70763]: golang.org/x/net/http2.(*serverConn).serve(0xc000002a80)
caddy[70763]:         golang.org/x/net@v0.12.0/http2/server.go:938 +0x8ac fp=0xc0004f9838 sp=0xc0004f9318 pc=0xbcec8c
caddy[70763]: golang.org/x/net/http2.(*Server).ServeConn(0xc00053d720, {0x1f1fb58?, 0xc0002f4000}, 0xc0004f9b20)
caddy[70763]:         golang.org/x/net@v0.12.0/http2/server.go:531 +0xb05 fp=0xc0004f9ae8 sp=0xc0004f9838 pc=0xbcd065
caddy[70763]: golang.org/x/net/http2.ConfigureServer.func1(0xc0001b6ff0, 0x1f1fb58?, {0x1f0c980, 0xc00019bf80})
caddy[70763]:         golang.org/x/net@v0.12.0/http2/server.go:321 +0xff fp=0xc0004f9b80 sp=0xc0004f9ae8 pc=0xbcc4ff
caddy[70763]: net/http.(*conn).serve(0xc0000eaab0, {0x1f17598, 0xc0005d39e0})
caddy[70763]:         net/http/server.go:1903 +0x1293 fp=0xc0004f9fb8 sp=0xc0004f9b80 pc=0x77bbd3
caddy[70763]: net/http.(*Server).Serve.func3()
caddy[70763]:         net/http/server.go:3089 +0x2e fp=0xc0004f9fe0 sp=0xc0004f9fb8 pc=0x77fece
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0004f9fe8 sp=0xc0004f9fe0 pc=0x470301
caddy[70763]: created by net/http.(*Server).Serve
caddy[70763]:         net/http/server.go:3089 +0x5ed
caddy[70763]: goroutine 49 [IO wait]:
caddy[70763]: runtime.gopark(0x16000000fa?, 0xb?, 0x0?, 0x0?, 0xa?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008d8728 sp=0xc0008d8708 pc=0x43bcb6
caddy[70763]: runtime.netpollblock(0x4c5e45?, 0x40464f?, 0x0?)
caddy[70763]:         runtime/netpoll.go:527 +0xf7 fp=0xc0008d8760 sp=0xc0008d8728 pc=0x434237
caddy[70763]: internal/poll.runtime_pollWait(0x7ff6c2716518, 0x72)
caddy[70763]:         runtime/netpoll.go:306 +0x89 fp=0xc0008d8780 sp=0xc0008d8760 pc=0x46a269
caddy[70763]: internal/poll.(*pollDesc).wait(0xc0002fca00?, 0xc0008fa000?, 0x0)
caddy[70763]:         internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc0008d87a8 sp=0xc0008d8780 pc=0x4e4452
caddy[70763]: internal/poll.(*pollDesc).waitRead(...)
caddy[70763]:         internal/poll/fd_poll_runtime.go:89
caddy[70763]: internal/poll.(*FD).Read(0xc0002fca00, {0xc0008fa000, 0x240, 0x240})
caddy[70763]:         internal/poll/fd_unix.go:167 +0x299 fp=0xc0008d8840 sp=0xc0008d87a8 pc=0x4e5839
caddy[70763]: net.(*netFD).Read(0xc0002fca00, {0xc0008fa000?, 0xc0008fa005?, 0x1a?})
caddy[70763]:         net/fd_posix.go:55 +0x29 fp=0xc0008d8888 sp=0xc0008d8840 pc=0x548e89
caddy[70763]: net.(*conn).Read(0xc000010370, {0xc0008fa000?, 0x7fffe5003fffd8?, 0xc0002f41b0?})
caddy[70763]:         net/net.go:183 +0x45 fp=0xc0008d88d0 sp=0xc0008d8888 pc=0x55d905
caddy[70763]: net.(*TCPConn).Read(0xc0008d8968?, {0xc0008fa000?, 0xc00020fc80?, 0x18?})
caddy[70763]:         <autogenerated>:1 +0x29 fp=0xc0008d8900 sp=0xc0008d88d0 pc=0x570529
caddy[70763]: crypto/tls.(*atLeastReader).Read(0xc00020fc80, {0xc0008fa000?, 0xc00020fc80?, 0x0?})
caddy[70763]:         crypto/tls/conn.go:788 +0x3d fp=0xc0008d8948 sp=0xc0008d8900 pc=0x6c787d
caddy[70763]: bytes.(*Buffer).ReadFrom(0xc0002f4290, {0x1f02ce0, 0xc00020fc80})
caddy[70763]:         bytes/buffer.go:202 +0x98 fp=0xc0008d89a0 sp=0xc0008d8948 pc=0x511c58
caddy[70763]: crypto/tls.(*Conn).readFromUntil(0xc0002f4000, {0x1f088a0?, 0xc000010370}, 0x240?)
caddy[70763]:         crypto/tls/conn.go:810 +0xe5 fp=0xc0008d89e0 sp=0xc0008d89a0 pc=0x6c7a65
caddy[70763]: crypto/tls.(*Conn).readRecordOrCCS(0xc0002f4000, 0x0)
caddy[70763]:         crypto/tls/conn.go:617 +0x116 fp=0xc0008d8d40 sp=0xc0008d89e0 pc=0x6c4f56
caddy[70763]: crypto/tls.(*Conn).readRecord(...)
caddy[70763]:         crypto/tls/conn.go:583
caddy[70763]: crypto/tls.(*Conn).Read(0xc0002f4000, {0xc000479620, 0x9, 0x30?})
caddy[70763]:         crypto/tls/conn.go:1316 +0x16f fp=0xc0008d8db0 sp=0xc0008d8d40 pc=0x6cae4f
caddy[70763]: io.ReadAtLeast({0x7ff6c23e2198, 0xc0002f4000}, {0xc000479620, 0x9, 0x9}, 0x9)
caddy[70763]:         io/io.go:332 +0x9a fp=0xc0008d8df8 sp=0xc0008d8db0 pc=0x4ba2da
caddy[70763]: io.ReadFull(...)
caddy[70763]:         io/io.go:351
caddy[70763]: golang.org/x/net/http2.readFrameHeader({0xc000479620?, 0x9?, 0xc0005e29c0?}, {0x7ff6c23e2198?, 0xc0002f4000?})
caddy[70763]:         golang.org/x/net@v0.12.0/http2/frame.go:237 +0x6e fp=0xc0008d8e48 sp=0xc0008d8df8 pc=0xbc252e
caddy[70763]: golang.org/x/net/http2.(*Framer).ReadFrame(0xc0004795e0)
caddy[70763]:         golang.org/x/net@v0.12.0/http2/frame.go:498 +0x95 fp=0xc0008d8ef8 sp=0xc0008d8e48 pc=0xbc2d75
caddy[70763]: golang.org/x/net/http2.(*serverConn).readFrames(0xc000002a80)
caddy[70763]:         golang.org/x/net@v0.12.0/http2/server.go:818 +0x91 fp=0xc0008d8fc8 sp=0xc0008d8ef8 pc=0xbcddb1
caddy[70763]: golang.org/x/net/http2.(*serverConn).serve.func7()
caddy[70763]:         golang.org/x/net@v0.12.0/http2/server.go:930 +0x26 fp=0xc0008d8fe0 sp=0xc0008d8fc8 pc=0xbcf466
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008d8fe8 sp=0xc0008d8fe0 pc=0x470301
caddy[70763]: created by golang.org/x/net/http2.(*serverConn).serve
caddy[70763]:         golang.org/x/net@v0.12.0/http2/server.go:930 +0x55c
caddy[70763]: goroutine 55 [sync.Mutex.Lock]:
caddy[70763]: runtime.gopark(0xc00048f844?, 0xc00048f840?, 0x20?, 0x7f?, 0xc00048f838?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc00051d698 sp=0xc00051d678 pc=0x43bcb6
caddy[70763]: runtime.goparkunlock(...)
caddy[70763]:         runtime/proc.go:387
caddy[70763]: runtime.semacquire1(0xc0001d0624, 0x0?, 0x3, 0x1, 0x9b?)
caddy[70763]:         runtime/sema.go:160 +0x20f fp=0xc00051d700 sp=0xc00051d698 pc=0x44d48f
caddy[70763]: sync.runtime_SemacquireMutex(0xc0003e7e00?, 0x0?, 0xc00048f7ec?)
caddy[70763]:         runtime/sema.go:77 +0x26 fp=0xc00051d738 sp=0xc00051d700 pc=0x46bee6
caddy[70763]: sync.(*Mutex).lockSlow(0xc0001d0620)
caddy[70763]:         sync/mutex.go:171 +0x165 fp=0xc00051d788 sp=0xc00051d738 pc=0x48bc65
caddy[70763]: sync.(*Mutex).Lock(...)
caddy[70763]:         sync/mutex.go:90
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/reverseproxy.(*maxLatencyWriter).delayedFlush(0xc0001d0600)
caddy[70763]:         github.com/caddyserver/caddy/v2@v2.7.0/modules/caddyhttp/reverseproxy/streaming.go:478 +0x52 fp=0xc00051d7c8 sp=0xc00051d788 pc=0x153b492
caddy[70763]: github.com/caddyserver/caddy/v2/modules/caddyhttp/reverseproxy.(*maxLatencyWriter).delayedFlush-fm()
caddy[70763]:         <autogenerated>:1 +0x26 fp=0xc00051d7e0 sp=0xc00051d7c8 pc=0x15439a6
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc00051d7e8 sp=0xc00051d7e0 pc=0x470301
caddy[70763]: created by time.goFunc
caddy[70763]:         time/sleep.go:176 +0x32
caddy[70763]: goroutine 53 [select]:
caddy[70763]: runtime.gopark(0xc0008d9f68?, 0x4?, 0x2a?, 0xb2?, 0xc0008d9db0?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc0008d9c00 sp=0xc0008d9be0 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc0008d9f68, 0xc0008d9da8, 0xc0001d0580?, 0x0, 0xc000010300?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc0008d9d40 sp=0xc0008d9c00 pc=0x44c39e
caddy[70763]: net/http.(*persistConn).readLoop(0xc0008f65a0)
caddy[70763]:         net/http/transport.go:2227 +0xd85 fp=0xc0008d9fc8 sp=0xc0008d9d40 pc=0x796865
caddy[70763]: net/http.(*Transport).dialConn.func5()
caddy[70763]:         net/http/transport.go:1765 +0x26 fp=0xc0008d9fe0 sp=0xc0008d9fc8 pc=0x794426
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc0008d9fe8 sp=0xc0008d9fe0 pc=0x470301
caddy[70763]: created by net/http.(*Transport).dialConn
caddy[70763]:         net/http/transport.go:1765 +0x16ea
caddy[70763]: goroutine 54 [select]:
caddy[70763]: runtime.gopark(0xc000544f90?, 0x2?, 0xf8?, 0x4d?, 0xc000544f34?)
caddy[70763]:         runtime/proc.go:381 +0xd6 fp=0xc000544db0 sp=0xc000544d90 pc=0x43bcb6
caddy[70763]: runtime.selectgo(0xc000544f90, 0xc000544f30, 0xc0001e11c0?, 0x0, 0x0?, 0x1)
caddy[70763]:         runtime/select.go:327 +0x7be fp=0xc000544ef0 sp=0xc000544db0 pc=0x44c39e
caddy[70763]: net/http.(*persistConn).writeLoop(0xc0008f65a0)
caddy[70763]:         net/http/transport.go:2410 +0xf2 fp=0xc000544fc8 sp=0xc000544ef0 pc=0x797952
caddy[70763]: net/http.(*Transport).dialConn.func6()
caddy[70763]:         net/http/transport.go:1766 +0x26 fp=0xc000544fe0 sp=0xc000544fc8 pc=0x7943c6
caddy[70763]: runtime.goexit()
caddy[70763]:         runtime/asm_amd64.s:1598 +0x1 fp=0xc000544fe8 sp=0xc000544fe0 pc=0x470301
caddy[70763]: created by net/http.(*Transport).dialConn
caddy[70763]:         net/http/transport.go:1766 +0x173d
systemd[1]: caddy.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
systemd[1]: caddy.service: Failed with result 'exit-code'.

@JeDaYoshi
Copy link
Author

Ah, @hwilok beat me to it. :)

@ueffel
Copy link
Contributor

ueffel commented Aug 2, 2023

I'm also getting this. I don't think it has anything to do with h2 or h3.
Its an recursive call here

@francislavoie
Copy link
Member

francislavoie commented Aug 2, 2023

Could any/all of you try out a build with #5672? I still can't reproduce it 😩 but I think that should be the fix. Sorry for the trouble! You can build with xcaddy build 9004678

@JeDaYoshi
Copy link
Author

That was a fast fix - I will try it out and update in here.

@francislavoie francislavoie added the bug 🐞 Something isn't working label Aug 2, 2023
@francislavoie francislavoie added this to the v2.7.1 milestone Aug 2, 2023
@JeDaYoshi
Copy link
Author

Yep, that seems to be working. No longer crashes for me.

@francislavoie
Copy link
Member

Thank you! We'll make a v2.7.1 build in the next hour or two.

@ueffel
Copy link
Contributor

ueffel commented Aug 2, 2023

LGTM too

@ueffel
Copy link
Contributor

ueffel commented Aug 2, 2023

Could any/all of you try out a build with #5672? I still can't reproduce it 😩 but I think that should be the fix. Sorry for the trouble! You can build with xcaddy build 9004678

I happens to me when reverse proxing. Maybe that helps to reproduce?

Edit: The example Caddyfile in #4314 reproduces the stack overflow.

@francislavoie
Copy link
Member

Thanks @ueffel, you're right that reproduces it. And I confirmed the fix myself as well.

@ueffel
Copy link
Contributor

ueffel commented Aug 2, 2023

Maybe a test I didn't add for #4314 should be considered 😅

@francislavoie
Copy link
Member

If you'd like to write a test that'd be great ☺️ I don't have time for it right now.

@marten-seemann
Copy link
Contributor

Regarding the patch release, maybe wait on the quic-go patch release (see quic-go/quic-go#4012). Will release tomorrow morning.

@mholt
Copy link
Member

mholt commented Aug 3, 2023

Ugh, sorry everyone. I am traveling and have a 100 KBps connection. My laptop is not yet configured with my signing key. Give me a little while to get a new tag pushed. In the meantime I'll merge the fix.

@marten-seemann I might still tag ASAP because it's basically broken (somehow tests didn't catch it). Can do a .2 release later though :)

@mholt mholt modified the milestones: v2.7.1, v2.7.2 Aug 3, 2023
@mholt
Copy link
Member

mholt commented Aug 3, 2023

Ok, 2.7.1 (and now 2.7.2) are released. Thanks for your patience and sorry for the trouble. In the future I will be more judicious about which changes get included right before a release.

@marten-seemann Sorry for the noise. Thanks for your attentiveness though 😁

Thank you to everyone who helped while I was traveling today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐞 Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants