sonic icon indicating copy to clipboard operation
sonic copied to clipboard

`runtime: invalid pc-encoded table panic` introduced by `SIGPROF`

Open li-bit opened this issue 2 years ago • 2 comments

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]:

li-bit avatar Jul 29 '23 03:07 li-bit

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.

AsterDY avatar Jul 31 '23 03:07 AsterDY

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

AsterDY avatar Aug 12 '23 07:08 AsterDY