I'll assume that the problem is mine, but I can't find the answer. It took substantial digging to figure out the core problem, if not the root problem. This seems more like a forum question, and possibly a generic docker question, but I'm not sure what forum to use and hope I can get at least a lead, if not a solution here.
I am running Zwave2Mqtt on a Raspberry Pi Zero-W running Rasbian Lite. Docker is installed with:
curl -fsSL https://get.docker.com | sh
The symptom is docker (and docker-compose) exiting without producing any output. No errors, no logs, nothing. I eventually figured out how to find the exit code: 139, SEGV or similar.
More digging leads me to believe that the problem is using an image that isn't armv6 compatible.
I had been using 3.0.2 which has a single build for armv6 and armv7. 3.0.3 onward have separate builds for the two architectures and 3.0.3 didn't work. arm32v6-3.0.3 does work. I eventually figured out how to specify a sha256 when doing a docker pull and was able to get 4.0.5 running.
My core question is, why is docker pulling for arm7 instead of arm6 and how do I fix it?
Any pointers would be greatly appreciated.
Thank you!
/home/pi $ docker version
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:35:24 2020
OS/Arch: linux/arm
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:29:22 2020
OS/Arch: linux/arm
Experimental: false
containerd:
Version: 1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
@chrisns Do you know what could cause this?
@j3kestrel We use docker buildx to build and push multi-arch images on docker-hub. I dunno what could cause this kind of problems and if there is one it could be something related to buildx? Could you please try to delete all your local images about zwave2mqtt, and retry with latest 4.0.5 version?
We do build and push linux/arm/v6
You could perhaps try pulling the codebase and building it yourself and compare the image metadata
I've not got a pi zero to hand to test myself
This is a common problem on armv6 there seems something wrong with Docker. I ran into this with Rhasspy, they have these instructions in their manual:
https://rhasspy.readthedocs.io/en/latest/installation/#raspberry-pi-zero
You should be able to adapt these to zwave2mqtt easily. If not, let me know and I will guide you trough :)
Just found the Docker issues:
https://github.com/moby/moby/issues/41017
https://github.com/moby/moby/issues/34875
@wilmardo Sorry but based on https://rhasspy.readthedocs.io/en/latest/installation/#raspberry-pi-zero shouldn't be you to do that? I mean, you should enable experimental features on your docker instance so the image pulled is the correct one?
You should be able to adapt these to zwave2mqtt easily. If not, let me know and I will guide you trough :)
Ah sorry re-reading it might not have been clear. This for sure is a local environment issue and has nothing to do with Zwave2MQTT.
@j3kestrel should be the doing these actions. He is the you in the above quote :)
It might be nice to include the instructions somewhere since it a known issue and has been known for quite some time (2017)
@wilmardo I'm ok to add it to docs, but based on my experience I know 90% of users don't read docs at all, so since this is just related to Rpi zero I will change the title of the issue, hopefully users will find this issue once they are opening a new one. Thanks for your findings about this problem :)
Raspberry Pi 1 is also affected, no need to put it in the title but this message should make it available in the search :)
Thanks again @wilmardo :+1:
I'll try the work-around suggested in @wilmardo's rhasspy link and summarize results.
I had the same issue on a Pi Zero, found this thread, and was able to fix it by:
platform: linux/arm/v6 to my docker compose file.Thanks folks!
Most helpful comment
Ah sorry re-reading it might not have been clear. This for sure is a local environment issue and has nothing to do with Zwave2MQTT.
@j3kestrel should be the doing these actions. He is the you in the above quote :)
It might be nice to include the instructions somewhere since it a known issue and has been known for quite some time (2017)