Created
August 23, 2025 21:02
-
-
Save orangecms/d7a8a59ec9dc28b74a20da09ff2db3ec to your computer and use it in GitHub Desktop.
Go on Arm goes 💥
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| futexwakeup addr=0x547a08 returned -38 | |
| SIGSEGV: segmentation violation | |
| PC=0x55e04 m=2 sigcode=1 addr=0x1006 | |
| goroutine 0 gp=0x14025a8 m=2 mp=0x142c808 [idle]: | |
| runtime.futexwakeup(0x547a08, 0x1) | |
| runtime/os_linux.go:100 +0x6c fp=0x1445f94 sp=0x1445f68 pc=0x55e04 | |
| runtime.notewakeup(0x547a08) | |
| runtime/lock_futex.go:32 +0x60 fp=0x1445fa8 sp=0x1445f94 pc=0x2846c | |
| runtime.startlockedm(0x1402128) | |
| runtime/proc.go:3189 +0x78 fp=0x1445fb8 sp=0x1445fa8 pc=0x62688 | |
| runtime.schedule() | |
| runtime/proc.go:4063 +0x74 fp=0x1445fd0 sp=0x1445fb8 pc=0x64c70 | |
| runtime.mstart1() | |
| runtime/proc.go:1862 +0xd8 fp=0x1445fe0 sp=0x1445fd0 pc=0x6037c | |
| runtime.mstart0() | |
| runtime/proc.go:1808 +0x88 fp=0x1445ffc sp=0x1445fe0 pc=0x60288 | |
| runtime.mstart() | |
| runtime/asm_arm.s:210 +0x8 fp=0x1446000 sp=0x1445ffc pc=0x9a494 | |
| goroutine 1 gp=0x1402128 m=nil [chan receive, locked to thread]: | |
| runtime.gopark(0x35e7bc, 0x1446034, 0xe, 0x7, 0x2) | |
| runtime/proc.go:435 +0xd8 fp=0x1428758 sp=0x1428744 pc=0x95da0 | |
| runtime.chanrecv(0x1446000, 0x0, 0x1) | |
| runtime/chan.go:664 +0x3a4 fp=0x1428794 sp=0x1428758 pc=0x22b5c | |
| runtime.chanrecv1(0x1446000, 0x0) | |
| runtime/chan.go:506 +0x20 fp=0x14287a8 sp=0x1428794 pc=0x22788 | |
| runtime.gcenable() | |
| runtime/mgc.go:206 +0xd0 fp=0x14287bc sp=0x14287a8 pc=0x34540 | |
| runtime.main() | |
| runtime/proc.go:211 +0x13c fp=0x14287ec sp=0x14287bc pc=0x5c76c | |
| runtime.goexit({}) | |
| runtime/asm_arm.s:884 +0x4 fp=0x14287ec sp=0x14287ec pc=0x9c0bc | |
| goroutine 2 gp=0x14026c8 m=nil [runnable]: | |
| runtime.forcegchelper() | |
| runtime/proc.go:339 fp=0x1428fec sp=0x1428fec pc=0x5cc40 | |
| runtime.goexit({}) | |
| runtime/asm_arm.s:884 +0x4 fp=0x1428fec sp=0x1428fec pc=0x9c0bc | |
| created by runtime.init.6 in goroutine 1 | |
| runtime/proc.go:336 +0x1c | |
| goroutine 3 gp=0x14027e8 m=nil [runnable]: | |
| runtime.gcenable.gowrap1() | |
| runtime/mgc.go:204 fp=0x14297ec sp=0x14297ec pc=0x345e0 | |
| runtime.goexit({}) | |
| runtime/asm_arm.s:884 +0x4 fp=0x14297ec sp=0x14297ec pc=0x9c0bc | |
| created by runtime.gcenable in goroutine 1 | |
| runtime/mgc.go:204 +0x74 | |
| goroutine 4 gp=0x1402908 m=nil [runnable]: | |
| runtime.gcenable.gowrap2() | |
| runtime/mgc.go:205 fp=0x1429fec sp=0x1429fec pc=0x3458c | |
| runtime.goexit({}) | |
| runtime/asm_arm.s:884 +0x4 fp=0x1429fec sp=0x1429fec pc=0x9c0bc | |
| created by runtime.gcenable in goroutine 1 | |
| runtime/mgc.go:205 +0xbc | |
| trap 0xe | |
| error 0x817 | |
| oldmask 0x0 | |
| r0 0x1006 | |
| r1 0x1006 | |
| r2 0x0 | |
| r3 0x1 | |
| r4 0x27 | |
| r5 0x0 | |
| r6 0x1 | |
| r7 0x4 | |
| r8 0x55340e | |
| r9 0x0 | |
| r10 0x14025a8 | |
| fp 0xffffffa8 | |
| ip 0xa | |
| sp 0x1445f68 | |
| lr 0x29184 | |
| pc 0x55e04 | |
| cpsr 0x60000010 | |
| fault 0x1006 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
TL;DR I had to enable
CONFIG_COMPAT_32BIT_TIMEfor futexes to work.I filed golang/go#75133 and a PR (linked to the issue) to implement the new syscall in Go.
In https://gist.github.com/orangecms/7f985ef19398544114599430b79868f7 I summarize how it went.