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

Segmentation violation on mercure latest #787

Open
w-ap-admin opened this issue May 8, 2024 · 3 comments
Open

Segmentation violation on mercure latest #787

w-ap-admin opened this issue May 8, 2024 · 3 comments

Comments

@w-ap-admin
Copy link

Hello,

I'm developing an API using the latest dockerize with the Alpine version of FrankenPHP (dunglas/frankenphp:latest-alpine) and I use Mercure to synchronize data with my front-end application built with React.
But I encountered the error bellow which seems to be trigger randomly when the front application subscribe to the the topic.

SIGSEGV: segmentation violation
PC=0x7fb72376f54c m=17 sigcode=1 addr=0x7fb6c6d2c8a0
signal arrived during cgo execution

goroutine 133 gp=0xc000503dc0 m=17 mp=0xc0009cc008 [syscall, locked to thread]:
runtime.cgocall(0x17e8b40, 0xc0006b9ce0)
        /usr/local/go/src/runtime/cgocall.go:157 +0x4b fp=0xc0006b9cb8 sp=0xc0006b9c80 pc=0x40cc6b
github.com/dunglas/frankenphp._Cfunc_frankenphp_update_server_context(0x1, 0x24, 0x0, 0x7fb6d9700dc0, 0x7fb721be8d60, 0x0, 0x0, 0x7fb721be8da0, 0x7fb6d74cb1e0, 0x0, ...)
        _cgo_gotypes.go:872 +0x4e fp=0xc0006b9ce0 sp=0xc0006b9cb8 pc=0x165f96e
github.com/dunglas/frankenphp.updateServerContext(0xc00078f9e0, 0x1, 0x0)
        /go/src/app/frankenphp.go:419 +0x4e5 fp=0xc0006b9dd8 sp=0xc0006b9ce0 pc=0x1661e85
github.com/dunglas/frankenphp.go_execute_script(0x47ca01?)
        /go/src/app/frankenphp.go:506 +0x10f fp=0xc0006b9e40 sp=0xc0006b9dd8 pc=0x166258f
_cgoexp_b7d6fd74a0c8_go_execute_script(0x44f6f1?)
        _cgo_gotypes.go:923 +0x16 fp=0xc0006b9e58 sp=0xc0006b9e40 pc=0x1667a56
runtime.cgocallbackg1(0x1667a40, 0x7fb6c72765c0, 0x0)
        /usr/local/go/src/runtime/cgocall.go:403 +0x2a5 fp=0xc0006b9f18 sp=0xc0006b9e58 pc=0x40d3a5
runtime.cgocallbackg(0x1667a40, 0x7fb6c72765c0, 0x0)
        /usr/local/go/src/runtime/cgocall.go:322 +0x136 fp=0xc0006b9f90 sp=0xc0006b9f18 pc=0x40d056
runtime.cgocallbackg(0x1667a40, 0x7fb6c72765c0, 0x0)
        <autogenerated>:1 +0x29 fp=0xc0006b9fb8 sp=0xc0006b9f90 pc=0x481169
runtime.cgocallback(0x0, 0x0, 0x0)
        /usr/local/go/src/runtime/asm_amd64.s:1079 +0xcc fp=0xc0006b9fe0 sp=0xc0006b9fb8 pc=0x47e7ac
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0006b9fe8 sp=0xc0006b9fe0 pc=0x47ea01

goroutine 1 gp=0xc0000081c0 m=nil [select (no cases)]:
runtime.gopark(0xc00069f840?, 0x53d30c?, 0xb0?, 0xa2?, 0x4?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000771820 sp=0xc000771800 pc=0x44668e
runtime.block()
        /usr/local/go/src/runtime/select.go:103 +0x26 fp=0xc000771850 sp=0xc000771820 pc=0x457dc6
github.com/caddyserver/caddy/v2/cmd.cmdRun({0x0?})
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/cmd/commandfuncs.go:283 +0xbfc fp=0xc000771b60 sp=0xc000771850 pc=0xb3d8dc
github.com/caddyserver/caddy/v2/cmd.init.1.func2.WrapCommandFuncForCobra.1(0xc0003cc308, {0x1c1a4c8?, 0x4?, 0x1c1a2d0?})
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/cmd/cobra.go:137 +0x2f fp=0xc000771ba0 sp=0xc000771b60 pc=0xb4a0ef
github.com/spf13/cobra.(*Command).execute(0xc0003cc308, {0xc0004fa360, 0x3, 0x3})
        /root/go/pkg/mod/github.com/spf13/cobra@v1.8.0/command.go:983 +0xaca fp=0xc000771d28 sp=0xc000771ba0 pc=0xabf9ea
github.com/spf13/cobra.(*Command).ExecuteC(0x2ec50c0)
        /root/go/pkg/mod/github.com/spf13/cobra@v1.8.0/command.go:1115 +0x3ff fp=0xc000771e00 sp=0xc000771d28 pc=0xac02bf
github.com/spf13/cobra.(*Command).Execute(...)
        /root/go/pkg/mod/github.com/spf13/cobra@v1.8.0/command.go:1039
github.com/caddyserver/caddy/v2/cmd.Main()
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/cmd/main.go:66 +0x5b fp=0xc000771e60 sp=0xc000771e00 pc=0xb4215b
main.main()
        /go/src/app/caddy/frankenphp/main.go:24 +0x18d fp=0xc000771f50 sp=0xc000771e60 pc=0x17e7bcd
runtime.main()
        /usr/local/go/src/runtime/proc.go:271 +0x29d fp=0xc000771fe0 sp=0xc000771f50 pc=0x44623d
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000771fe8 sp=0xc000771fe0 pc=0x47ea01

goroutine 17 gp=0xc000008700 m=nil [select, locked to thread]:
runtime.gopark(0xc0000a4e10?, 0x2?, 0x8?, 0x0?, 0xc0000a4df4?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc0000a4c90 sp=0xc0000a4c70 pc=0x44668e
runtime.selectgo(0xc0000a4e10, 0xc0000a4df0, 0x2fcee20?, 0x0, 0x0?, 0x1)
        /usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc0000a4db0 sp=0xc0000a4c90 pc=0x458505
github.com/dunglas/frankenphp.go_fetch_request()
        /go/src/app/frankenphp.go:473 +0x75 fp=0xc0000a4e48 sp=0xc0000a4db0 pc=0x16622d5
_cgoexp_b7d6fd74a0c8_go_fetch_request(0x7fb6da4168a0)
        _cgo_gotypes.go:915 +0x14 fp=0xc0000a4e58 sp=0xc0000a4e48 pc=0x1667a14
runtime.cgocallbackg1(0x1667a00, 0x7fb6da4168a0, 0x0)
        /usr/local/go/src/runtime/cgocall.go:403 +0x2a5 fp=0xc0000a4f18 sp=0xc0000a4e58 pc=0x40d3a5
runtime.cgocallbackg(0x1667a00, 0x7fb6da4168a0, 0x0)
        /usr/local/go/src/runtime/cgocall.go:322 +0x136 fp=0xc0000a4f90 sp=0xc0000a4f18 pc=0x40d056
runtime.cgocallbackg(0x1667a00, 0x7fb6da4168a0, 0x0)
        <autogenerated>:1 +0x29 fp=0xc0000a4fb8 sp=0xc0000a4f90 pc=0x481169
runtime.cgocallback(0x0, 0x0, 0x0)
        /usr/local/go/src/runtime/asm_amd64.s:1079 +0xcc fp=0xc0000a4fe0 sp=0xc0000a4fb8 pc=0x47e7ac
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000a4fe8 sp=0xc0000a4fe0 pc=0x47ea01

goroutine 2 gp=0xc000008c40 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000090fa8 sp=0xc000090f88 pc=0x44668e
runtime.goparkunlock(...)
        /usr/local/go/src/runtime/proc.go:408
runtime.forcegchelper()
        /usr/local/go/src/runtime/proc.go:326 +0xb3 fp=0xc000090fe0 sp=0xc000090fa8 pc=0x4464f3
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000090fe8 sp=0xc000090fe0 pc=0x47ea01
created by runtime.init.6 in goroutine 1
        /usr/local/go/src/runtime/proc.go:314 +0x1a

goroutine 3 gp=0xc000009180 m=nil [GC sweep wait]:
runtime.gopark(0x2f69c01?, 0x0?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000091780 sp=0xc000091760 pc=0x44668e
runtime.goparkunlock(...)
        /usr/local/go/src/runtime/proc.go:408
runtime.bgsweep(0xc0000ba000)
        /usr/local/go/src/runtime/mgcsweep.go:318 +0xdf fp=0xc0000917c8 sp=0xc000091780 pc=0x42f2bf
runtime.gcenable.gowrap1()
        /usr/local/go/src/runtime/mgc.go:203 +0x25 fp=0xc0000917e0 sp=0xc0000917c8 pc=0x423ba5
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000917e8 sp=0xc0000917e0 pc=0x47ea01
created by runtime.gcenable in goroutine 1
        /usr/local/go/src/runtime/mgc.go:203 +0x66

goroutine 4 gp=0xc000009340 m=nil [GC scavenge wait]:
runtime.gopark(0xa6c44?, 0x3b9aca00?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000091f78 sp=0xc000091f58 pc=0x44668e
runtime.goparkunlock(...)
        /usr/local/go/src/runtime/proc.go:408
runtime.(*scavengerState).park(0x2f6be00)
        /usr/local/go/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc000091fa8 sp=0xc000091f78 pc=0x42cc49
runtime.bgscavenge(0xc0000ba000)
        /usr/local/go/src/runtime/mgcscavenge.go:658 +0x59 fp=0xc000091fc8 sp=0xc000091fa8 pc=0x42d1f9
runtime.gcenable.gowrap2()
        /usr/local/go/src/runtime/mgc.go:204 +0x25 fp=0xc000091fe0 sp=0xc000091fc8 pc=0x423b45
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000091fe8 sp=0xc000091fe0 pc=0x47ea01
created by runtime.gcenable in goroutine 1
        /usr/local/go/src/runtime/mgc.go:204 +0xa5

goroutine 5 gp=0xc000009c00 m=nil [finalizer wait]:
runtime.gopark(0x0?, 0x1eb5a90?, 0x20?, 0x80?, 0x1000000010?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000090620 sp=0xc000090600 pc=0x44668e
runtime.runfinq()
        /usr/local/go/src/runtime/mfinal.go:194 +0x107 fp=0xc0000907e0 sp=0xc000090620 pc=0x422be7
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000907e8 sp=0xc0000907e0 pc=0x47ea01
created by runtime.createfing in goroutine 1
        /usr/local/go/src/runtime/mfinal.go:164 +0x3d

goroutine 6 gp=0xc0002781c0 m=nil [GC worker (idle)]:
runtime.gopark(0x1e70538464233?, 0x3?, 0x36?, 0x3a?, 0x0?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000092750 sp=0xc000092730 pc=0x44668e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc0000927e0 sp=0xc000092750 pc=0x425c85
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000927e8 sp=0xc0000927e0 pc=0x47ea01
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 18 gp=0xc000102700 m=nil [GC worker (idle)]:
runtime.gopark(0x1e70538464081?, 0x3?, 0x1e?, 0x1c?, 0x0?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00008c750 sp=0xc00008c730 pc=0x44668e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc00008c7e0 sp=0xc00008c750 pc=0x425c85
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00008c7e8 sp=0xc00008c7e0 pc=0x47ea01
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 19 gp=0xc0001028c0 m=nil [GC worker (idle)]:
runtime.gopark(0x1e705383e5a4f?, 0x3?, 0x1f?, 0x73?, 0x0?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00008cf50 sp=0xc00008cf30 pc=0x44668e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc00008cfe0 sp=0xc00008cf50 pc=0x425c85
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00008cfe8 sp=0xc00008cfe0 pc=0x47ea01
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 20 gp=0xc000102a80 m=nil [GC worker (idle)]:
runtime.gopark(0x1e705384640d3?, 0x3?, 0x4?, 0x29?, 0x0?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00008d750 sp=0xc00008d730 pc=0x44668e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc00008d7e0 sp=0xc00008d750 pc=0x425c85
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00008d7e8 sp=0xc00008d7e0 pc=0x47ea01
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 34 gp=0xc000502000 m=nil [GC worker (idle)]:
runtime.gopark(0x1e7053846413c?, 0x3?, 0xfe?, 0x29?, 0x0?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000508750 sp=0xc000508730 pc=0x44668e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc0005087e0 sp=0xc000508750 pc=0x425c85
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0005087e8 sp=0xc0005087e0 pc=0x47ea01
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 7 gp=0xc000278380 m=nil [GC worker (idle)]:
runtime.gopark(0x1e7053846412a?, 0x3?, 0x39?, 0xc8?, 0x0?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000092f50 sp=0xc000092f30 pc=0x44668e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc000092fe0 sp=0xc000092f50 pc=0x425c85
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000092fe8 sp=0xc000092fe0 pc=0x47ea01
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 8 gp=0xc000278540 m=nil [GC worker (idle)]:
runtime.gopark(0x1e70538464d77?, 0x1?, 0x50?, 0x19?, 0x0?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000093750 sp=0xc000093730 pc=0x44668e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc0000937e0 sp=0xc000093750 pc=0x425c85
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000937e8 sp=0xc0000937e0 pc=0x47ea01
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 21 gp=0xc000102fc0 m=nil [GC worker (idle)]:
runtime.gopark(0x1e70538464255?, 0x3?, 0x74?, 0x3?, 0x0?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00008df50 sp=0xc00008df30 pc=0x44668e
runtime.gcBgMarkWorker()
        /usr/local/go/src/runtime/mgc.go:1310 +0xe5 fp=0xc00008dfe0 sp=0xc00008df50 pc=0x425c85
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00008dfe8 sp=0xc00008dfe0 pc=0x47ea01
created by runtime.gcBgMarkStartWorkers in goroutine 1
        /usr/local/go/src/runtime/mgc.go:1234 +0x1c

goroutine 9 gp=0xc000502c40 m=nil [select]:
runtime.gopark(0xc00050af80?, 0x2?, 0x40?, 0xae?, 0xc00050af74?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00050ae18 sp=0xc00050adf8 pc=0x44668e
runtime.selectgo(0xc00050af80, 0xc00050af70, 0x0?, 0x0, 0x0?, 0x1)
        /usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc00050af38 sp=0xc00050ae18 pc=0x458505
github.com/golang/glog.(*fileSink).flushDaemon(0x2f6b858)
        /root/go/pkg/mod/github.com/golang/glog@v1.2.1/glog_file.go:351 +0xb9 fp=0xc00050afc8 sp=0xc00050af38 pc=0xdfb299
github.com/golang/glog.init.1.gowrap1()
        /root/go/pkg/mod/github.com/golang/glog@v1.2.1/glog_file.go:166 +0x25 fp=0xc00050afe0 sp=0xc00050afc8 pc=0xdfa325
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00050afe8 sp=0xc00050afe0 pc=0x47ea01
created by github.com/golang/glog.init.1 in goroutine 1
        /root/go/pkg/mod/github.com/golang/glog@v1.2.1/glog_file.go:166 +0x126

goroutine 10 gp=0xc000582700 m=nil [sync.Cond.Wait]:
runtime.gopark(0x2173740?, 0xc00032b800?, 0x0?, 0x0?, 0x0?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc0000a3c70 sp=0xc0000a3c50 pc=0x44668e
runtime.goparkunlock(...)
        /usr/local/go/src/runtime/proc.go:408
sync.runtime_notifyListWait(0xc000002318, 0x1)
        /usr/local/go/src/runtime/sema.go:569 +0x159 fp=0xc0000a3cc0 sp=0xc0000a3c70 pc=0x47a939
sync.(*Cond).Wait(0xc000506538?)
        /usr/local/go/src/sync/cond.go:70 +0x85 fp=0xc0000a3d00 sp=0xc0000a3cc0 pc=0x4886c5
github.com/maypok86/otter/internal/queue.(*Growable[...]).Pop(0x216c620)
        /root/go/pkg/mod/github.com/maypok86/otter@v1.2.1/internal/queue/growable.go:71 +0x74 fp=0xc0000a3d98 sp=0xc0000a3d00 pc=0x1671d34
github.com/maypok86/otter/internal/core.(*Cache[...]).process(0x218e340)
        /root/go/pkg/mod/github.com/maypok86/otter@v1.2.1/internal/core/cache.go:386 +0xe8 fp=0xc0000a3fc0 sp=0xc0000a3d98 pc=0x166fbc8
github.com/maypok86/otter/internal/core.NewCache[...].gowrap2()
        /root/go/pkg/mod/github.com/maypok86/otter@v1.2.1/internal/core/cache.go:167 +0x25 fp=0xc0000a3fe0 sp=0xc0000a3fc0 pc=0x1666dc5
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000a3fe8 sp=0xc0000a3fe0 pc=0x47ea01
created by github.com/maypok86/otter/internal/core.NewCache[...] in goroutine 1
        /root/go/pkg/mod/github.com/maypok86/otter@v1.2.1/internal/core/cache.go:167 +0x6b3

goroutine 23 gp=0xc000583dc0 m=nil [select]:
runtime.gopark(0xc00050a6e8?, 0x3?, 0x0?, 0x0?, 0xc00050a6da?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00050a580 sp=0xc00050a560 pc=0x44668e
runtime.selectgo(0xc00050a6e8, 0xc00050a6d4, 0xc00050a6d0?, 0x2, 0xc00001c0b0?, 0x1)
        /usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc00050a6a0 sp=0xc00050a580 pc=0x458505
github.com/caddyserver/certmagic.(*RingBufferRateLimiter).permit(0xc000055e00)
        /root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/ratelimiter.go:217 +0x86 fp=0xc00050a728 sp=0xc00050a6a0 pc=0x8d2c86
github.com/caddyserver/certmagic.(*RingBufferRateLimiter).loop(0xc000055e00)
        /root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/ratelimiter.go:89 +0x8b fp=0xc00050a7c8 sp=0xc00050a728 pc=0x8d264b
github.com/caddyserver/certmagic.NewRateLimiter.gowrap1()
        /root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/ratelimiter.go:45 +0x25 fp=0xc00050a7e0 sp=0xc00050a7c8 pc=0x8d2585
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00050a7e8 sp=0xc00050a7e0 pc=0x47ea01
created by github.com/caddyserver/certmagic.NewRateLimiter in goroutine 1
        /root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/ratelimiter.go:45 +0x13c

goroutine 68 gp=0xc000503340 m=nil [chan receive]:
runtime.gopark(0xa4f665?, 0x19e8720?, 0x1?, 0xb3?, 0xc0005056d8?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000505648 sp=0xc000505628 pc=0x44668e
runtime.chanrecv(0xc0002b4ae0, 0x0, 0x1)
        /usr/local/go/src/runtime/chan.go:583 +0x3bf fp=0xc0005056c0 sp=0xc000505648 pc=0x40f2ff
runtime.chanrecv1(0xc0002b4ae0?, 0xc0005057a8?)
        /usr/local/go/src/runtime/chan.go:442 +0x12 fp=0xc0005056e8 sp=0xc0005056c0 pc=0x40ef12
github.com/caddyserver/caddy/v2.trapSignalsCrossPlatform.func1()
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/sigtrap.go:43 +0xe5 fp=0xc0005057e0 sp=0xc0005056e8 pc=0xa70b85
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0005057e8 sp=0xc0005057e0 pc=0x47ea01
created by github.com/caddyserver/caddy/v2.trapSignalsCrossPlatform in goroutine 1
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/sigtrap.go:38 +0x1a

goroutine 69 gp=0xc000602380 m=nil [chan receive]:
runtime.gopark(0xa4f645?, 0x19e8720?, 0x1?, 0x0?, 0xc000491da8?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000491d18 sp=0xc000491cf8 pc=0x44668e
runtime.chanrecv(0xc0000bd680, 0xc000491f70, 0x1)
        /usr/local/go/src/runtime/chan.go:583 +0x3bf fp=0xc000491d90 sp=0xc000491d18 pc=0x40f2ff
runtime.chanrecv2(0xc0000bd680?, 0xc000506780?)
        /usr/local/go/src/runtime/chan.go:447 +0x12 fp=0xc000491db8 sp=0xc000491d90 pc=0x40ef32
github.com/caddyserver/caddy/v2.trapSignalsPosix.func1()
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/sigtrap_posix.go:35 +0x105 fp=0xc000491fe0 sp=0xc000491db8 pc=0xa70425
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000491fe8 sp=0xc000491fe0 pc=0x47ea01
created by github.com/caddyserver/caddy/v2.trapSignalsPosix in goroutine 1
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/sigtrap_posix.go:31 +0x1a

goroutine 12 gp=0xc000278700 m=nil [select, locked to thread]:
runtime.gopark(0xc00050b7a8?, 0x2?, 0x29?, 0x69?, 0xc00050b794?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00050b638 sp=0xc00050b618 pc=0x44668e
runtime.selectgo(0xc00050b7a8, 0xc00050b790, 0x0?, 0x0, 0x0?, 0x1)
        /usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc00050b758 sp=0xc00050b638 pc=0x458505
runtime.ensureSigM.func1()
        /usr/local/go/src/runtime/signal_unix.go:1034 +0x19f fp=0xc00050b7e0 sp=0xc00050b758 pc=0x47541f
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00050b7e8 sp=0xc00050b7e0 pc=0x47ea01
created by runtime.ensureSigM in goroutine 68
        /usr/local/go/src/runtime/signal_unix.go:1017 +0xc8

goroutine 13 gp=0xc0002788c0 m=4 mp=0xc000097808 [syscall]:
runtime.notetsleepg(0x2fd05e0, 0xffffffffffffffff)
        /usr/local/go/src/runtime/lock_futex.go:246 +0x29 fp=0xc00050bfa0 sp=0xc00050bf78 pc=0x415369
os/signal.signal_recv()
        /usr/local/go/src/runtime/sigqueue.go:152 +0x29 fp=0xc00050bfc0 sp=0xc00050bfa0 pc=0x47ad29
os/signal.loop()
        /usr/local/go/src/os/signal/signal_unix.go:23 +0x13 fp=0xc00050bfe0 sp=0xc00050bfc0 pc=0xa4fdf3
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00050bfe8 sp=0xc00050bfe0 pc=0x47ea01
created by os/signal.Notify.func1.1 in goroutine 68
        /usr/local/go/src/os/signal/signal.go:151 +0x1f

goroutine 83 gp=0xc0006028c0 m=nil [IO wait]:
runtime.gopark(0x423f36?, 0x2fd1600?, 0xe8?, 0xfb?, 0x416b05?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00048fb50 sp=0xc00048fb30 pc=0x44668e
runtime.netpollblock(0x41699b?, 0x40c406?, 0x0?)
        /usr/local/go/src/runtime/netpoll.go:573 +0xf7 fp=0xc00048fb88 sp=0xc00048fb50 pc=0x43e7b7
internal/poll.runtime_pollWait(0x7fb6dac856d0, 0x72)
        /usr/local/go/src/runtime/netpoll.go:345 +0x85 fp=0xc00048fba8 sp=0xc00048fb88 pc=0x478ae5
internal/poll.(*pollDesc).wait(0x3?, 0xc0004ebf80?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc00048fbd0 sp=0xc00048fba8 pc=0x531ca7
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc000628500)
        /usr/local/go/src/internal/poll/fd_unix.go:611 +0x2ac fp=0xc00048fc78 sp=0xc00048fbd0 pc=0x53704c
net.(*netFD).accept(0xc000628500)
        /usr/local/go/src/net/fd_unix.go:172 +0x29 fp=0xc00048fd30 sp=0xc00048fc78 pc=0x5eb089
net.(*TCPListener).accept(0xc000132ea0)
        /usr/local/go/src/net/tcpsock_posix.go:159 +0x1e fp=0xc00048fd58 sp=0xc00048fd30 pc=0x60557e
net.(*TCPListener).Accept(0xc000132ea0)
        /usr/local/go/src/net/tcpsock.go:327 +0x30 fp=0xc00048fd88 sp=0xc00048fd58 pc=0x604770
github.com/caddyserver/caddy/v2.(*deleteListener).Accept(0x2e8d130?)
        <autogenerated>:1 +0x24 fp=0xc00048fda0 sp=0xc00048fd88 pc=0xa754e4
net/http.(*onceCloseListener).Accept(0x2154c60?)
        <autogenerated>:1 +0x24 fp=0xc00048fdb8 sp=0xc00048fda0 pc=0x76f004
net/http.(*Server).Serve(0xc0004b73b0, {0x7fb6da695700, 0xc000132ec0})
        /usr/local/go/src/net/http/server.go:3255 +0x33e fp=0xc00048fee8 sp=0xc00048fdb8 pc=0x74b41e
github.com/caddyserver/caddy/v2.replaceLocalAdminServer.func2()
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/admin.go:449 +0x133 fp=0xc00048ffe0 sp=0xc00048fee8 pc=0xa52773
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00048ffe8 sp=0xc00048ffe0 pc=0x47ea01
created by github.com/caddyserver/caddy/v2.replaceLocalAdminServer in goroutine 1
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/admin.go:445 +0x4b2

goroutine 84 gp=0xc000602a80 m=nil [select]:
runtime.gopark(0xc000490f40?, 0x3?, 0x0?, 0x0?, 0xc000490e3a?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000490ce0 sp=0xc000490cc0 pc=0x44668e
runtime.selectgo(0xc000490f40, 0xc000490e34, 0x1?, 0x0, 0x0?, 0x1)
        /usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc000490e00 sp=0xc000490ce0 pc=0x458505
github.com/caddyserver/certmagic.(*Cache).maintainAssets(0xc000628900, 0x0)
        /root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/maintain.go:69 +0x31f fp=0xc000490fc0 sp=0xc000490e00 pc=0x8c817f
github.com/caddyserver/certmagic.NewCache.gowrap1()
        /root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/cache.go:127 +0x25 fp=0xc000490fe0 sp=0xc000490fc0 pc=0x8a5be5
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000490fe8 sp=0xc000490fe0 pc=0x47ea01
created by github.com/caddyserver/certmagic.NewCache in goroutine 1
        /root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/cache.go:127 +0x1f6

goroutine 85 gp=0xc000603340 m=nil [select]:
runtime.gopark(0xc00065ffa8?, 0x2?, 0x0?, 0x0?, 0xc00065ff9c?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000682e40 sp=0xc000682e20 pc=0x44668e
runtime.selectgo(0xc000682fa8, 0xc00065ff98, 0x0?, 0x0, 0x0?, 0x1)
        /usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc000682f60 sp=0xc000682e40 pc=0x458505
github.com/caddyserver/caddy/v2/modules/caddytls.(*TLS).keepStorageClean.func1()
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddytls/tls.go:540 +0x93 fp=0xc000682fe0 sp=0xc000682f60 pc=0x10aa4b3
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000682fe8 sp=0xc000682fe0 pc=0x47ea01
created by github.com/caddyserver/caddy/v2/modules/caddytls.(*TLS).keepStorageClean in goroutine 1
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddytls/tls.go:532 +0xe5

goroutine 86 gp=0xc000603500 m=nil [IO wait]:
runtime.gopark(0xc00007e008?, 0x0?, 0x0?, 0x35?, 0xc00048bc58?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00048bc20 sp=0xc00048bc00 pc=0x44668e
runtime.netpollblock(0xc00048bcb8?, 0x40c406?, 0x0?)
        /usr/local/go/src/runtime/netpoll.go:573 +0xf7 fp=0xc00048bc58 sp=0xc00048bc20 pc=0x43e7b7
internal/poll.runtime_pollWait(0x7fb6dac855d8, 0x72)
        /usr/local/go/src/runtime/netpoll.go:345 +0x85 fp=0xc00048bc78 sp=0xc00048bc58 pc=0x478ae5
internal/poll.(*pollDesc).wait(0x8?, 0x1?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc00048bca0 sp=0xc00048bc78 pc=0x531ca7
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc000495680)
        /usr/local/go/src/internal/poll/fd_unix.go:611 +0x2ac fp=0xc00048bd48 sp=0xc00048bca0 pc=0x53704c
net.(*netFD).accept(0xc000495680)
        /usr/local/go/src/net/fd_unix.go:172 +0x29 fp=0xc00048be00 sp=0xc00048bd48 pc=0x5eb089
net.(*TCPListener).accept(0xc000262460)
        /usr/local/go/src/net/tcpsock_posix.go:159 +0x1e fp=0xc00048be28 sp=0xc00048be00 pc=0x60557e
net.(*TCPListener).Accept(0xc000262460)
        /usr/local/go/src/net/tcpsock.go:327 +0x30 fp=0xc00048be58 sp=0xc00048be28 pc=0x604770
github.com/caddyserver/caddy/v2.(*deleteListener).Accept(0x74b594?)
        <autogenerated>:1 +0x24 fp=0xc00048be70 sp=0xc00048be58 pc=0xa754e4
net/http.(*onceCloseListener).Accept(0xc000696480?)
        <autogenerated>:1 +0x24 fp=0xc00048be88 sp=0xc00048be70 pc=0x76f004
net/http.(*Server).Serve(0xc0004b7860, {0x7fb6da695700, 0xc000262480})
        /usr/local/go/src/net/http/server.go:3255 +0x33e fp=0xc00048bfb8 sp=0xc00048be88 pc=0x74b41e
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*App).Start.gowrap1()
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/app.go:509 +0x28 fp=0xc00048bfe0 sp=0xc00048bfb8 pc=0x126e268
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00048bfe8 sp=0xc00048bfe0 pc=0x47ea01
created by github.com/caddyserver/caddy/v2/modules/caddyhttp.(*App).Start in goroutine 1
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/app.go:509 +0x1b95

goroutine 87 gp=0xc0006036c0 m=nil [chan receive]:
runtime.gopark(0x54?, 0x7ffec88d99f3?, 0xc3?, 0x7a?, 0x1e7026cf53cd4?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00072fca0 sp=0xc00072fc80 pc=0x44668e
runtime.chanrecv(0xc0003e00c0, 0xc00072ff68, 0x1)
        /usr/local/go/src/runtime/chan.go:583 +0x3bf fp=0xc00072fd18 sp=0xc00072fca0 pc=0x40f2ff
runtime.chanrecv2(0x0?, 0x7ffec88d99f3?)
        /usr/local/go/src/runtime/chan.go:447 +0x12 fp=0xc00072fd40 sp=0xc00072fd18 pc=0x40ef32
github.com/caddyserver/caddy/v2/cmd.watchConfigFile({0x7ffec88d99f3, 0x14}, {0x0, 0x0})
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/cmd/main.go:220 +0x2c6 fp=0xc00072ffb0 sp=0xc00072fd40 pc=0xb43546
github.com/caddyserver/caddy/v2/cmd.cmdRun.gowrap2()
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/cmd/commandfuncs.go:261 +0x2c fp=0xc00072ffe0 sp=0xc00072ffb0 pc=0xb3da2c
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00072ffe8 sp=0xc00072ffe0 pc=0x47ea01
created by github.com/caddyserver/caddy/v2/cmd.cmdRun in goroutine 1
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/cmd/commandfuncs.go:261 +0xca6

goroutine 98 gp=0xc000603c00 m=14 mp=0xc000600808 [syscall, locked to thread]:
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000a7fe8 sp=0xc0000a7fe0 pc=0x47ea01

goroutine 27 gp=0xc000503180 m=nil [IO wait]:
runtime.gopark(0x342?, 0xc0009c5958?, 0x40?, 0x59?, 0xb?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc0009c5910 sp=0xc0009c58f0 pc=0x44668e
runtime.netpollblock(0x4a2ef8?, 0x40c406?, 0x0?)
        /usr/local/go/src/runtime/netpoll.go:573 +0xf7 fp=0xc0009c5948 sp=0xc0009c5910 pc=0x43e7b7
internal/poll.runtime_pollWait(0x7fb6dac854e0, 0x72)
        /usr/local/go/src/runtime/netpoll.go:345 +0x85 fp=0xc0009c5968 sp=0xc0009c5948 pc=0x478ae5
internal/poll.(*pollDesc).wait(0xc000922880?, 0xc0004d9000?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0009c5990 sp=0xc0009c5968 pc=0x531ca7
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000922880, {0xc0004d9000, 0x1000, 0x1000})
        /usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a fp=0xc0009c5a28 sp=0xc0009c5990 pc=0x532f9a
net.(*netFD).Read(0xc000922880, {0xc0004d9000?, 0xc0009c5a98?, 0x532165?})
        /usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc0009c5a70 sp=0xc0009c5a28 pc=0x5e90a5
net.(*conn).Read(0xc000267340, {0xc0004d9000?, 0x0?, 0xc0004eab18?})
        /usr/local/go/src/net/net.go:179 +0x45 fp=0xc0009c5ab8 sp=0xc0009c5a70 pc=0x5fc625
net.(*TCPConn).Read(0xc0004eab10?, {0xc0004d9000?, 0xc000922880?, 0xc0009c5af0?})
        <autogenerated>:1 +0x25 fp=0xc0009c5ae8 sp=0xc0009c5ab8 pc=0x60f245
net/http.(*connReader).Read(0xc0004eab10, {0xc0004d9000, 0x1000, 0x1000})
        /usr/local/go/src/net/http/server.go:789 +0x14b fp=0xc0009c5b38 sp=0xc0009c5ae8 pc=0x7406cb
bufio.(*Reader).fill(0xc000422000)
        /usr/local/go/src/bufio/bufio.go:110 +0x103 fp=0xc0009c5b70 sp=0xc0009c5b38 pc=0x6bdf43
bufio.(*Reader).Peek(0xc000422000, 0x4)
        /usr/local/go/src/bufio/bufio.go:148 +0x53 fp=0xc0009c5b90 sp=0xc0009c5b70 pc=0x6be073
net/http.(*conn).serve(0xc0005fa1b0, {0x2154d78, 0xc0004eaab0})
        /usr/local/go/src/net/http/server.go:2074 +0x749 fp=0xc0009c5fb8 sp=0xc0009c5b90 pc=0x746429
net/http.(*Server).Serve.gowrap3()
        /usr/local/go/src/net/http/server.go:3285 +0x28 fp=0xc0009c5fe0 sp=0xc0009c5fb8 pc=0x74b808
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0009c5fe8 sp=0xc0009c5fe0 pc=0x47ea01
created by net/http.(*Server).Serve in goroutine 86
        /usr/local/go/src/net/http/server.go:3285 +0x4b4

goroutine 99 gp=0xc0006a08c0 m=15 mp=0xc000601008 [syscall, locked to thread]:
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000a1fe8 sp=0xc0000a1fe0 pc=0x47ea01

goroutine 36 gp=0xc000603dc0 m=nil [IO wait]:
runtime.gopark(0x460?, 0xc000733958?, 0x40?, 0x39?, 0xb?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000733910 sp=0xc0007338f0 pc=0x44668e
runtime.netpollblock(0x4a2ef8?, 0x40c406?, 0x0?)
        /usr/local/go/src/runtime/netpoll.go:573 +0xf7 fp=0xc000733948 sp=0xc000733910 pc=0x43e7b7
internal/poll.runtime_pollWait(0x7fb6dac853e8, 0x72)
        /usr/local/go/src/runtime/netpoll.go:345 +0x85 fp=0xc000733968 sp=0xc000733948 pc=0x478ae5
internal/poll.(*pollDesc).wait(0xc000628100?, 0xc0003e8000?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc000733990 sp=0xc000733968 pc=0x531ca7
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000628100, {0xc0003e8000, 0x1000, 0x1000})
        /usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a fp=0xc000733a28 sp=0xc000733990 pc=0x532f9a
net.(*netFD).Read(0xc000628100, {0xc0003e8000?, 0xc000733a98?, 0x532165?})
        /usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc000733a70 sp=0xc000733a28 pc=0x5e90a5
net.(*conn).Read(0xc0004d2060, {0xc0003e8000?, 0x0?, 0xc0004faba8?})
        /usr/local/go/src/net/net.go:179 +0x45 fp=0xc000733ab8 sp=0xc000733a70 pc=0x5fc625
net.(*TCPConn).Read(0xc0004faba0?, {0xc0003e8000?, 0xc000628100?, 0xc000733af0?})
        <autogenerated>:1 +0x25 fp=0xc000733ae8 sp=0xc000733ab8 pc=0x60f245
net/http.(*connReader).Read(0xc0004faba0, {0xc0003e8000, 0x1000, 0x1000})
        /usr/local/go/src/net/http/server.go:789 +0x14b fp=0xc000733b38 sp=0xc000733ae8 pc=0x7406cb
bufio.(*Reader).fill(0xc0004223c0)
        /usr/local/go/src/bufio/bufio.go:110 +0x103 fp=0xc000733b70 sp=0xc000733b38 pc=0x6bdf43
bufio.(*Reader).Peek(0xc0004223c0, 0x4)
        /usr/local/go/src/bufio/bufio.go:148 +0x53 fp=0xc000733b90 sp=0xc000733b70 pc=0x6be073
net/http.(*conn).serve(0xc00099e000, {0x2154d78, 0xc00070c090})
        /usr/local/go/src/net/http/server.go:2074 +0x749 fp=0xc000733fb8 sp=0xc000733b90 pc=0x746429
net/http.(*Server).Serve.gowrap3()
        /usr/local/go/src/net/http/server.go:3285 +0x28 fp=0xc000733fe0 sp=0xc000733fb8 pc=0x74b808
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000733fe8 sp=0xc000733fe0 pc=0x47ea01
created by net/http.(*Server).Serve in goroutine 86
        /usr/local/go/src/net/http/server.go:3285 +0x4b4

goroutine 37 gp=0xc000503500 m=nil [IO wait]:
runtime.gopark(0x546?, 0x1?, 0x0?, 0x0?, 0xb?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000069910 sp=0xc0000698f0 pc=0x44668e
runtime.netpollblock(0x4a2ef8?, 0x40c406?, 0x0?)
        /usr/local/go/src/runtime/netpoll.go:573 +0xf7 fp=0xc000069948 sp=0xc000069910 pc=0x43e7b7
internal/poll.runtime_pollWait(0x7fb6dac852f0, 0x72)
        /usr/local/go/src/runtime/netpoll.go:345 +0x85 fp=0xc000069968 sp=0xc000069948 pc=0x478ae5
internal/poll.(*pollDesc).wait(0xc000628280?, 0xc000690000?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc000069990 sp=0xc000069968 pc=0x531ca7
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000628280, {0xc000690000, 0x1000, 0x1000})
        /usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a fp=0xc000069a28 sp=0xc000069990 pc=0x532f9a
net.(*netFD).Read(0xc000628280, {0xc000690000?, 0xc000069a98?, 0x532165?})
        /usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc000069a70 sp=0xc000069a28 pc=0x5e90a5
net.(*conn).Read(0xc0004d2068, {0xc000690000?, 0x0?, 0xc00068c038?})
        /usr/local/go/src/net/net.go:179 +0x45 fp=0xc000069ab8 sp=0xc000069a70 pc=0x5fc625
net.(*TCPConn).Read(0xc00068c030?, {0xc000690000?, 0xc000628280?, 0xc000069af0?})
        <autogenerated>:1 +0x25 fp=0xc000069ae8 sp=0xc000069ab8 pc=0x60f245
net/http.(*connReader).Read(0xc00068c030, {0xc000690000, 0x1000, 0x1000})
        /usr/local/go/src/net/http/server.go:789 +0x14b fp=0xc000069b38 sp=0xc000069ae8 pc=0x7406cb
bufio.(*Reader).fill(0xc000752000)
        /usr/local/go/src/bufio/bufio.go:110 +0x103 fp=0xc000069b70 sp=0xc000069b38 pc=0x6bdf43
bufio.(*Reader).Peek(0xc000752000, 0x4)
        /usr/local/go/src/bufio/bufio.go:148 +0x53 fp=0xc000069b90 sp=0xc000069b70 pc=0x6be073
net/http.(*conn).serve(0xc00099e090, {0x2154d78, 0xc00070c150})
        /usr/local/go/src/net/http/server.go:2074 +0x749 fp=0xc000069fb8 sp=0xc000069b90 pc=0x746429
net/http.(*Server).Serve.gowrap3()
        /usr/local/go/src/net/http/server.go:3285 +0x28 fp=0xc000069fe0 sp=0xc000069fb8 pc=0x74b808
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000069fe8 sp=0xc000069fe0 pc=0x47ea01
created by net/http.(*Server).Serve in goroutine 86
        /usr/local/go/src/net/http/server.go:3285 +0x4b4

goroutine 73 gp=0xc000503880 m=nil [chan receive]:
runtime.gopark(0x2?, 0xc0017ba0a0?, 0x1a?, 0x0?, 0xc0009e1a48?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc0009e19f8 sp=0xc0009e19d8 pc=0x44668e
runtime.chanrecv(0xc0004183c0, 0x0, 0x1)
        /usr/local/go/src/runtime/chan.go:583 +0x3bf fp=0xc0009e1a70 sp=0xc0009e19f8 pc=0x40f2ff
runtime.chanrecv1(0xc0009e1af8?, 0xc0009e1ad0?)
        /usr/local/go/src/runtime/chan.go:442 +0x12 fp=0xc0009e1a98 sp=0xc0009e1a70 pc=0x40ef12
github.com/dunglas/frankenphp.ServeHTTP({0x21506b8, 0xc00070f130}, 0xc00078f9e0)
        /go/src/app/frankenphp.go:465 +0x20e fp=0xc0009e1b58 sp=0xc0009e1a98 pc=0x166212e
github.com/dunglas/frankenphp/caddy.FrankenPHPModule.ServeHTTP({{0x1c3813c, 0x10}, {0xc00025e750, 0x1, 0x1}, 0xc000480a84, 0x0, 0xc000495180}, {0x21506b8, 0xc00070f130}, ...)
        /go/src/app/caddy/caddy.go:275 +0x4ac fp=0xc0009e1ef8 sp=0xc0009e1b58 pc=0x1768f4c
github.com/dunglas/frankenphp/caddy.(*FrankenPHPModule).ServeHTTP(0xc0009e1fd8?, {0x21506b8?, 0xc00070f130?}, 0x1a65080?, {0x2142480?, 0xc000320fa0?})
        <autogenerated>:1 +0xe5 fp=0xc0009e1fb0 sp=0xc0009e1ef8 pc=0x176f0a5
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x21506b8?, 0xc00070f130?}, 0xc000333b00?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x3a fp=0xc0009e1ff0 sp=0xc0009e1fb0 pc=0x129009a
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x2142480?, {0x21506b8?, 0xc00070f130?}, 0xc00078f680?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e2018 sp=0xc0009e1ff0 pc=0x1274c89
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x21506b8, 0xc00070f130}, 0xc00078f680)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300 +0x325 fp=0xc0009e2090 sp=0xc0009e2018 pc=0x128fe05
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x0?, {0x21506b8?, 0xc00070f130?}, 0xc0008f8780?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e20b8 sp=0xc0009e2090 pc=0x1274c89
github.com/caddyserver/caddy/v2/modules/caddyhttp/rewrite.Rewrite.ServeHTTP({{0x0, 0x0}, {0xc0005f6e40, 0x1d}, {0x0, 0x0}, {0x0, 0x0}, {0x0, 0x0, ...}, ...}, ...)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/rewrite/rewrite.go:137 +0x3f3 fp=0xc0009e2240 sp=0xc0009e20b8 pc=0x14c3473
github.com/caddyserver/caddy/v2/modules/caddyhttp/rewrite.(*Rewrite).ServeHTTP(0xc0009e2390?, {0x21506b8?, 0xc00070f130?}, 0x1a65080?, {0x2142480?, 0xc000320fc0?})
        <autogenerated>:1 +0xd6 fp=0xc0009e2368 sp=0xc0009e2240 pc=0x14c5496
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x21506b8?, 0xc00070f130?}, 0xc000494f00?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x3a fp=0xc0009e23a8 sp=0xc0009e2368 pc=0x129009a
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x2142480?, {0x21506b8?, 0xc00070f130?}, 0xc00078f680?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e23d0 sp=0xc0009e23a8 pc=0x1274c89
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x21506b8, 0xc00070f130}, 0xc00078f680)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300 +0x325 fp=0xc0009e2448 sp=0xc0009e23d0 pc=0x128fe05
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x2154d78?, {0x21506b8?, 0xc00070f130?}, 0xe?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e2470 sp=0xc0009e2448 pc=0x1274c89
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x21506b8, 0xc00070f130}, 0xc00078f680)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:268 +0x244 fp=0xc0009e24e8 sp=0xc0009e2470 pc=0x128fd24
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0xc0009e2538?, {0x21506b8?, 0xc00070f130?}, 0x2142a00?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e2510 sp=0xc0009e24e8 pc=0x1274c89
github.com/dunglas/vulcain/caddy.Vulcain.ServeHTTP({{0x0, 0x0}, 0xffffffffffffffff, 0x0, 0xc000489ee0, 0xc000494d00}, {0x21506b8, 0xc00070f130}, 0xc00078f560, {0x2142480, ...})
        /root/go/pkg/mod/github.com/dunglas/vulcain/caddy@v1.0.2/caddy.go:81 +0x3ff fp=0xc0009e2648 sp=0xc0009e2510 pc=0x17e6f5f
github.com/dunglas/vulcain/caddy.(*Vulcain).ServeHTTP(0x1788f60?, {0x21506b8?, 0xc00070f130?}, 0x478074?, {0x2142480?, 0xc000321000?})
        <autogenerated>:1 +0xb0 fp=0xc0009e26e0 sp=0xc0009e2648 pc=0x17e79b0
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x21506b8?, 0xc00070f130?}, 0xc0009e2758?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x3a fp=0xc0009e2720 sp=0xc0009e26e0 pc=0x129009a
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0xc0008f86a0?, {0x21506b8?, 0xc00070f130?}, 0xc000361f80?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e2748 sp=0xc0009e2720 pc=0x1274c89
github.com/dunglas/mercure/caddy.Mercure.ServeHTTP({0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, {{0xc000316480, 0x20}, {0xc0005f6b20, ...}}, ...}, ...)
        /root/go/pkg/mod/github.com/dunglas/mercure/caddy@v0.15.11/caddy.go:238 +0xb8 fp=0xc0009e2778 sp=0xc0009e2748 pc=0x1766338
github.com/dunglas/mercure/caddy.(*Mercure).ServeHTTP(0x10?, {0x21506b8?, 0xc00070f130?}, 0x0?, {0x2142480?, 0xc000703620?})
        <autogenerated>:1 +0xa7 fp=0xc0009e2950 sp=0xc0009e2778 pc=0x17672c7
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x21506b8?, 0xc00070f130?}, 0xc000503880?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x3a fp=0xc0009e2990 sp=0xc0009e2950 pc=0x129009a
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0xc000134f70?, {0x21506b8?, 0xc00070f130?}, 0x4?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e29b8 sp=0xc0009e2990 pc=0x1274c89
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*Encode).ServeHTTP(0xc0003337c0, {0x2151180, 0xc000703770}, 0xc00078f560, {0x2142480, 0xc000703650})
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/encode/encode.go:138 +0x252 fp=0xc0009e2a20 sp=0xc0009e29b8 pc=0x12d8bf2
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x2151180?, 0xc000703770?}, 0x2139f01?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x3a fp=0xc0009e2a60 sp=0xc0009e2a20 pc=0x129009a
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0xc0007034a0?, {0x2151180?, 0xc000703770?}, 0xc000135f80?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e2a88 sp=0xc0009e2a60 pc=0x1274c89
github.com/caddyserver/caddy/v2/modules/caddyhttp/headers.Handler.ServeHTTP({0x0?, 0xc0002435d8?}, {0x2151180, 0xc000703740}, 0xc00078f560, {0x2142480, 0xc000703680})
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/headers/headers.go:110 +0x2cb fp=0xc0009e2b58 sp=0xc0009e2a88 pc=0x14db0ab
github.com/caddyserver/caddy/v2/modules/caddyhttp/headers.(*Handler).ServeHTTP(0x10?, {0x2151180?, 0xc000703740?}, 0x0?, {0x2142480?, 0xc000703680?})
        <autogenerated>:1 +0x55 fp=0xc0009e2ba0 sp=0xc0009e2b58 pc=0x14dd715
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x2151180?, 0xc000703740?}, 0x2139f01?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x3a fp=0xc0009e2be0 sp=0xc0009e2ba0 pc=0x129009a
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0xc0007034a0?, {0x2151180?, 0xc000703740?}, 0xc000135f80?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e2c08 sp=0xc0009e2be0 pc=0x1274c89
github.com/caddyserver/caddy/v2/modules/caddyhttp/headers.Handler.ServeHTTP({0x0?, 0xc000243560?}, {0x7fb6dad47988, 0xc000703530}, 0xc00078f560, {0x2142480, 0xc0007036b0})
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/headers/headers.go:110 +0x2cb fp=0xc0009e2cd8 sp=0xc0009e2c08 pc=0x14db0ab
github.com/caddyserver/caddy/v2/modules/caddyhttp/headers.(*Handler).ServeHTTP(0x10?, {0x7fb6dad47988?, 0xc000703530?}, 0xffffffffffffffff?, {0x2142480?, 0xc0007036b0?})
        <autogenerated>:1 +0x55 fp=0xc0009e2d20 sp=0xc0009e2cd8 pc=0x14dd715
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x7fb6dad47988?, 0xc000703530?}, 0xc0004fec60?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x3a fp=0xc0009e2d60 sp=0xc0009e2d20 pc=0x129009a
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0xc0009e2df0?, {0x7fb6dad47988?, 0xc000703530?}, 0x4?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e2d88 sp=0xc0009e2d60 pc=0x1274c89
github.com/caddyserver/caddy/v2/modules/caddyhttp.VarsMiddleware.ServeHTTP(0xc00023d980, {0x7fb6dad47988, 0xc000703530}, 0xc00078f560, {0x2142480, 0xc0007036e0})
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/vars.go:61 +0x273 fp=0xc0009e2e60 sp=0xc0009e2d88 pc=0x1298333
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*VarsMiddleware).ServeHTTP(0xc0009e2ec8?, {0x7fb6dad47988?, 0xc000703530?}, 0x1a65080?, {0x2142480?, 0xc0007036e0?})
        <autogenerated>:1 +0x38 fp=0xc0009e2ea0 sp=0xc0009e2e60 pc=0x12a1a58
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x7fb6dad47988?, 0xc000703530?}, 0xc000266a28?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x3a fp=0xc0009e2ee0 sp=0xc0009e2ea0 pc=0x129009a
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x2142480?, {0x7fb6dad47988?, 0xc000703530?}, 0xc00078f560?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e2f08 sp=0xc0009e2ee0 pc=0x1274c89
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x7fb6dad47988, 0xc000703530}, 0xc00078f560)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300 +0x325 fp=0xc0009e2f80 sp=0xc0009e2f08 pc=0x128fe05
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0xc0001b2a08?, {0x7fb6dad47988?, 0xc000703530?}, 0x2142480?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e2fa8 sp=0xc0009e2f80 pc=0x1274c89
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Subroute).ServeHTTP(0xc000133320, {0x7fb6dad47988, 0xc000703530}, 0xc00078f560, {0x2142480, 0x1eb6618})
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/subroute.go:74 +0x67 fp=0xc0009e2fe8 sp=0xc0009e2fa8 pc=0x1297f67
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x7fb6dad47988?, 0xc000703530?}, 0xc000133320?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x3a fp=0xc0009e3028 sp=0xc0009e2fe8 pc=0x129009a
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x2142480?, {0x7fb6dad47988?, 0xc000703530?}, 0xc00078f560?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e3050 sp=0xc0009e3028 pc=0x1274c89
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x7fb6dad47988, 0xc000703530}, 0xc00078f560)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300 +0x325 fp=0xc0009e30c8 sp=0xc0009e3050 pc=0x128fe05
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x7fb6daa63a08?, {0x7fb6dad47988?, 0xc000703530?}, 0x18?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e30f0 sp=0xc0009e30c8 pc=0x1274c89
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).enforcementHandler(0x416d45?, {0x7fb6dad47988?, 0xc000703530?}, 0x1?, {0x2142480?, 0xc0002623e0?})
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:429 +0x24b fp=0xc0009e31c8 sp=0xc0009e30f0 pc=0x129258b
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*App).Provision.(*Server).wrapPrimaryRoute.func1({0x7fb6dad47988?, 0xc000703530?}, 0x4b134f?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:405 +0x35 fp=0xc0009e3208 sp=0xc0009e31c8 pc=0x126b935
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0xc0001f2c40?, {0x7fb6dad47988?, 0xc000703530?}, 0xc00078f560?)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x29 fp=0xc0009e3230 sp=0xc0009e3208 pc=0x1274c89
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).ServeHTTP(0xc000300008, {0x214ffc8, 0xc0009b8540}, 0xc00078f200)
        /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:341 +0xc47 fp=0xc0009e3b60 sp=0xc0009e3230 pc=0x1291387
net/http.serverHandler.ServeHTTP({0xc000702a50?}, {0x214ffc8?, 0xc0009b8540?}, 0x6?)
        /usr/local/go/src/net/http/server.go:3137 +0x8e fp=0xc0009e3b90 sp=0xc0009e3b60 pc=0x74afee
net/http.(*conn).serve(0xc000696480, {0x2154d78, 0xc0007029f0})
        /usr/local/go/src/net/http/server.go:2039 +0x5e8 fp=0xc0009e3fb8 sp=0xc0009e3b90 pc=0x7462c8
net/http.(*Server).Serve.gowrap3()
        /usr/local/go/src/net/http/server.go:3285 +0x28 fp=0xc0009e3fe0 sp=0xc0009e3fb8 pc=0x74b808
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0009e3fe8 sp=0xc0009e3fe0 pc=0x47ea01
created by net/http.(*Server).Serve in goroutine 86
        /usr/local/go/src/net/http/server.go:3285 +0x4b4

goroutine 132 gp=0xc0006b0540 m=16 mp=0xc0000c7008 [syscall, locked to thread]:
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000685fe8 sp=0xc000685fe0 pc=0x47ea01

goroutine 134 gp=0xc0003ee380 m=18 mp=0xc0003ec008 [syscall, locked to thread]:
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00048dfe8 sp=0xc00048dfe0 pc=0x47ea01

goroutine 135 gp=0xc00078a000 m=nil [IO wait]:
runtime.gopark(0x568?, 0xc0009c9958?, 0x40?, 0x99?, 0xb?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc0009c9910 sp=0xc0009c98f0 pc=0x44668e
runtime.netpollblock(0x4a2ef8?, 0x40c406?, 0x0?)
        /usr/local/go/src/runtime/netpoll.go:573 +0xf7 fp=0xc0009c9948 sp=0xc0009c9910 pc=0x43e7b7
internal/poll.runtime_pollWait(0x7fb6dac85100, 0x72)
        /usr/local/go/src/runtime/netpoll.go:345 +0x85 fp=0xc0009c9968 sp=0xc0009c9948 pc=0x478ae5
internal/poll.(*pollDesc).wait(0xc000118000?, 0xc000728000?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0009c9990 sp=0xc0009c9968 pc=0x531ca7
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000118000, {0xc000728000, 0x1000, 0x1000})
        /usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a fp=0xc0009c9a28 sp=0xc0009c9990 pc=0x532f9a
net.(*netFD).Read(0xc000118000, {0xc000728000?, 0xc0009c9a98?, 0x532165?})
        /usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc0009c9a70 sp=0xc0009c9a28 pc=0x5e90a5
net.(*conn).Read(0xc0003bc018, {0xc000728000?, 0x0?, 0xc0007027e8?})
        /usr/local/go/src/net/net.go:179 +0x45 fp=0xc0009c9ab8 sp=0xc0009c9a70 pc=0x5fc625
net.(*TCPConn).Read(0xc0007027e0?, {0xc000728000?, 0xc000118000?, 0xc0009c9af0?})
        <autogenerated>:1 +0x25 fp=0xc0009c9ae8 sp=0xc0009c9ab8 pc=0x60f245
net/http.(*connReader).Read(0xc0007027e0, {0xc000728000, 0x1000, 0x1000})
        /usr/local/go/src/net/http/server.go:789 +0x14b fp=0xc0009c9b38 sp=0xc0009c9ae8 pc=0x7406cb
bufio.(*Reader).fill(0xc000455c80)
        /usr/local/go/src/bufio/bufio.go:110 +0x103 fp=0xc0009c9b70 sp=0xc0009c9b38 pc=0x6bdf43
bufio.(*Reader).Peek(0xc000455c80, 0x4)
        /usr/local/go/src/bufio/bufio.go:148 +0x53 fp=0xc0009c9b90 sp=0xc0009c9b70 pc=0x6be073
net/http.(*conn).serve(0xc000788000, {0x2154d78, 0xc000784060})
        /usr/local/go/src/net/http/server.go:2074 +0x749 fp=0xc0009c9fb8 sp=0xc0009c9b90 pc=0x746429
net/http.(*Server).Serve.gowrap3()
        /usr/local/go/src/net/http/server.go:3285 +0x28 fp=0xc0009c9fe0 sp=0xc0009c9fb8 pc=0x74b808
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0009c9fe8 sp=0xc0009c9fe0 pc=0x47ea01
created by net/http.(*Server).Serve in goroutine 86
        /usr/local/go/src/net/http/server.go:3285 +0x4b4

goroutine 151 gp=0xc000279180 m=19 mp=0xc00073a008 [syscall, locked to thread]:
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00048cfe8 sp=0xc00048cfe0 pc=0x47ea01

goroutine 152 gp=0xc0006a0e00 m=20 mp=0xc0003ed008 [syscall, locked to thread]:
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000a0fe8 sp=0xc0000a0fe0 pc=0x47ea01

goroutine 153 gp=0xc0006a1340 m=21 mp=0xc0003ed808 [syscall, locked to thread]:
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000a5fe8 sp=0xc0000a5fe0 pc=0x47ea01

goroutine 75 gp=0xc0003ee540 m=nil [IO wait]:
runtime.gopark(0x10?, 0x10?, 0xf0?, 0xd5?, 0xb?)
        /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00080d5a8 sp=0xc00080d588 pc=0x44668e
runtime.netpollblock(0x4a2ef8?, 0x40c406?, 0x0?)
        /usr/local/go/src/runtime/netpoll.go:573 +0xf7 fp=0xc00080d5e0 sp=0xc00080d5a8 pc=0x43e7b7
internal/poll.runtime_pollWait(0x7fb6dac851f8, 0x72)
        /usr/local/go/src/runtime/netpoll.go:345 +0x85 fp=0xc00080d600 sp=0xc00080d5e0 pc=0x478ae5
internal/poll.(*pollDesc).wait(0xc0008f8100?, 0xc000702a61?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc00080d628 sp=0xc00080d600 pc=0x531ca7
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0008f8100, {0xc000702a61, 0x1, 0x1})
        /usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a fp=0xc00080d6c0 sp=0xc00080d628 pc=0x532f9a
net.(*netFD).Read(0xc0008f8100, {0xc000702a61?, 0xc00080d748?, 0x47aa30?})
        /usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc00080d708 sp=0xc00080d6c0 pc=0x5e90a5
net.(*conn).Read(0xc000094680, {0xc000702a61?, 0x0?, 0x2fcee20?})
        /usr/local/go/src/net/net.go:179 +0x45 fp=0xc00080d750 sp=0xc00080d708 pc=0x5fc625
net.(*TCPConn).Read(0x2e95330?, {0xc000702a61?, 0x0?, 0x0?})
        <autogenerated>:1 +0x25 fp=0xc00080d780 sp=0xc00080d750 pc=0x60f245
net/http.(*connReader).backgroundRead(0xc000702a50)
        /usr/local/go/src/net/http/server.go:681 +0x37 fp=0xc00080d7c8 sp=0xc00080d780 pc=0x740237
net/http.(*connReader).startBackgroundRead.gowrap2()
        /usr/local/go/src/net/http/server.go:677 +0x25 fp=0xc00080d7e0 sp=0xc00080d7c8 pc=0x740165
runtime.goexit({})
        /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00080d7e8 sp=0xc00080d7e0 pc=0x47ea01
created by net/http.(*connReader).startBackgroundRead in goroutine 73
        /usr/local/go/src/net/http/server.go:677 +0xba

rax    0x55
rbx    0x7fb6d7540118
rcx    0x0
rdx    0xd
rdi    0x7fb722baac6b
rsi    0x7fb6c6d2c8a0
rbp    0x7fb722baac6b
rsp    0x7fb6c72763d8
r8     0x3
r9     0x8080808080808001
r10    0x7fb722baac6b
r11    0x246
r12    0xe
r13    0x20
r14    0x7fb6d7526820
r15    0x7fb6da390048
rip    0x7fb72376f54c
rflags 0x10246
cs     0x33
fs     0x0
gs     0x0

The PHP app is not directly exposes to internet, because I have many others applications which are running in containers on the server. The PHP app is connected to an containerized load-balancer build with Caddy2 which expose the service.

 // Caddyfile from the loadbalance:
fake.api.w-ap.dev {
  reverse_proxy internal-php-app-with-mercure:80
}
// Caddyfile from the PHP app
{
	frankenphp {
		{$FRANKENPHP_CONFIG}
	}

    order mercure after encode
    order vulcain after reverse_proxy
    order php_server before file_server
}

http://fake.api.w-ap.dev {
	log {
		# Redact the authorization query parameter that can be set by Mercure
		format filter {
			wrap console
			fields {
				uri query {
					replace authorization REDACTED
				}
			}
		}
	}

	root * /srv/app/public
	encode zstd gzip

	mercure {
    	# Transport to use (default to Bolt)
    	transport_url {$MERCURE_TRANSPORT_URL:bolt:///data/mercure.db}
    	# Publisher JWT key
    	publisher_jwt {env.MERCURE_PUBLISHER_JWT_KEY} {env.MERCURE_PUBLISHER_JWT_ALG}
    	# Subscriber JWT key
    	subscriber_jwt {env.MERCURE_SUBSCRIBER_JWT_KEY} {env.MERCURE_SUBSCRIBER_JWT_ALG}
    	# Allow anonymous subscribers (double-check that it's what you want)
    	anonymous
    	# Enable the subscription API (double-check that it's what you want)
    	subscriptions
    	# Extra directives
    	cors_origins https://fake.api.w-ap.dev
    }

    vulcain

    # Add links to the API docs and to the Mercure Hub if not set explicitly (e.g. the PWA)
    header ?Link `</docs.jsonld>; rel="http://www.w3.org/ns/hydra/core#apiDocumentation", </.well-known/mercure>; rel="mercure"`
    # Disable Topics tracking if not enabled explicitly: https://github.com/jkarlin/topics
    header ?Permissions-Policy "browsing-topics=()"

    php_server
}

When I disconnect and then take a few seconds before reconnecting, everything works as expected. However, if the reconnection happens too quickly, it leads to a server crash. I have implemented a debounce mechanism to ensure that the subscription only occurs once each time the app is reloaded.

Could this problem be related to an issue with the front-end implementation? Is there something I might have overlooked?

Thank you for your assistance.

@dunglas
Copy link
Owner

dunglas commented May 9, 2024

Hi,

This is unlikely to be related to Mercure as the stack trace shows a CGO crash and Mercure doesn't use CGO.

It's likely FrankenPHP or a PHP extension that crashes.

Could you try to gather a debug stack trace by following these instructions? https://frankenphp.dev/docs/contributing/#debugging-segmentation-faults-with-static-builds

Could you also try if the problem persists with the Debian variant of the Docker image? Alpine is known to be less stable with FrankenPHP.

Thanks!

@w-ap-admin
Copy link
Author

Thank you for your answer. I will try both of your recommandation: debug stack trace and try with another distro.

Do you want let this issue open ? I can open a new one on FrakenPHP.

@dunglas dunglas transferred this issue from dunglas/mercure May 14, 2024
@dunglas
Copy link
Owner

dunglas commented May 14, 2024

@w-ap-admin I transferred the issue to the FrankenPHP repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants