`runtime: invalid pc-encoded table panic` introduced by `SIGPROF`
runtime: invalid pc-encoded table f=syscall.Fchdir pc=0x4bc7b2 targetpc=0x4bc7b2 tab=[0/0]0x0 value=0 until pc=0x4bc70e value=40 until pc=0x4bc79d value=0 until pc=0x4bc7b2 fatal error: invalid runtime symbol table
goroutine 0 [idle]: runtime.throw({0x1adf59a?, 0x0?}) /usr/local/go/src/runtime/panic.go:1047 +0x5d fp=0xc00050eb10 sp=0xc00050eae0 pc=0x43829d runtime.pcvalue({0x26910a8?, 0x2a07960?}, 0x3be50, 0x4bc7b2, 0xc00050ed80, 0x1) /usr/local/go/src/runtime/symtab.go:966 +0x57a fp=0xc00050ebe0 sp=0xc00050eb10 pc=0x456f7a runtime.funcspdelta({0x26910a8?, 0x2a07960?}, 0x0?, 0x0?) /usr/local/go/src/runtime/symtab.go:1041 +0x34 fp=0xc00050ec20 sp=0xc00050ebe0 pc=0x4574b4 runtime.gentraceback(0x0?, 0xc00050eff0?, 0x18?, 0x40?, 0x0, 0xc00050eff0, 0x40, 0x0, 0x0?, 0x6) /usr/local/go/src/runtime/traceback.go:191 +0x709 fp=0xc00050ef90 sp=0xc00050ec20 pc=0x45e3e9 runtime.sigprof(0x85672e, 0xc00050f298?, 0x0?, 0xc005f5c4e0, 0xc000504000) /usr/local/go/src/runtime/proc.go:4567 +0x108 fp=0xc00050f200 sp=0xc00050ef90 pc=0x4442c8 runtime.sighandler(0x1b?, 0xc000504000?, 0xc00050f2e0?, 0xc0005061a0?) /usr/local/go/src/runtime/signal_unix.go:629 +0x647 fp=0xc00050f2b8 sp=0xc00050f200 pc=0x44e507 runtime.sigtrampgo(0x1b, 0xc00050f4b0, 0xc00050f380) /usr/local/go/src/runtime/signal_unix.go:479 +0x1b4 fp=0xc00050f330 sp=0xc00050f2b8 pc=0x44da74 runtime.sigtramp() /usr/local/go/src/runtime/sys_linux_amd64.s:359 +0x46 fp=0xc00050f380 sp=0xc00050f330 pc=0x46e206
goroutine 305682 [running]:
It's a general bug in Golang https://github.com/golang/go/issues/27540. Every lib who uses C-compliler-generated ASM codes may encounter this problem. You can check and close the SIGPROF signals from your OS, or update sonic above v1.10.0-rc.
now PR #393 (above v1.10.0-rc2) can resolve this problem if it is introduced by sonic. If it is introduced by other lib, you need to update your Go image onto 1.21.0