dunglas / frankenphp

🧟 The modern PHP app server
https://frankenphp.dev
MIT License
6.84k stars 234 forks source link

Fatal error: non-Go code set up signal handler without SA_ONSTACK flag #682

Closed SystematicCZ closed 4 months ago

SystematicCZ commented 7 months ago

What happened?

Running Symfony app behind reverse proxy (caddy) in non-https mode results in crashes (both on dev and prod).

My Caddyfile

{
    frankenphp
    order php_server before file_server
    auto_https off
}

:80 {
    root * /project/application/public

    encode zstd gzip

    php_server

    file_server
}

Build Type

Docker (Alpine)

Worker Mode

No

Operating System

macOs

CPU Architecture

Apple Silicon

PHP configuration

System  Linux 9bb7af7457b1 6.6.16-linuxkit #1 SMP Fri Feb 16 11:54:02 UTC 2024 aarch64
Build Date  Jan 27 2024 07:38:35
Build System    Linux - Docker
Build Provider  https://github.com/docker-library/php
Configure Command   './configure' '--build=aarch64-linux-musl' '--with-config-file-path=/usr/local/etc/php' '--with-config-file-scan-dir=/usr/local/etc/php/conf.d' '--enable-option-checking=fatal' '--with-mhash' '--with-pic' '--enable-mbstring' '--enable-mysqlnd' '--with-password-argon2' '--with-sodium=shared' '--with-pdo-sqlite=/usr' '--with-sqlite3=/usr' '--with-curl' '--with-iconv=/usr' '--with-openssl' '--with-readline' '--with-zlib' '--enable-phpdbg' '--enable-phpdbg-readline' '--with-pear' '--enable-embed' '--enable-zts' '--disable-zend-signals' 'build_alias=aarch64-linux-musl'
Server API  FrankenPHP
Virtual Directory Support   enabled
Configuration File (php.ini) Path   /usr/local/etc/php
Loaded Configuration File   /usr/local/etc/php/php.ini
Scan this dir for additional .ini files     /usr/local/etc/php/conf.d
Additional .ini files parsed    /usr/local/etc/php/conf.d/docker-php-ext-amqp.ini, /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini, /usr/local/etc/php/conf.d/docker-php-ext-bcmath.ini, /usr/local/etc/php/conf.d/docker-php-ext-gmp.ini, /usr/local/etc/php/conf.d/docker-php-ext-intl.ini, /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini, /usr/local/etc/php/conf.d/docker-php-ext-pcntl.ini, /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini, /usr/local/etc/php/conf.d/docker-php-ext-redis.ini, /usr/local/etc/php/conf.d/docker-php-ext-sodium.ini, /usr/local/etc/php/conf.d/docker-php-ext-uuid.ini, /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini, /usr/local/etc/php/conf.d/docker-php-ext-zip.ini, /usr/local/etc/php/conf.d/z-custom.ini
PHP API     20230831
PHP Extension   20230831
Zend Extension  420230831
Zend Extension Build    API420230831,TS
PHP Extension Build     API20230831,TS
Debug Build     no
Thread Safety   enabled
Thread API  POSIX Threads
Zend Signal Handling    disabled
Zend Memory Manager     enabled
Zend Multibyte Support  provided by mbstring
Zend Max Execution Timers   enabled
IPv6 Support    enabled
DTrace Support  disabled
Registered PHP Streams  https, ftps, compress.zlib, php, file, glob, data, http, ftp, phar, zip
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3
Registered Stream Filters   zlib.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, convert.*, consumed, dechunk, chunk

My extensions

    install-php-extensions \
      @composer \
      amqp \
      apcu \
      bcmath \
      gd \
      gmp \
      intl \
      opcache \
      pcntl \
      pdo_mysql \
      redis \
      uuid \
      zip

Relevant log output

signal 13 received but handler not on signal stack
mp.gsignal stack [0x40000b2000 0x40000ba000], mp.g0 stack [0xffff4c4a3ca0 0xffff4c5238a0], sp=0x4000d1c478
fatal error: non-Go code set up signal handler without SA_ONSTACK flag

runtime stack:
runtime.throw({0x1ad9f66?, 0x1000?})
/usr/local/go/src/runtime/panic.go:1077 +0x40 fp=0x4000d1c3c0 sp=0x4000d1c390 pc=0x43e610
runtime.sigNotOnStack(0xd, 0x4000d1c450?, 0x4000088c00)
/usr/local/go/src/runtime/signal_unix.go:1045 +0x118 fp=0x4000d1c400 sp=0x4000d1c3c0 pc=0x457b48
runtime.adjustSignalStack(0xd, 0x4000088c00, 0x4000d1c4a8)
/usr/local/go/src/runtime/signal_unix.go:592 +0x25c fp=0x4000d1c470 sp=0x4000d1c400 pc=0x456a9c
runtime.sigtrampgo(0xd, 0x4000398000, 0xb5d)
/usr/local/go/src/runtime/signal_unix.go:480 +0x8c fp=0x4000d1c4f0 sp=0x4000d1c470 pc=0x4565bc
runtime.sigtramp()
/usr/local/go/src/runtime/sys_linux_arm64.s:462 +0x54 fp=0x4000d1c5b0 sp=0x4000d1c4f0 pc=0x477f44

goroutine 172 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x400082cfe0 sp=0x400082cfe0 pc=0x476d14

goroutine 1 [select (no cases), 1 minutes]:
runtime.gopark(0x400062b7e8?, 0xa780cc?, 0xb1?, 0xcf?, 0x4?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x400065d7c0 sp=0x400065d7a0 pc=0x442188
runtime.block()
/usr/local/go/src/runtime/select.go:103 +0x30 fp=0x400065d7f0 sp=0x400065d7c0 pc=0x452f40
github.com/caddyserver/caddy/v2/cmd.cmdRun({0x0?})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/cmd/commandfuncs.go:283 +0x96c fp=0x400065db00 sp=0x400065d7f0 pc=0xa780dc
github.com/caddyserver/caddy/v2/cmd.init.1.func2.WrapCommandFuncForCobra.func1(0x4000366000, {0x1a5d1c1?, 0x4?, 0x1a5cfd1?})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/cmd/cobra.go:137 +0x34 fp=0x400065db50 sp=0x400065db00 pc=0xa82574
github.com/spf13/cobra.(*Command).execute(0x4000366000, {0x40004e70e0, 0x5, 0x5})
/root/go/pkg/mod/github.com/spf13/cobra@v1.8.0/command.go:983 +0x840 fp=0x400065dd00 sp=0x400065db50 pc=0xa070a0
github.com/spf13/cobra.(*Command).ExecuteC(0x2c62da0)
/root/go/pkg/mod/github.com/spf13/cobra@v1.8.0/command.go:1115 +0x344 fp=0x400065dde0 sp=0x400065dd00 pc=0xa07824
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 +0x68 fp=0x400065de40 sp=0x400065dde0 pc=0xa7bdf8
main.main()
/go/src/app/caddy/frankenphp/main.go:24 +0x130 fp=0x400065df30 sp=0x400065de40 pc=0x1634860
runtime.main()
/usr/local/go/src/runtime/proc.go:267 +0x2bc fp=0x400065dfd0 sp=0x400065df30 pc=0x441d2c
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x400065dfd0 sp=0x400065dfd0 pc=0x476d14

goroutine 17 [select, locked to thread]:
runtime.gopark(0x4000096dd8?, 0x2?, 0xe8?, 0x21?, 0x4000096dbc?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x4000096c50 sp=0x4000096c30 pc=0x442188
runtime.selectgo(0x4000096dd8, 0x4000096db8, 0x2d3e8e0?, 0x0, 0x0?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x608 fp=0x4000096d60 sp=0x4000096c50 pc=0x453568
github.com/dunglas/frankenphp.go_fetch_request()
/go/src/app/frankenphp.go:472 +0x64 fp=0x4000096e00 sp=0x4000096d60 pc=0x14d7794
_cgoexp_fa9b65efaabf_go_fetch_request(0xffff4bccb8f0)
_cgo_gotypes.go:903 +0x20 fp=0x4000096e10 sp=0x4000096e00 pc=0x14db9f0
runtime.cgocallbackg1(0x14db9d0, 0x4000096fe0?, 0x0)
/usr/local/go/src/runtime/cgocall.go:329 +0x240 fp=0x4000096ef0 sp=0x4000096e10 pc=0x40a400
runtime.cgocallbackg(0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/cgocall.go:245 +0xec fp=0x4000096f80 sp=0x4000096ef0 pc=0x40a12c
runtime.cgocallbackg(0x14db9d0, 0xffff4bccb8f0, 0x0)
<autogenerated>:1 +0x1c fp=0x4000096fb0 sp=0x4000096f80 pc=0x478abc
runtime.cgocallback(0x0, 0x0, 0x0)
/usr/local/go/src/runtime/asm_arm64.s:1105 +0xb0 fp=0x4000096fe0 sp=0x4000096fb0 pc=0x476c20
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000096fe0 sp=0x4000096fe0 pc=0x476d14

goroutine 7 [select]:
runtime.gopark(0x4000086f80?, 0x2?, 0x58?, 0x6e?, 0x4000086f64?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x4000086e10 sp=0x4000086df0 pc=0x442188
runtime.selectgo(0x4000086f80, 0x4000086f60, 0x0?, 0x0, 0x0?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x608 fp=0x4000086f20 sp=0x4000086e10 pc=0x453568
github.com/golang/glog.(*fileSink).flushDaemon(0x2d072f8)
/root/go/pkg/mod/github.com/golang/glog@v1.2.0/glog_file.go:351 +0xa8 fp=0x4000086fb0 sp=0x4000086f20 pc=0xd10d38
github.com/golang/glog.init.1.func1()
/root/go/pkg/mod/github.com/golang/glog@v1.2.0/glog_file.go:166 +0x28 fp=0x4000086fd0 sp=0x4000086fb0 pc=0xd0ff28
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000086fd0 sp=0x4000086fd0 pc=0x476d14
created by github.com/golang/glog.init.1 in goroutine 1
/root/go/pkg/mod/github.com/golang/glog@v1.2.0/glog_file.go:166 +0x150

goroutine 40 [select, 1 minutes]:
runtime.gopark(0x40000876c8?, 0x3?, 0xe8?, 0x75?, 0x40000876ba?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x4000095d60 sp=0x4000095d40 pc=0x442188
runtime.selectgo(0x4000095ec8, 0x40000876b4, 0x40000876d8?, 0x2, 0x40000876c0?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x608 fp=0x4000095e70 sp=0x4000095d60 pc=0x453568
github.com/caddyserver/certmagic.(*RingBufferRateLimiter).permit(0x400059c460)
/root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/ratelimiter.go:217 +0x78 fp=0x4000095f00 sp=0x4000095e70 pc=0x848f18
github.com/caddyserver/certmagic.(*RingBufferRateLimiter).loop(0x400059c460)
/root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/ratelimiter.go:89 +0x6c fp=0x4000095fb0 sp=0x4000095f00 pc=0x84881c
github.com/caddyserver/certmagic.NewRateLimiter.func1()
/root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/ratelimiter.go:45 +0x28 fp=0x4000095fd0 sp=0x4000095fb0 pc=0x848778
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000095fd0 sp=0x4000095fd0 pc=0x476d14
created by github.com/caddyserver/certmagic.NewRateLimiter in goroutine 1
/root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/ratelimiter.go:45 +0x138

goroutine 11 [chan receive, 1 minutes]:
runtime.gopark(0x4000087648?, 0x9a010c?, 0x1?, 0x0?, 0x18186e0?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x4000087620 sp=0x4000087600 pc=0x442188
runtime.chanrecv(0x40000b0480, 0x0, 0x1)
/usr/local/go/src/runtime/chan.go:583 +0x414 fp=0x40000876a0 sp=0x4000087620 pc=0x40c374
runtime.chanrecv1(0x40000b0480?, 0x4000087738?)
/usr/local/go/src/runtime/chan.go:442 +0x14 fp=0x40000876d0 sp=0x40000876a0 pc=0x40bf24
github.com/caddyserver/caddy/v2.trapSignalsCrossPlatform.func1()
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/sigtrap.go:43 +0xcc fp=0x40000877d0 sp=0x40000876d0 pc=0x9bd6fc
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40000877d0 sp=0x40000877d0 pc=0x476d14
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 +0x24

goroutine 12 [chan receive, 1 minutes]:
runtime.gopark(0x40004e1d18?, 0x9a010c?, 0x1?, 0x7?, 0x0?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x40004e1cf0 sp=0x40004e1cd0 pc=0x442188
runtime.chanrecv(0x40000b0540, 0x40004e1e28, 0x1)
/usr/local/go/src/runtime/chan.go:583 +0x414 fp=0x40004e1d70 sp=0x40004e1cf0 pc=0x40c374
runtime.chanrecv2(0x40000b0540?, 0x40004e1f78?)
/usr/local/go/src/runtime/chan.go:447 +0x14 fp=0x40004e1da0 sp=0x40004e1d70 pc=0x40bf44
github.com/caddyserver/caddy/v2.trapSignalsPosix.func1()
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/sigtrap_posix.go:35 +0xc4 fp=0x40004e1fd0 sp=0x40004e1da0 pc=0x9bd0e4
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40004e1fd0 sp=0x40004e1fd0 pc=0x476d14
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 +0x24

goroutine 42 [select, 1 minutes, locked to thread]:
runtime.gopark(0x40005047a0?, 0x2?, 0x0?, 0x0?, 0x400050479c?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x4000504630 sp=0x4000504610 pc=0x442188
runtime.selectgo(0x40005047a0, 0x4000504798, 0x0?, 0x0, 0x0?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x608 fp=0x4000504740 sp=0x4000504630 pc=0x453568
runtime.ensureSigM.func1()
/usr/local/go/src/runtime/signal_unix.go:1014 +0x198 fp=0x40005047d0 sp=0x4000504740 pc=0x46cb08
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40005047d0 sp=0x40005047d0 pc=0x476d14
created by runtime.ensureSigM in goroutine 11
/usr/local/go/src/runtime/signal_unix.go:997 +0xd8

goroutine 24 [syscall, 1 minutes]:
runtime.notetsleepg(0x0?, 0x0?)
/usr/local/go/src/runtime/lock_futex.go:236 +0x34 fp=0x40003ea790 sp=0x40003ea750 pc=0x4117f4
os/signal.signal_recv()
/usr/local/go/src/runtime/sigqueue.go:152 +0x30 fp=0x40003ea7b0 sp=0x40003ea790 pc=0x472ba0
os/signal.loop()
/usr/local/go/src/os/signal/signal_unix.go:23 +0x1c fp=0x40003ea7d0 sp=0x40003ea7b0 pc=0x9a0aec
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40003ea7d0 sp=0x40003ea7d0 pc=0x476d14
created by os/signal.Notify.func1.1 in goroutine 11
/usr/local/go/src/os/signal/signal.go:151 +0x28

goroutine 66 [IO wait]:
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/admin.go:445 +0x410

goroutine 67 [select, 1 minutes]:
runtime.gopark(0x40004deea8?, 0x3?, 0x1?, 0x0?, 0x40004dee2a?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x40004decd0 sp=0x40004decb0 pc=0x442188
runtime.selectgo(0x40004deea8, 0x40004dee24, 0x1?, 0x0, 0x0?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x608 fp=0x40004dede0 sp=0x40004decd0 pc=0x453568
github.com/caddyserver/certmagic.(*Cache).maintainAssets(0x4000597680, 0x0)
/root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/maintain.go:69 +0x2b0 fp=0x40004defb0 sp=0x40004dede0 pc=0x840850
github.com/caddyserver/certmagic.NewCache.func1()
/root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/cache.go:127 +0x2c fp=0x40004defd0 sp=0x40004defb0 pc=0x8243dc
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40004defd0 sp=0x40004defd0 pc=0x476d14
created by github.com/caddyserver/certmagic.NewCache in goroutine 1
/root/go/pkg/mod/github.com/caddyserver/certmagic@v0.20.0/cache.go:127 +0x1ec

goroutine 68 [select, 1 minutes]:
runtime.gopark(0x4000693fa0?, 0x2?, 0x0?, 0x0?, 0x4000693f94?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x400082fe40 sp=0x400082fe20 pc=0x442188
runtime.selectgo(0x400082ffa0, 0x4000693f90, 0x0?, 0x0, 0x0?, 0x1)
/usr/local/go/src/runtime/select.go:327 +0x608 fp=0x400082ff50 sp=0x400082fe40 pc=0x453568
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 +0x88 fp=0x400082ffd0 sp=0x400082ff50 pc=0xf8e448
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x400082ffd0 sp=0x400082ffd0 pc=0x476d14
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 +0xe8

goroutine 69 [IO wait]:
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/app.go:509 +0x16d4

goroutine 70 [chan receive]:
runtime.gopark(0x40000b0240?, 0x0?, 0x98?, 0x2f?, 0x59f111f13956c25b?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x4000ec9c80 sp=0x4000ec9c60 pc=0x442188
runtime.chanrecv(0x40000b0900, 0x4000ec9de0, 0x1)
/usr/local/go/src/runtime/chan.go:583 +0x414 fp=0x4000ec9d00 sp=0x4000ec9c80 pc=0x40c374
runtime.chanrecv2(0x0?, 0xffffe91d6b86?)
/usr/local/go/src/runtime/chan.go:447 +0x14 fp=0x4000ec9d30 sp=0x4000ec9d00 pc=0x40bf44
github.com/caddyserver/caddy/v2/cmd.watchConfigFile({0xffffe91d6b86, 0x14}, {0xffffe91d6ba5, 0x9})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/cmd/main.go:220 +0x224 fp=0x4000ec9fa0 sp=0x4000ec9d30 pc=0xa7cdf4
github.com/caddyserver/caddy/v2/cmd.cmdRun.func2()
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/cmd/commandfuncs.go:261 +0x34 fp=0x4000ec9fd0 sp=0x4000ec9fa0 pc=0xa78214
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000ec9fd0 sp=0x4000ec9fd0 pc=0x476d14
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 +0xa1c

goroutine 98 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000657fe0 sp=0x4000657fe0 pc=0x476d14

goroutine 181 [IO wait]:
/usr/local/go/src/net/http/server.go:3086 +0x4cc

goroutine 154 [runnable]:
syscall.Syscall(0x4000a15468?, 0x518e40?, 0x800000?, 0x7ffff800000?)
/usr/local/go/src/syscall/syscall_linux.go:69 +0x20 fp=0x4000a15430 sp=0x4000a153c0 pc=0x49d0d0
syscall.read(0x4000dda2a0?, {0x40009b4000?, 0x8000?, 0x40009b4000?})
/usr/local/go/src/syscall/zsyscall_linux_arm64.go:721 +0x40 fp=0x4000a15470 sp=0x4000a15430 pc=0x49ac60
syscall.Read(...)
/usr/local/go/src/syscall/syscall_unix.go:181
internal/poll.ignoringEINTRIO(...)
/usr/local/go/src/internal/poll/fd_unix.go:736
internal/poll.(*FD).Read(0x4000dda2a0, {0x40009b4000, 0x8000, 0x8000})
/usr/local/go/src/internal/poll/fd_unix.go:160 +0x224 fp=0x4000a15510 sp=0x4000a15470 pc=0x518f94
os.(*File).read(...)
/usr/local/go/src/os/file_posix.go:29
os.(*File).Read(0x400007e658, {0x40009b4000?, 0x4000a15501?, 0x40005a4690?})
/usr/local/go/src/os/file.go:118 +0x70 fp=0x4000a15550 sp=0x4000a15510 pc=0x5239c0
io.(*LimitedReader).Read(0x400021d7a0, {0x40009b4000?, 0x8000?, 0x8000?})
/usr/local/go/src/io/io.go:480 +0x50 fp=0x4000a15580 sp=0x4000a15550 pc=0x4846d0
io.copyBuffer({0xffff4bcd4350, 0x40005a4690}, {0x1f736c0, 0x400021d7a0}, {0x0, 0x0, 0x0})
/usr/local/go/src/io/io.go:430 +0x168 fp=0x4000a15610 sp=0x4000a15580 pc=0x484528
io.Copy(...)
/usr/local/go/src/io/io.go:389
io.CopyN({0xffff4bcd4350, 0x40005a4690}, {0x1f73620?, 0x400007e658}, 0xbba3c)
/usr/local/go/src/io/io.go:365 +0x9c fp=0x4000a15660 sp=0x4000a15610 pc=0x48429c
net/http.serveContent({0x1f84e60?, 0x40005a4690}, 0x4000998c00, {0x400080f286, 0x2d}, {0x172a3e0?, 0x4000a15918?, 0x2d071e0?}, 0x4000a15900, {0xffff4c132860?, ...})
/usr/local/go/src/net/http/fs.go:353 +0xae8 fp=0x4000a158a0 sp=0x4000a15660 pc=0x69ef78
net/http.ServeContent({0x1f84e60?, 0x40005a4690?}, 0x0?, {0x400080f286?, 0x40005a4690?}, {0x1?, 0x0?, 0x2d071e0?}, {0xffff4c132860?, 0x400007e658?})
/usr/local/go/src/net/http/fs.go:206 +0x5c fp=0x4000a15920 sp=0x4000a158a0 pc=0x69e35c
github.com/caddyserver/caddy/v2/modules/caddyhttp/fileserver.(*FileServer).ServeHTTP(0x40000f3a40, {0x1f84e60, 0x40005a4690}, 0x4000998c00, {0x1f76cc0, 0x4000598120})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/fileserver/staticfiles.go:496 +0x23ac fp=0x4000a16720 sp=0x4000a15920 pc=0x137149c
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x1f84e60?, 0x40005a4690?}, 0x40000f3a40?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x48 fp=0x4000a16760 sp=0x4000a16720 pc=0x11486a8
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f76cc0?, {0x1f84e60?, 0x40005a4690?}, 0x1150884?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x4000a16790 sp=0x4000a16760 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84e60, 0x40005a4690}, 0x1a76681?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300 +0x2b4 fp=0x4000a16820 sp=0x4000a16790 pc=0x11483d4
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f894e8?, {0x1f84e60?, 0x40005a4690?}, 0xe?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x4000a16850 sp=0x4000a16820 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84e60, 0x40005a4690}, 0x400065fb01?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:268 +0x248 fp=0x4000a168e0 sp=0x4000a16850 pc=0x1148368
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x400034a4e0?, {0x1f84e60?, 0x40005a4690?}, 0x400048f9a0?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x4000a16910 sp=0x4000a168e0 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp/rewrite.Rewrite.ServeHTTP({{0x0, 0x0}, {0x400048f9a0, 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 +0x348 fp=0x4000a16aa0 sp=0x4000a16910 pc=0x1362748
github.com/caddyserver/caddy/v2/modules/caddyhttp/rewrite.(*Rewrite).ServeHTTP(0x28?, {0x1f84e60?, 0x40005a4690?}, 0x1148180?, {0x1f76cc0?, 0x4000598180?})
<autogenerated>:1 +0xc8 fp=0x4000a16bd0 sp=0x4000a16aa0 pc=0x1364398
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x1f84e60?, 0x40005a4690?}, 0x4000597a80?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x48 fp=0x4000a16c10 sp=0x4000a16bd0 pc=0x11486a8
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f76cc0?, {0x1f84e60?, 0x40005a4690?}, 0x1150884?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x4000a16c40 sp=0x4000a16c10 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84e60, 0x40005a4690}, 0x1a76681?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300 +0x2b4 fp=0x4000a16cd0 sp=0x4000a16c40 pc=0x11483d4
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f894e8?, {0x1f84e60?, 0x40005a4690?}, 0xe?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x4000a16d00 sp=0x4000a16cd0 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84e60, 0x40005a4690}, 0x1?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:268 +0x248 fp=0x4000a16d90 sp=0x4000a16d00 pc=0x1148368
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x400065f9d0?, {0x1f84e60?, 0x40005a4690?}, 0x4?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x4000a16dc0 sp=0x4000a16d90 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*Encode).ServeHTTP(0x4000279140, {0x1f84710, 0x4000982700}, 0x4000998c00, {0x1f76cc0, 0x40005981c0})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/encode/encode.go:138 +0x264 fp=0x4000a16e30 sp=0x4000a16dc0 pc=0x118e7b4
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x1f84710?, 0x4000982700?}, 0x40001a9920?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x48 fp=0x4000a16e70 sp=0x4000a16e30 pc=0x11486a8
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x4000a16f18?, {0x1f84710?, 0x4000982700?}, 0x4?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x4000a16ea0 sp=0x4000a16e70 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.VarsMiddleware.ServeHTTP(0xffff4bee3ce8?, {0x1f84710, 0x4000982700}, 0x4000998c00, {0x1f76cc0, 0x400099c870})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/vars.go:61 +0x238 fp=0x4000a16f80 sp=0x4000a16ea0 pc=0x114f658
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*VarsMiddleware).ServeHTTP(0x28?, {0x1f84710?, 0x4000982700?}, 0x1148180?, {0x1f76cc0?, 0x400099c870?})
<autogenerated>:1 +0x3c fp=0x4000a16fc0 sp=0x4000a16f80 pc=0x115c83c
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x1f84710?, 0x4000982700?}, 0x4000430e18?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x48 fp=0x4000a17000 sp=0x4000a16fc0 pc=0x11486a8
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f76cc0?, {0x1f84710?, 0x4000982700?}, 0x40002f0700?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x4000a17030 sp=0x4000a17000 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84710, 0x4000982700}, 0x30?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300 +0x2b4 fp=0x4000a170c0 sp=0x4000a17030 pc=0x11483d4
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x40002f0700?, {0x1f84710?, 0x4000982700?}, 0x1a46920?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x4000a170f0 sp=0x4000a170c0 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).enforcementHandler(0x0?, {0x1f84710?, 0x4000982700?}, 0x114964c?, {0x1f76cc0?, 0x40005981e0?})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:429 +0x1b0 fp=0x4000a171d0 sp=0x4000a170f0 pc=0x114a440
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*App).Provision.(*Server).wrapPrimaryRoute.func1({0x1f84710?, 0x4000982700?}, 0x4000a17238?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:405 +0x40 fp=0x4000a17210 sp=0x4000a171d0 pc=0x1127b30
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x40001f70a0?, {0x1f84710?, 0x4000982700?}, 0x4000998c00?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x4000a17240 sp=0x4000a17210 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).ServeHTTP(0x40005102c0, {0x1f84710, 0x4000982700}, 0x4000998a00)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:341 +0xc7c fp=0x4000a17b30 sp=0x4000a17240 pc=0x114993c
net/http.serverHandler.ServeHTTP({0x400087ec60?}, {0x1f84710?, 0x4000982700?}, 0x6?)
/usr/local/go/src/net/http/server.go:2938 +0xbc fp=0x4000a17b60 sp=0x4000a17b30 pc=0x6e299c
net/http.(*conn).serve(0x40003603f0, {0x1f894e8, 0x400087ec00})
/usr/local/go/src/net/http/server.go:2009 +0x518 fp=0x4000a17fa0 sp=0x4000a17b60 pc=0x6ded98
net/http.(*Server).Serve.func3()
/usr/local/go/src/net/http/server.go:3086 +0x30 fp=0x4000a17fd0 sp=0x4000a17fa0 pc=0x6e30b0
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000a17fd0 sp=0x4000a17fd0 pc=0x476d14
created by net/http.(*Server).Serve in goroutine 69
/usr/local/go/src/net/http/server.go:3086 +0x4cc

goroutine 103 [runnable]:
syscall.Syscall(0x40007ccd48?, 0x51a908?, 0x80000000000?, 0x7ffff80000000000?)
/usr/local/go/src/syscall/syscall_linux.go:69 +0x20 fp=0x40007ccd10 sp=0x40007ccca0 pc=0x49d0d0
syscall.write(0x4000652100?, {0x4000654000?, 0x0?, 0x2?})
/usr/local/go/src/syscall/zsyscall_linux_arm64.go:949 +0x40 fp=0x40007ccd50 sp=0x40007ccd10 pc=0x49af30
syscall.Write(...)
/usr/local/go/src/syscall/syscall_unix.go:209
internal/poll.ignoringEINTRIO(...)
/usr/local/go/src/internal/poll/fd_unix.go:736
internal/poll.(*FD).Write(0x4000652100, {0x4000654000, 0x1000, 0x1000})
/usr/local/go/src/internal/poll/fd_unix.go:380 +0x2c0 fp=0x40007cce00 sp=0x40007ccd50 pc=0x51ab00
net.(*netFD).Write(0x4000652100, {0x4000654000?, 0x400003cd00?, 0x172ae60?})
/usr/local/go/src/net/fd_posix.go:96 +0x28 fp=0x40007cce50 sp=0x40007cce00 pc=0x5b6ac8
net.(*conn).Write(0x400059e028, {0x4000654000?, 0x0?, 0x0?})
/usr/local/go/src/net/net.go:191 +0x34 fp=0x40007ccea0 sp=0x40007cce50 pc=0x5c8dc4
net.(*TCPConn).Write(0x4?, {0x4000654000?, 0x40007ccf08?, 0x481f70?})
<autogenerated>:1 +0x2c fp=0x40007cced0 sp=0x40007ccea0 pc=0x5dbb6c
net/http.checkConnErrorWriter.Write({0x40007ccf98?}, {0x4000654000?, 0x40007ccf68?, 0x52e848?})
/usr/local/go/src/net/http/server.go:3599 +0x34 fp=0x40007ccf20 sp=0x40007cced0 pc=0x6e5854
bufio.(*Writer).Flush(0x4000436640)
/usr/local/go/src/bufio/bufio.go:642 +0x5c fp=0x40007ccf70 sp=0x40007ccf20 pc=0x66862c
bufio.(*Writer).Write(0x4000436640, {0x40007a2800?, 0x1a5d061?, 0x4?})
/usr/local/go/src/bufio/bufio.go:686 +0xcc fp=0x40007ccfd0 sp=0x40007ccf70 pc=0x6688dc
net/http.(*chunkWriter).Write(0x40007a6120, {0x40007a2800, 0x800, 0x800})
/usr/local/go/src/net/http/server.go:388 +0x10c fp=0x40007cd040 sp=0x40007ccfd0 pc=0x6d82bc
bufio.(*Writer).Flush(0x40000af440)
/usr/local/go/src/bufio/bufio.go:642 +0x5c fp=0x40007cd090 sp=0x40007cd040 pc=0x66862c
bufio.(*Writer).Write(0x40000af440, {0x4000378060?, 0x0?, 0x0?})
/usr/local/go/src/bufio/bufio.go:686 +0xcc fp=0x40007cd0f0 sp=0x40007cd090 pc=0x6688dc
net/http.(*response).write(0x40007a60e0, 0xf6, {0x4000378060, 0xf6, 0x108}, {0x0, 0x0})
/usr/local/go/src/net/http/server.go:1648 +0x268 fp=0x40007cd240 sp=0x40007cd0f0 pc=0x6ddf18
net/http.(*response).Write(0x40007cd2e8?, {0x4000378060?, 0x400098aa5c?, 0x0?})
/usr/local/go/src/net/http/server.go:1606 +0x38 fp=0x40007cd290 sp=0x40007cd240 pc=0x6ddc08
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*ResponseWriterWrapper).Write(0x7?, {0x4000378060?, 0x40007cd308?, 0x1194dc4?})
<autogenerated>:1 +0x34 fp=0x40007cd2c0 sp=0x40007cd290 pc=0x115b7d4
github.com/klauspost/compress/flate.(*huffmanBitWriter).writeTokens(0x4000378000, {0x4000a8a314, 0x1e?, 0x13?}, {0x4000dc8800, 0x49d100?, 0xfb8900503d40?}, {0x4000df0280, 0x9615900000022?, 0x47cf00000004?})
/root/go/pkg/mod/github.com/klauspost/compress@v1.17.5/flate/huffman_bit_writer.go:867 +0x16c fp=0x40007cd350 sp=0x40007cd2c0 pc=0x1195c1c
github.com/klauspost/compress/flate.(*huffmanBitWriter).writeBlockDynamic(0x4000378000, 0x4000a8a088, 0x0, {0x4000916000, 0xffff, 0xffff}, 0x34?)
/root/go/pkg/mod/github.com/klauspost/compress@v1.17.5/flate/huffman_bit_writer.go:767 +0x68c fp=0x40007cd400 sp=0x40007cd350 pc=0x11957ac
github.com/klauspost/compress/flate.(*compressor).storeFast(0x4000a8a000)
/root/go/pkg/mod/github.com/klauspost/compress@v1.17.5/flate/deflate.go:767 +0x274 fp=0x40007cd450 sp=0x40007cd400 pc=0x1192484
github.com/klauspost/compress/flate.(*compressor).write(0x4000a8a000, {0x40007f2000?, 0x8000, 0x5239e0?})
/root/go/pkg/mod/github.com/klauspost/compress@v1.17.5/flate/deflate.go:783 +0x94 fp=0x40007cd4a0 sp=0x40007cd450 pc=0x1192684
github.com/klauspost/compress/flate.(*Writer).Write(...)
/root/go/pkg/mod/github.com/klauspost/compress@v1.17.5/flate/deflate.go:971
github.com/klauspost/compress/gzip.(*Writer).Write(0x400047e000, {0x40007f2000, 0x8000, 0x8000})
/root/go/pkg/mod/github.com/klauspost/compress@v1.17.5/gzip/gzip.go:233 +0x328 fp=0x40007cd520 sp=0x40007cd4a0 pc=0x11a2028
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*responseWriter).Write(0x4000557cc0, {0x40007f2000, 0x8000, 0x8000})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/encode/encode.go:272 +0x230 fp=0x40007cd580 sp=0x40007cd520 pc=0x118eea0
io.copyBuffer({0xffff4bcd4350, 0x4000557cc0}, {0x1f736c0, 0x40007da0c0}, {0x0, 0x0, 0x0})
/usr/local/go/src/io/io.go:432 +0x1a8 fp=0x40007cd610 sp=0x40007cd580 pc=0x484568
io.Copy(...)
/usr/local/go/src/io/io.go:389
io.CopyN({0xffff4bcd4350, 0x4000557cc0}, {0x1f73620?, 0x400059e1b8}, 0x16539)
/usr/local/go/src/io/io.go:365 +0x9c fp=0x40007cd660 sp=0x40007cd610 pc=0x48429c
net/http.serveContent({0x1f84e60?, 0x4000557cc0}, 0x400038dc00, {0x400078e536, 0x67}, {0x172a3e0?, 0x40007cd918?, 0x2d071e0?}, 0x40007cd900, {0xffff4c132860?, ...})
/usr/local/go/src/net/http/fs.go:353 +0xae8 fp=0x40007cd8a0 sp=0x40007cd660 pc=0x69ef78
net/http.ServeContent({0x1f84e60?, 0x4000557cc0?}, 0x0?, {0x400078e536?, 0x4000557cc0?}, {0x1?, 0x0?, 0x2d071e0?}, {0xffff4c132860?, 0x400059e1b8?})
/usr/local/go/src/net/http/fs.go:206 +0x5c fp=0x40007cd920 sp=0x40007cd8a0 pc=0x69e35c
github.com/caddyserver/caddy/v2/modules/caddyhttp/fileserver.(*FileServer).ServeHTTP(0x40000f3a40, {0x1f84e60, 0x4000557cc0}, 0x400038dc00, {0x1f76cc0, 0x4000598120})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/fileserver/staticfiles.go:496 +0x23ac fp=0x40007ce720 sp=0x40007cd920 pc=0x137149c
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x1f84e60?, 0x4000557cc0?}, 0x40000f3a40?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x48 fp=0x40007ce760 sp=0x40007ce720 pc=0x11486a8
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f76cc0?, {0x1f84e60?, 0x4000557cc0?}, 0x1150884?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x40007ce790 sp=0x40007ce760 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84e60, 0x4000557cc0}, 0x1a76681?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300 +0x2b4 fp=0x40007ce820 sp=0x40007ce790 pc=0x11483d4
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f894e8?, {0x1f84e60?, 0x4000557cc0?}, 0xe?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x40007ce850 sp=0x40007ce820 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84e60, 0x4000557cc0}, 0x400067e901?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:268 +0x248 fp=0x40007ce8e0 sp=0x40007ce850 pc=0x1148368
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x40000ab020?, {0x1f84e60?, 0x4000557cc0?}, 0x400048f9a0?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x40007ce910 sp=0x40007ce8e0 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp/rewrite.Rewrite.ServeHTTP({{0x0, 0x0}, {0x400048f9a0, 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 +0x348 fp=0x40007ceaa0 sp=0x40007ce910 pc=0x1362748
github.com/caddyserver/caddy/v2/modules/caddyhttp/rewrite.(*Rewrite).ServeHTTP(0x28?, {0x1f84e60?, 0x4000557cc0?}, 0x1148180?, {0x1f76cc0?, 0x4000598180?})
<autogenerated>:1 +0xc8 fp=0x40007cebd0 sp=0x40007ceaa0 pc=0x1364398
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x1f84e60?, 0x4000557cc0?}, 0x4000597a80?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x48 fp=0x40007cec10 sp=0x40007cebd0 pc=0x11486a8
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f76cc0?, {0x1f84e60?, 0x4000557cc0?}, 0x1150884?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x40007cec40 sp=0x40007cec10 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84e60, 0x4000557cc0}, 0x1a76681?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300 +0x2b4 fp=0x40007cecd0 sp=0x40007cec40 pc=0x11483d4
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f894e8?, {0x1f84e60?, 0x4000557cc0?}, 0xe?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x40007ced00 sp=0x40007cecd0 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84e60, 0x4000557cc0}, 0x1?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:268 +0x248 fp=0x40007ced90 sp=0x40007ced00 pc=0x1148368
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x400067e780?, {0x1f84e60?, 0x4000557cc0?}, 0x4?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x40007cedc0 sp=0x40007ced90 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*Encode).ServeHTTP(0x4000279140, {0x1f84710, 0x40007a60e0}, 0x400038dc00, {0x1f76cc0, 0x40005981c0})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/encode/encode.go:138 +0x264 fp=0x40007cee30 sp=0x40007cedc0 pc=0x118e7b4
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x1f84710?, 0x40007a60e0?}, 0x40001a9920?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x48 fp=0x40007cee70 sp=0x40007cee30 pc=0x11486a8
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x40007cef18?, {0x1f84710?, 0x40007a60e0?}, 0x4?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x40007ceea0 sp=0x40007cee70 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.VarsMiddleware.ServeHTTP(0xffff4c0f8d28?, {0x1f84710, 0x40007a60e0}, 0x400038dc00, {0x1f76cc0, 0x4000553710})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/vars.go:61 +0x238 fp=0x40007cef80 sp=0x40007ceea0 pc=0x114f658
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*VarsMiddleware).ServeHTTP(0x28?, {0x1f84710?, 0x40007a60e0?}, 0x1148180?, {0x1f76cc0?, 0x4000553710?})
<autogenerated>:1 +0x3c fp=0x40007cefc0 sp=0x40007cef80 pc=0x115c83c
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x1f84710?, 0x40007a60e0?}, 0x4000430e18?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x48 fp=0x40007cf000 sp=0x40007cefc0 pc=0x11486a8
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f76cc0?, {0x1f84710?, 0x40007a60e0?}, 0x4000245500?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x40007cf030 sp=0x40007cf000 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84710, 0x40007a60e0}, 0x30?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300 +0x2b4 fp=0x40007cf0c0 sp=0x40007cf030 pc=0x11483d4
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x4000245500?, {0x1f84710?, 0x40007a60e0?}, 0x1a46920?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x40007cf0f0 sp=0x40007cf0c0 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).enforcementHandler(0x0?, {0x1f84710?, 0x40007a60e0?}, 0x114964c?, {0x1f76cc0?, 0x40005981e0?})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:429 +0x1b0 fp=0x40007cf1d0 sp=0x40007cf0f0 pc=0x114a440
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*App).Provision.(*Server).wrapPrimaryRoute.func1({0x1f84710?, 0x40007a60e0?}, 0x40007cf238?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:405 +0x40 fp=0x40007cf210 sp=0x40007cf1d0 pc=0x1127b30
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x40001f70a0?, {0x1f84710?, 0x40007a60e0?}, 0x400038dc00?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x40007cf240 sp=0x40007cf210 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).ServeHTTP(0x40005102c0, {0x1f84710, 0x40007a60e0}, 0x400038da00)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:341 +0xc7c fp=0x40007cfb30 sp=0x40007cf240 pc=0x114993c
net/http.serverHandler.ServeHTTP({0x40007c5860?}, {0x1f84710?, 0x40007a60e0?}, 0x6?)
/usr/local/go/src/net/http/server.go:2938 +0xbc fp=0x40007cfb60 sp=0x40007cfb30 pc=0x6e299c
net/http.(*conn).serve(0x4000360480, {0x1f894e8, 0x4000318930})
/usr/local/go/src/net/http/server.go:2009 +0x518 fp=0x40007cffa0 sp=0x40007cfb60 pc=0x6ded98
net/http.(*Server).Serve.func3()
/usr/local/go/src/net/http/server.go:3086 +0x30 fp=0x40007cffd0 sp=0x40007cffa0 pc=0x6e30b0
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40007cffd0 sp=0x40007cffd0 pc=0x476d14
created by net/http.(*Server).Serve in goroutine 69
/usr/local/go/src/net/http/server.go:3086 +0x4cc

goroutine 115 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x400082efe0 sp=0x400082efe0 pc=0x476d14

goroutine 182 [IO wait]:x
/usr/local/go/src/net/http/server.go:3086 +0x4cc

goroutine 132 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40006fbfe0 sp=0x40006fbfe0 pc=0x476d14

goroutine 133 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40004dafe0 sp=0x40004dafe0 pc=0x476d14

goroutine 267 [IO wait]:

goroutine 180 [IO wait]:

goroutine 134 [runnable, locked to thread]:
runtime.cgocall(0x16358c0, 0x4000877d88)
/usr/local/go/src/runtime/cgocall.go:157 +0x44 fp=0x4000877d50 sp=0x4000877d10 pc=0x409fb4
github.com/dunglas/frankenphp._Cfunc_frankenphp_execute_script(0xffff48457af0)
_cgo_gotypes.go:779 +0x34 fp=0x4000877d80 sp=0x4000877d50 pc=0x14d4e74
github.com/dunglas/frankenphp.go_execute_script(0x400082ae01?)
/go/src/app/frankenphp.go:510 +0x11c fp=0x4000877df0 sp=0x4000877d80 pc=0x14d7a8c
_cgoexp_fa9b65efaabf_go_execute_script(0x1cf7410?)
_cgo_gotypes.go:911 +0x20 fp=0x4000877e10 sp=0x4000877df0 pc=0x14dba40
runtime.cgocallbackg1(0x14dba20, 0x4000877fe0?, 0x0)
/usr/local/go/src/runtime/cgocall.go:329 +0x240 fp=0x4000877ef0 sp=0x4000877e10 pc=0x40a400
runtime.cgocallbackg(0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/cgocall.go:245 +0xec fp=0x4000877f80 sp=0x4000877ef0 pc=0x40a12c
runtime.cgocallbackg(0x14dba20, 0xffff38276500, 0x0)
<autogenerated>:1 +0x1c fp=0x4000877fb0 sp=0x4000877f80 pc=0x478abc
runtime.cgocallback(0x0, 0x0, 0x0)
/usr/local/go/src/runtime/asm_arm64.s:1105 +0xb0 fp=0x4000877fe0 sp=0x4000877fb0 pc=0x476c20
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000877fe0 sp=0x4000877fe0 pc=0x476d14

goroutine 135 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4001283fe0 sp=0x4001283fe0 pc=0x476d14

goroutine 209 [IO wait]:
/usr/local/go/src/net/http/server.go:3086 +0x4cc

goroutine 136 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000093fe0 sp=0x4000093fe0 pc=0x476d14

goroutine 137 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4001287fe0 sp=0x4001287fe0 pc=0x476d14

goroutine 138 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40004dbfe0 sp=0x40004dbfe0 pc=0x476d14

goroutine 60 [IO wait]:
runtime.gopark(0x1d?, 0x400060ff61?, 0xd8?, 0x98?, 0x517978?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x4000689890 sp=0x4000689870 pc=0x442188
runtime.netpollblock(0x0?, 0xffffffff?, 0xff?)
/usr/local/go/src/runtime/netpoll.go:564 +0x158 fp=0x40006898d0 sp=0x4000689890 pc=0x439f08
internal/poll.runtime_pollWait(0xffff4c3e4330, 0x72)
/usr/local/go/src/runtime/netpoll.go:343 +0xa0 fp=0x4000689900 sp=0x40006898d0 pc=0x4708e0
internal/poll.(*pollDesc).wait(0x4000730180?, 0x400053f000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x28 fp=0x4000689930 sp=0x4000689900 pc=0x517c28
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0x4000730180, {0x400053f000, 0x1000, 0x1000})
/usr/local/go/src/internal/poll/fd_unix.go:164 +0x200 fp=0x40006899d0 sp=0x4000689930 pc=0x518f70
net.(*netFD).Read(0x4000730180, {0x400053f000?, 0x4000689a58?, 0x51803c?})
/usr/local/go/src/net/fd_posix.go:55 +0x28 fp=0x4000689a20 sp=0x40006899d0 pc=0x5b6368
net.(*conn).Read(0x40004e46e8, {0x400053f000?, 0x4000689aa8?, 0x40001d84b8?})
/usr/local/go/src/net/net.go:179 +0x34 fp=0x4000689a70 sp=0x4000689a20 pc=0x5c8c04
net.(*TCPConn).Read(0x40001d84b0?, {0x400053f000?, 0xc17783e1a72bbc9b?, 0x599dc07486?})
<autogenerated>:1 +0x2c fp=0x4000689aa0 sp=0x4000689a70 pc=0x5db85c
net/http.(*connReader).Read(0x40001d84b0, {0x400053f000, 0x1000, 0x1000})
/usr/local/go/src/net/http/server.go:791 +0x224 fp=0x4000689b00 sp=0x4000689aa0 pc=0x6d98b4
bufio.(*Reader).fill(0x40000b0660)
/usr/local/go/src/bufio/bufio.go:113 +0xf8 fp=0x4000689b40 sp=0x4000689b00 pc=0x666bb8
bufio.(*Reader).Peek(0x40000b0660, 0x4)
/usr/local/go/src/bufio/bufio.go:151 +0x60 fp=0x4000689b60 sp=0x4000689b40 pc=0x666d20
net/http.(*conn).serve(0x4001220120, {0x1f894e8, 0x40001d8450})
/usr/local/go/src/net/http/server.go:2044 +0x64c fp=0x4000689fa0 sp=0x4000689b60 pc=0x6deecc
net/http.(*Server).Serve.func3()
/usr/local/go/src/net/http/server.go:3086 +0x30 fp=0x4000689fd0 sp=0x4000689fa0 pc=0x6e30b0
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000689fd0 sp=0x4000689fd0 pc=0x476d14
created by net/http.(*Server).Serve in goroutine 69
/usr/local/go/src/net/http/server.go:3086 +0x4cc

goroutine 139 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x40004dcfe0 sp=0x40004dcfe0 pc=0x476d14

goroutine 63 [IO wait]:
runtime.gopark(0xef3258ff5a5951e7?, 0x16e6380?, 0xd8?, 0xd8?, 0x517978?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x4000ecd890 sp=0x4000ecd870 pc=0x442188
runtime.netpollblock(0x0?, 0xffffffff?, 0xff?)
/usr/local/go/src/runtime/netpoll.go:564 +0x158 fp=0x4000ecd8d0 sp=0x4000ecd890 pc=0x439f08
internal/poll.runtime_pollWait(0xffff4c3e3d60, 0x72)
/usr/local/go/src/runtime/netpoll.go:343 +0xa0 fp=0x4000ecd900 sp=0x4000ecd8d0 pc=0x4708e0
internal/poll.(*pollDesc).wait(0x4000730300?, 0x4000fdb000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x28 fp=0x4000ecd930 sp=0x4000ecd900 pc=0x517c28
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0x4000730300, {0x4000fdb000, 0x1000, 0x1000})
/usr/local/go/src/internal/poll/fd_unix.go:164 +0x200 fp=0x4000ecd9d0 sp=0x4000ecd930 pc=0x518f70
net.(*netFD).Read(0x4000730300, {0x4000fdb000?, 0x4000ecda58?, 0x51803c?})
/usr/local/go/src/net/fd_posix.go:55 +0x28 fp=0x4000ecda20 sp=0x4000ecd9d0 pc=0x5b6368
net.(*conn).Read(0x4001308018, {0x4000fdb000?, 0x4000ecdaa8?, 0x40001d8998?})
/usr/local/go/src/net/net.go:179 +0x34 fp=0x4000ecda70 sp=0x4000ecda20 pc=0x5c8c04
net.(*TCPConn).Read(0x40001d8990?, {0x4000fdb000?, 0xc17783e1a6770f07?, 0x599d0bc6f1?})
<autogenerated>:1 +0x2c fp=0x4000ecdaa0 sp=0x4000ecda70 pc=0x5db85c
net/http.(*connReader).Read(0x40001d8990, {0x4000fdb000, 0x1000, 0x1000})
/usr/local/go/src/net/http/server.go:791 +0x224 fp=0x4000ecdb00 sp=0x4000ecdaa0 pc=0x6d98b4
bufio.(*Reader).fill(0x4000230600)
/usr/local/go/src/bufio/bufio.go:113 +0xf8 fp=0x4000ecdb40 sp=0x4000ecdb00 pc=0x666bb8
bufio.(*Reader).Peek(0x4000230600, 0x4)
/usr/local/go/src/bufio/bufio.go:151 +0x60 fp=0x4000ecdb60 sp=0x4000ecdb40 pc=0x666d20
net/http.(*conn).serve(0x40012202d0, {0x1f894e8, 0x40001d8810})
/usr/local/go/src/net/http/server.go:2044 +0x64c fp=0x4000ecdfa0 sp=0x4000ecdb60 pc=0x6deecc
net/http.(*Server).Serve.func3()
/usr/local/go/src/net/http/server.go:3086 +0x30 fp=0x4000ecdfd0 sp=0x4000ecdfa0 pc=0x6e30b0
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000ecdfd0 sp=0x4000ecdfd0 pc=0x476d14
created by net/http.(*Server).Serve in goroutine 69
/usr/local/go/src/net/http/server.go:3086 +0x4cc

goroutine 301 [IO wait]:
runtime.gopark(0x4000506e18?, 0x4b5444?, 0x78?, 0x6d?, 0x4b75b0?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x4000506d40 sp=0x4000506d20 pc=0x442188
runtime.netpollblock(0x0?, 0xffffffff?, 0xff?)
/usr/local/go/src/runtime/netpoll.go:564 +0x158 fp=0x4000506d80 sp=0x4000506d40 pc=0x439f08
internal/poll.runtime_pollWait(0xffff4c3e4428, 0x72)
/usr/local/go/src/runtime/netpoll.go:343 +0xa0 fp=0x4000506db0 sp=0x4000506d80 pc=0x4708e0
internal/poll.(*pollDesc).wait(0x4000934280?, 0x400087ec71?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x28 fp=0x4000506de0 sp=0x4000506db0 pc=0x517c28
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0x4000934280, {0x400087ec71, 0x1, 0x1})
/usr/local/go/src/internal/poll/fd_unix.go:164 +0x200 fp=0x4000506e80 sp=0x4000506de0 pc=0x518f70
net.(*netFD).Read(0x4000934280, {0x400087ec71?, 0x4000506f28?, 0x6d95fc?})
/usr/local/go/src/net/fd_posix.go:55 +0x28 fp=0x4000506ed0 sp=0x4000506e80 pc=0x5b6368
net.(*conn).Read(0x4000a82010, {0x400087ec71?, 0x1?, 0x2c41770?})
/usr/local/go/src/net/net.go:179 +0x34 fp=0x4000506f20 sp=0x4000506ed0 pc=0x5c8c04
net.(*TCPConn).Read(0x400099c240?, {0x400087ec71?, 0x2c41770?, 0x0?})
<autogenerated>:1 +0x2c fp=0x4000506f50 sp=0x4000506f20 pc=0x5db85c
net/http.(*connReader).backgroundRead(0x400087ec60)
/usr/local/go/src/net/http/server.go:683 +0x40 fp=0x4000506fb0 sp=0x4000506f50 pc=0x6d9330
net/http.(*connReader).startBackgroundRead.func2()
/usr/local/go/src/net/http/server.go:679 +0x28 fp=0x4000506fd0 sp=0x4000506fb0 pc=0x6d9258
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000506fd0 sp=0x4000506fd0 pc=0x476d14
created by net/http.(*connReader).startBackgroundRead in goroutine 154
/usr/local/go/src/net/http/server.go:679 +0xc8

goroutine 169 [chan receive]:
runtime.gopark(0x400067c288?, 0x412674?, 0xa8?, 0xc2?, 0x47fb44?)
/usr/local/go/src/runtime/proc.go:398 +0xc8 fp=0x400067c250 sp=0x400067c230 pc=0x442188
runtime.chanrecv(0x4001010f00, 0x0, 0x1)
/usr/local/go/src/runtime/chan.go:583 +0x414 fp=0x400067c2d0 sp=0x400067c250 pc=0x40c374
runtime.chanrecv1(0x400067c3a0?, 0x400067c348?)
/usr/local/go/src/runtime/chan.go:442 +0x14 fp=0x400067c300 sp=0x400067c2d0 pc=0x40bf24
github.com/dunglas/frankenphp.ServeHTTP({0x1f84e60?, 0x40005a45a0}, 0x4000b16a00)
/go/src/app/frankenphp.go:464 +0x1b8 fp=0x400067c3d0 sp=0x400067c300 pc=0x14d7618
github.com/dunglas/frankenphp/caddy.FrankenPHPModule.ServeHTTP({{0x1a7ab44, 0x10}, {0x40001d4470, 0x1, 0x1}, 0x4000519cd4, 0x0, 0x4000341340}, {0x1f84e60, 0x40005a45a0}, ...)
/go/src/app/caddy/caddy.go:275 +0x3c0 fp=0x400067c720 sp=0x400067c3d0 pc=0x15c3d20
github.com/dunglas/frankenphp/caddy.(*FrankenPHPModule).ServeHTTP(0x28?, {0x1f84e60?, 0x40005a45a0?}, 0x1148180?, {0x1f76cc0?, 0x4000598160?})
<autogenerated>:1 +0xa4 fp=0x400067c7e0 sp=0x400067c720 pc=0x15c9094
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x1f84e60?, 0x40005a45a0?}, 0x4000279340?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x48 fp=0x400067c820 sp=0x400067c7e0 pc=0x11486a8
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f76cc0?, {0x1f84e60?, 0x40005a45a0?}, 0x412f5c?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x400067c850 sp=0x400067c820 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84e60, 0x40005a45a0}, 0x1a78a79?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300 +0x2b4 fp=0x400067c8e0 sp=0x400067c850 pc=0x11483d4
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x400034a400?, {0x1f84e60?, 0x40005a45a0?}, 0x4000935f80?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x400067c910 sp=0x400067c8e0 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp/rewrite.Rewrite.ServeHTTP({{0x0, 0x0}, {0x400048f9a0, 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 +0x348 fp=0x400067caa0 sp=0x400067c910 pc=0x1362748
github.com/caddyserver/caddy/v2/modules/caddyhttp/rewrite.(*Rewrite).ServeHTTP(0x28?, {0x1f84e60?, 0x40005a45a0?}, 0x1148180?, {0x1f76cc0?, 0x4000598180?})
<autogenerated>:1 +0xc8 fp=0x400067cbd0 sp=0x400067caa0 pc=0x1364398
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x1f84e60?, 0x40005a45a0?}, 0x4000597a80?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x48 fp=0x400067cc10 sp=0x400067cbd0 pc=0x11486a8
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f76cc0?, {0x1f84e60?, 0x40005a45a0?}, 0x1150884?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x400067cc40 sp=0x400067cc10 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84e60, 0x40005a45a0}, 0x1a76681?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300 +0x2b4 fp=0x400067ccd0 sp=0x400067cc40 pc=0x11483d4
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f894e8?, {0x1f84e60?, 0x40005a45a0?}, 0xe?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x400067cd00 sp=0x400067ccd0 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84e60, 0x40005a45a0}, 0x1?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:268 +0x248 fp=0x400067cd90 sp=0x400067cd00 pc=0x1148368
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x400065f610?, {0x1f84e60?, 0x40005a45a0?}, 0x4?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x400067cdc0 sp=0x400067cd90 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp/encode.(*Encode).ServeHTTP(0x4000279140, {0x1f84710, 0x4000982540}, 0x4000998900, {0x1f76cc0, 0x40005981c0})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/encode/encode.go:138 +0x264 fp=0x400067ce30 sp=0x400067cdc0 pc=0x118e7b4
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x1f84710?, 0x4000982540?}, 0x40001a9920?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x48 fp=0x400067ce70 sp=0x400067ce30 pc=0x11486a8
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x40009aef18?, {0x1f84710?, 0x4000982540?}, 0x4?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x400067cea0 sp=0x400067ce70 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.VarsMiddleware.ServeHTTP(0xffff4bee3ce8?, {0x1f84710, 0x4000982540}, 0x4000998900, {0x1f76cc0, 0x400099c540})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/vars.go:61 +0x238 fp=0x400067cf80 sp=0x400067cea0 pc=0x114f658
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*VarsMiddleware).ServeHTTP(0x28?, {0x1f84710?, 0x4000982540?}, 0x1148180?, {0x1f76cc0?, 0x400099c540?})
<autogenerated>:1 +0x3c fp=0x400067cfc0 sp=0x400067cf80 pc=0x115c83c
github.com/caddyserver/caddy/v2/modules/caddyhttp.wrapMiddleware.func1.1({0x1f84710?, 0x4000982540?}, 0x4000430e18?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:331 +0x48 fp=0x400067d000 sp=0x400067cfc0 pc=0x11486a8
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x1f76cc0?, {0x1f84710?, 0x4000982540?}, 0x40002f0600?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x400067d030 sp=0x400067d000 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.RouteList.Compile.wrapRoute.func1.1({0x1f84710, 0x4000982540}, 0x30?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/routes.go:300 +0x2b4 fp=0x400067d0c0 sp=0x400067d030 pc=0x11483d4
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x40002f0600?, {0x1f84710?, 0x4000982540?}, 0x1a46920?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x400067d0f0 sp=0x400067d0c0 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).enforcementHandler(0x0?, {0x1f84710?, 0x4000982540?}, 0x114964c?, {0x1f76cc0?, 0x40005981e0?})
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:429 +0x1b0 fp=0x400067d1d0 sp=0x400067d0f0 pc=0x114a440
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*App).Provision.(*Server).wrapPrimaryRoute.func1({0x1f84710?, 0x4000982540?}, 0x40009af238?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:405 +0x40 fp=0x400067d210 sp=0x400067d1d0 pc=0x1127b30
github.com/caddyserver/caddy/v2/modules/caddyhttp.HandlerFunc.ServeHTTP(0x40001f70a0?, {0x1f84710?, 0x4000982540?}, 0x4000998900?)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/caddyhttp.go:58 +0x38 fp=0x400067d240 sp=0x400067d210 pc=0x112f268
github.com/caddyserver/caddy/v2/modules/caddyhttp.(*Server).ServeHTTP(0x40005102c0, {0x1f84710, 0x4000982540}, 0x4000998700)
/root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.7.6/modules/caddyhttp/server.go:341 +0xc7c fp=0x400067db30 sp=0x400067d240 pc=0x114993c
net/http.serverHandler.ServeHTTP({0x400099c2a0?}, {0x1f84710?, 0x4000982540?}, 0x6?)
/usr/local/go/src/net/http/server.go:2938 +0xbc fp=0x400067db60 sp=0x400067db30 pc=0x6e299c
net/http.(*conn).serve(0x4000682900, {0x1f894e8, 0x400099c150})
/usr/local/go/src/net/http/server.go:2009 +0x518 fp=0x400067dfa0 sp=0x400067db60 pc=0x6ded98
net/http.(*Server).Serve.func3()
/usr/local/go/src/net/http/server.go:3086 +0x30 fp=0x400067dfd0 sp=0x400067dfa0 pc=0x6e30b0
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x400067dfd0 sp=0x400067dfd0 pc=0x476d14
created by net/http.(*Server).Serve in goroutine 69
/usr/local/go/src/net/http/server.go:3086 +0x4cc

goroutine 131 [IO wait]:
/usr/local/go/src/net/http/server.go:679 +0xc8

goroutine 170 [syscall]:
syscall.Syscall(0x4000d1d918?, 0x51a908?, 0x80000000000?, 0x7ffff80000000000?)
/usr/local/go/src/syscall/syscall_linux.go:69 +0x20 fp=0x4000d1d8e0 sp=0x4000d1d870 pc=0x49d0d0
syscall.write(0x4000992480?, {0x4000398000?, 0x40006f9900?, 0x6d9ef4?})
/usr/local/go/src/syscall/zsyscall_linux_arm64.go:949 +0x40 fp=0x4000d1d920 sp=0x4000d1d8e0 pc=0x49af30
syscall.Write(...)
/usr/local/go/src/syscall/syscall_unix.go:209
internal/poll.ignoringEINTRIO(...)
/usr/local/go/src/internal/poll/fd_unix.go:736
internal/poll.(*FD).Write(0x4000992480, {0x4000398000, 0xb5d, 0x1000})
/usr/local/go/src/internal/poll/fd_unix.go:380 +0x2c0 fp=0x4000d1d9d0 sp=0x4000d1d920 pc=0x51ab00
net.(*netFD).Write(0x4000992480, {0x4000398000?, 0x4?, 0x4000d1dad8?})
/usr/local/go/src/net/fd_posix.go:96 +0x28 fp=0x4000d1da20 sp=0x4000d1d9d0 pc=0x5b6ac8
net.(*conn).Write(0x400007e4e8, {0x4000398000?, 0x4000290500?, 0x2c7ff5a?})
/usr/local/go/src/net/net.go:191 +0x34 fp=0x4000d1da70 sp=0x4000d1da20 pc=0x5c8dc4
net.(*TCPConn).Write(0x19ab9a0?, {0x4000398000?, 0x4000b8af20?, 0x4000b8af20?})
<autogenerated>:1 +0x2c fp=0x4000d1daa0 sp=0x4000d1da70 pc=0x5dbb6c
net/http.checkConnErrorWriter.Write({0x4000d1db38?}, {0x4000398000?, 0x4000290500?, 0x1a5bdce?})
/usr/local/go/src/net/http/server.go:3599 +0x34 fp=0x4000d1daf0 sp=0x4000d1daa0 pc=0x6e5854
bufio.(*Writer).Flush(0x4000290500)
/usr/local/go/src/bufio/bufio.go:642 +0x5c fp=0x4000d1db40 sp=0x4000d1daf0 pc=0x66862c
net/http.(*response).finishRequest(0x4000b86ee0)
/usr/local/go/src/net/http/server.go:1664 +0x74 fp=0x4000d1db60 sp=0x4000d1db40 pc=0x6de164
net/http.(*conn).serve(0x4000682990, {0x1f894e8, 0x400099c1e0})
/usr/local/go/src/net/http/server.go:2015 +0x540 fp=0x4000d1dfa0 sp=0x4000d1db60 pc=0x6dedc0
net/http.(*Server).Serve.func3()
/usr/local/go/src/net/http/server.go:3086 +0x30 fp=0x4000d1dfd0 sp=0x4000d1dfa0 pc=0x6e30b0
runtime.goexit()
/usr/local/go/src/runtime/asm_arm64.s:1197 +0x4 fp=0x4000d1dfd0 sp=0x4000d1dfd0 pc=0x476d14
created by net/http.(*Server).Serve in goroutine 69
/usr/local/go/src/net/http/server.go:3086 +0x4cc

goroutine 171 [IO wait]:
/usr/local/go/src/net/http/server.go:679 +0xc8
withinboredom commented 7 months ago

Hmmm, I haven't seen this one before. Do you know what conditions trigger it?

withinboredom commented 7 months ago

SIGPIPE: Broken pipe: write to pipe with no readers;

Is this meaningful to you @SystematicCZ? Are you doing anything with pipes? I'm 90% sure we aren't doing anything with pipes in frankenphp.

dunglas commented 7 months ago

Are you using the latest version? We fixed a SIGPIPE-related issue in https://github.com/dunglas/frankenphp/pull/651

Also, could you show us the PHP code that triggers this error. The missing SA_ONSTACK flag is likely in a non-default extension that needs to be patched (PHP and FrankenPHP use SA_ONSTACK by default).

SystematicCZ commented 7 months ago

SIGPIPE Yeah, I was still on 1.1.0 on my dev machine, but on production we have 1.1.1 (I double checked now). I still have these errors in the logs on production

{"level":"error","ts":1711213787.9251857,"msg":"write error","error":"write tcp 172.19.0.3:80->213.109.164.248:36804: write: broken pipe"}
SystematicCZ commented 7 months ago

I will try to get a core dump if it will be helpful

dunglas commented 7 months ago

The log with the write error is expected, it just mean that a network error occurred.

The heap corrupted error however, is concerning and unexpected.

This may be related to an extension too.

A core dump would indeed help a lot.

dunglas commented 7 months ago

@SystematicCZ https://github.com/php-amqp/php-amqp/pull/550 should entirely fix the issue. Could you try this patch and confirm if it's the case or not? Thank you!

SystematicCZ commented 7 months ago

Will try today and let you know.

SystematicCZ commented 7 months ago

No more SA_ONSTACK errors, but I still got heap corrupted error. I cannot replicate it on my dev machine. I will get the core dump from prod but since we have managed servers it will take some time.

dunglas commented 7 months ago

If possible, try to compile PHP and php-amqp (the bug is probably in this extension) with debug symbols.

dunglas commented 4 months ago

Fixed by https://github.com/php-amqp/php-amqp/pull/550.

twisted1919 commented 1 month ago

@dunglas - I just got this today with frankenphp:1.2-php8.3.10-alpine

signal 13 received but handler not on signal stack
mp.gsignal stack [0xc00058e000 0xc000596000], mp.g0 stack [0x7fedeba20d00 0x7fedebaa0900], sp=0xc000a8b938
fatal error: non-Go code set up signal handler without SA_ONSTACK flag

The stack trace is huge, I am not sure what to paste from it.

L.E:

goroutine 15 gp=0xc0006028c0 m=nil [chan receive, 279 minutes]:
runtime.gopark(0xae1865?, 0x1b09160?, 0x1?, 0x0?, 0xc0000a9da8?)
    /goroot/src/runtime/proc.go:402 +0xce fp=0xc0000a9d18 sp=0xc0000a9cf8 pc=0x44560e
runtime.chanrecv(0xc0003226c0, 0xc0000a9f70, 0x1)
    /goroot/src/runtime/chan.go:583 +0x3bf fp=0xc0000a9d90 sp=0xc0000a9d18 pc=0x40e27f
runtime.chanrecv2(0xc0003226c0?, 0xc00048a780?)
    /goroot/src/runtime/chan.go:447 +0x12 fp=0xc0000a9db8 sp=0xc0000a9d90 pc=0x40deb2
github.com/caddyserver/caddy/v2.trapSignalsPosix.func1()
    /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.8.4/sigtrap_posix.go:35 +0x105 fp=0xc0000a9fe0 sp=0xc0000a9db8 pc=0xb04a85
runtime.goexit({})
    /goroot/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000a9fe8 sp=0xc0000a9fe0 pc=0x47d981
created by github.com/caddyserver/caddy/v2.trapSignalsPosix in goroutine 1
    /root/go/pkg/mod/github.com/caddyserver/caddy/v2@v2.8.4/sigtrap_posix.go:31 +0x1a
SystematicCZ commented 1 month ago

If you are using php-amqp extension, you must install specific commit from master because there was no release since January. Or there is similar bug in another extension

RUN set -eux; \
    install-php-extensions php-amqp/php-amqp@a9cbd81ea401d4ba41b72381008b331f5516823c
twisted1919 commented 1 month ago

@SystematicCZ - Thank you, I was sure I used latest version after I read the comments. But as you say, I see there is no release made to contain the fix yet, so your solution is what ended up working. Thank you again!