It seems as tho rancher-desktop 1.19+ has introduc...
# rancher-desktop
e
It seems as tho rancher-desktop 1.19+ has introduced some weirdness related to go binaries running in containers. Currently using VZ emulation (without rosetta) and seeing this for all of my go containers. will create an issue on github
Copy code
runtime: lfstack.push invalid packing: node=0xffff99c33180 cnt=0x1 packed=0xffff99c331800001 -> node=0xffffffff99c33180
fatal error: lfstack.push

runtime stack:
runtime.throw({0x30c4bbb?, 0x48e2a40?})
    /usr/local/go/src/runtime/panic.go:1101 +0x48 fp=0xffff913d5bf0 sp=0xffff913d5bc0 pc=0x4b47a8
runtime.(*lfstack).push(0x48e2a40?, 0x4?)
    /usr/local/go/src/runtime/lfstack.go:29 +0x125 fp=0xffff913d5c30 sp=0xffff913d5bf0 pc=0x451805
runtime.(*spanSetBlockAlloc).free(...)
    /usr/local/go/src/runtime/mspanset.go:322
runtime.(*spanSet).reset(0x48ffd80)
    /usr/local/go/src/runtime/mspanset.go:264 +0x79 fp=0xffff913d5c60 sp=0xffff913d5c30 pc=0x476139
runtime.finishsweep_m()
    /usr/local/go/src/runtime/mgcsweep.go:256 +0x92 fp=0xffff913d5c98 sp=0xffff913d5c60 pc=0x467232
runtime.gcStart.func3()
    /usr/local/go/src/runtime/mgc.go:734 +0xf fp=0xffff913d5ca8 sp=0xffff913d5c98 pc=0x4af76f
runtime.systemstack(0x4bf73f)
    /usr/local/go/src/runtime/asm_amd64.s:514 +0x4a fp=0xffff913d5cb8 sp=0xffff913d5ca8 pc=0x4bad8a
starting rancher with
Copy code
rdctl start \
        --application.auto-start \
        --application.path-management-strategy rcfiles \
        --application.start-in-background \
        --container-engine.name docker \
        --experimental.virtual-machine.mount.type virtiofs \
        --experimental.virtual-machine.type vz \
        --kubernetes.enabled \
        --kubernetes.options.traefik \
        --kubernetes.version 1.32.5 \
        --port-forwarding.include-kubernetes-services
trying rosetta again, I think I needed to turn it off because of a sigsev with some php code
Yup enabling rosetta starts a bunch of core dumps in my php-fpm setup
Copy code
[17-Jun-2025 04:39:56] NOTICE: fpm is running, pid 10
[17-Jun-2025 04:39:56] NOTICE: ready to handle connections
[17-Jun-2025 04:40:28[] WARNING: [pool www] child 13 exited on signal 11 (SIGSEGV - core dumped) after 32.540834 seconds from start
[17-Jun-2025 04:40:28[] NOTICE: [pool www] child 64 started
[17-Jun-2025 04:40:28[] WARNING: [pool www] child 12 exited on signal 11 (SIGSEGV - core dumped) after 32.574324 seconds from start
[17-Jun-2025 04:40:28[] NOTICE: [pool www] child 65 started
[17-Jun-2025 04:40:28[] WARNING: [pool www] child 11 exited on signal 11 (SIGSEGV - core dumped) after 32.575596 seconds from start
[17-Jun-2025 04:40:28[] NOTICE: [pool www] child 66 started
[17-Jun-2025 04:40:29[] WARNING: [pool www] child 20 exited on signal 11 (SIGSEGV - core dumped) after 32.834553 seconds from start
[17-Jun-2025 04:40:29[] NOTICE: [pool www] child 67 started
[17-Jun-2025 04:40:29[] WARNING: [pool www] child 15 exited on signal 11 (SIGSEGV - core dumped) after 32.842263 seconds from start
[17-Jun-2025 04:40:29[] NOTICE: [pool www] child 68 started
[17-Jun-2025 04:40:29[] WARNING: [pool www] child 14 exited on signal 11 (SIGSEGV - core dumped) after 32.857927 seconds from start
[17-Jun-2025 04:40:29[] NOTICE: [pool www] child 69 started
[17-Jun-2025 04:40:29[] WARNING: [pool www] child 16 exited on signal 11 (SIGSEGV - core dumped) after 32.996222 seconds from start
[17-Jun-2025 04:40:29[] NOTICE: [pool www] child 70 started
darn the release of 1.19.2 didn't help, I thought it would be perfectly timed. Tried to turn off rosetta and again got the same lfstack error. With it turned off PHP starts to yell.
f
e
I don't really think this is a rancher-desktop issue for the PHP stuff, its probably the kafka library using C bindings that need updating
f
We track this in amd64 go binaries crash running in arm64 images 路 Issue #8606 but there is really nothing we can do unless QEMU has a fix. But I suspect they will say it is a Golang issue and needs to be fixed there.
e
yep and thats totally working fine for my go programs to use rosetta, I'm just stuck cause of the PHP portion breaking when I use rosetta lol
f
Here is something to try, if you are desperate
Copy code
docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0 --install amd64
It should downgrade the QEMU version to an "ancient" release. I can't find it right now, but I think some people reported that the Golang issue was only with more recent QEMU releases.
Let me know if this works for you!
e
Will try it!
Copy code
docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0 --install amd64
installing: amd64 qemu-x86_64 already registered
{
  "supported": [
    "linux/arm64",
    "linux/amd64"
  ],
  "emulators": [
    "qemu-x86_64"
  ]
}
unfortunately still breaking my go containers
f
Maybe try uninstalling it first. It looks like it is not installing it because a newer version is already registered
Copy code
docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0 --uninstall amd64
e
that did the trick, its working wonderfully now. Sad, I guess tech-debt for my own stuff is to move to multi-arch images for PHP to use rosetta
thanks!
f
You may need to redo the qemu uninstall/reinstall every time you start Rancher Desktop because the
binfmt_misc
handler is loaded into the kernel in memory, and must be reloaded during boot.
You could probably do this with a provisioning script, but you would also have to extract the handler from the docker images and store it in the filesystem because docker is not yet running during boot.