Skip to content
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

Exit Code 139 with new docker multiarch on Pi Zero W #1064

Closed
kennymc-c opened this issue Jul 21, 2020 · 10 comments · Fixed by #1069
Closed

Exit Code 139 with new docker multiarch on Pi Zero W #1064

kennymc-c opened this issue Jul 21, 2020 · 10 comments · Fixed by #1069

Comments

@kennymc-c
Copy link
Contributor

kennymc-c commented Jul 21, 2020

I just wanted to try out the new server:latest multiarch docker image on my Pi Zero W. Unfortunately bitwarden_rs doesn't start anymore and ends with an error code 139. I guess it could be due to my outdated docker-ce version (18.06.3) on raspbian stretch which I can't update due to a bug, otherwise docker won't run on my Pi Zero anymore. There is already a long issue (moby/moby#38175). Apparently it hasn't been fixed yet. Or could it be something else?
What can I do now to get the latest updates? The current armv6 image in the docker hub seems to support only amd64. Therefore I am currently stucked to my local image.

EDIT: Probably this is the reason: MichaIng/DietPi#3258 (comment)
So RBPi1/Zero always need their own image /builds.

@jjlin
Copy link
Contributor

jjlin commented Jul 21, 2020

What output do you get for docker inspect bitwardenrs/server:latest | grep -e Architecture -e Os -e Variant?

Was bitwarden_rs working on this board at any point in the past? BTW, the image tagged armv6 is not an amd64 image, despite what it says. It's just a limitation in Docker tooling.

@kennymc-c
Copy link
Contributor Author

It was working without any problems before. Good to know that thecirrent hub armv6 image still works.
Output:

"Architecture": "amd64",
"Os": "linux",

So probably docker is selecting the wrong arch here like in the linked comment?

@jjlin
Copy link
Contributor

jjlin commented Jul 21, 2020

It's probably pulling the wrong image for some reason. What's the output of docker inspect bitwardenrs/server:latest | grep Id?

@kennymc-c
Copy link
Contributor Author

docker inspect bitwardenrs/server:latest | grep Id "Id": "sha256:4c27ca5a5705fad8197a8bb61936ecd55703d73f955e23ebe6aa0208e7aa2be4",

@jjlin
Copy link
Contributor

jjlin commented Jul 21, 2020

Yeah, that's the arm/v7 image. It looks like it's basically this issue: moby/moby#41017

Similar to moby/moby#41017 (comment), you can hopefully work around this by running docker pull --platform=linux/arm/v6 bitwardenrs/server:latest, although it requires enabling experimental features in the Docker daemon. I'm also not sure when this --platform option was introduced, so your Docker version may or may not be too old.

@kennymc-c
Copy link
Contributor Author

kennymc-c commented Jul 22, 2020

Okay, that seems to work. Unfortunately the platform option does not seem to be supported in docker-compose. At the moment the only way to start the container via systemd is to edit the pull command in the service file accordingly.
Does turning on the experimental features have any disadvantages, especially in terms of security or stability?
@dani-garcia Maybe there should be a note in the wiki about this? The whole thing seems to affect all armv6 pi's.

Ok, could now update the wiki page by myself

@jjlin
Copy link
Contributor

jjlin commented Jul 22, 2020

Enabling experimental features shouldn't affect security/stability, except to the extent that the experimental features you actually use have such issues.

I think the best solution for now is probably just to retain the arch-specific tags (arm32v6, at least), though it clutters the tag list.

@kennymc-c
Copy link
Contributor Author

But the arch-specific tags seem not to be updated anymore

@jjlin
Copy link
Contributor

jjlin commented Jul 22, 2020

The multi-arch build actually deletes the arch-specific tags after the multi-arch manifest list is created, so that there aren't a bunch of extra tags that most people won't find useful. I'm just saying the build could be modified to skip the arch-specific tag deletion.

@jjlin
Copy link
Contributor

jjlin commented Jan 10, 2021

FYI, this issue is fixed starting in Docker 20.10.0. Raspberry Pi 1 and Zero users that upgrade to Docker 20.10.0+ don't need the arch-specific tag anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants