-
-
Notifications
You must be signed in to change notification settings - Fork 883
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Segmentation fault on arm64 for 0.19.7 #5205
Comments
Our ARM builds are compiled for |
Hmm but isn't my architecture already aarch64?
It is the official raspbian image by the way... |
Then maybe something went wrong with the build. Can you test if 0.19.0 for example is working? |
Also, what is the docker version? |
Sure, my Docker version is: docker -v
Docker version 27.3.1, build ce12230
docker compose version
Docker Compose version v2.29.7 and the same segmentation fault occurs in version |
We don't have arm machines so this would be pretty difficult to debug and test. Even our arm64 builds are done via a different image, here: https://github.com/raskyld/lemmy-cross-toolchains . We'd need someone with experience building images for arm figure out what's going on. cc @raskyld |
on my arm vms the 0.19.7 image is working fine, so the issue does not appear to be the image itself
|
I'm running the stock (updated) raspbian image .
|
Just to confirm, could you try just launching a shell in the container standalone? docker run --rm -it --entrypoint /bin/bash dessalines/lemmy:0.19.7 I'd expect this to also segfault if it's a general architecture issue. |
I did this, and I can successfully launch a shell only |
is there a possibility that you're trying to run an image for another platform somehow? what do you get from this? docker image inspect -f '{{ .RepoTags }} - {{ .RepoDigests }} - {{ .Architecture }}' dessalines/lemmy:0.19.7 what do you get when you run |
I don't think so: docker image inspect -f '{{ .RepoTags }} - {{ .RepoDigests }} - {{ .Architecture }}' dessalines/lemmy:0.19.7
[dessalines/lemmy:0.19.7] - [dessalines/lemmy@sha256:62282b9d6ee0a8692f2283b24dd3f4bbbf987c0c2f560fc2617829975c536118] - arm64 lemmy@lemmy:/$ arch
aarch64 Seems something is wrong with strace lemmy_server
execve("/usr/local/bin/lemmy_server", ["lemmy_server"], 0x7fffd755b090 /* 8 vars */) = -1 EINVAL (Invalid argument)
+++ killed by SIGSEGV +++
Segmentation fault |
I would recommend to build the project in
Then, once you have the debug binary compiled, make sure your have Good luck! |
could this be related to specific CPU features maybe? for reference, the arm64 virtual machines at hetzner look like this:
my m1 mac looks like this:
The features common in both of these are
|
based on the cpuinfo of a pi 5 b i found on a random blog, the only cpu feature present on my machines not present on the pi seems to be SSBS, Speculative Store Bypass Safe, which seems to be related to speculative execution vulnerability mitigation. that doesn't sound like it would likely be related to me. |
Eventually, I see QEMU supports |
tried emulating cortex-a76 on my mac with qemu (UTM), also works just fine:
|
I would compile by myself on the raspberry pi 5b, but I'm not very familiar with rust. If someone could point me to a good step by step manual how to compile lemmy I'll share the results here. In case it helps, here is my processor : 0
BogoMIPS : 108.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x4
CPU part : 0xd0b
CPU revision : 1
processor : 1
BogoMIPS : 108.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x4
CPU part : 0xd0b
CPU revision : 1
processor : 2
BogoMIPS : 108.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x4
CPU part : 0xd0b
CPU revision : 1
processor : 3
BogoMIPS : 108.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x4
CPU part : 0xd0b
CPU revision : 1
Revision : d04170
Serial : 38bc7a27177aa590
Model : Raspberry Pi 5 Model B Rev 1.0 |
You can find build instructions in the docs (ignore the parts about pnpm and lemmy-ui). Basically install Rust dependencies, |
Hmm cargo check doesn't run:
I'll check with Debian 13 to see if the rust version is newer.... |
Debian 13 seems to work, compile in progress... It seems that compiling heats up my passive cooled raspberry too much, my system freezed during compile, and I'm on a train a.t.m I'll try to compile again when I'm back on keyboard |
I could build lemmy_server on my machine with With this build no segmentation error occurs, I could successfully launch:
In case it helps, here is the compiled |
It is really likely that you have a shared library, which is incompatible with the one used to build the official arm image then. Compiling it on the hardware directly ensure the produced binary targets the version you have installed. |
I see, meanwhile I tried 0.19.8-beta.0 and even there no segmentation fault occurs |
Requirements
Summary
When trying to start lemmy with docker compose, the container immediately exits.
When trying to start the lemmy server manually the segmentation fault occurs
Steps to Reproduce
adjust the configuration files as explained in the install instructions
Then:
Technical Details
Version
BE 0.19.7
Lemmy Instance URL
No response
The text was updated successfully, but these errors were encountered: