-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
NPM crashes on Raspberry Pi 3 B+ in the latest Docker image #7662
Comments
The same problem on Raspberry PI 3 model B. I run in docker-compose with that conf: and get this error: **Fatal error in , line 0 FailureMessage Object: 0x7edbf25c** With 1.18.3 version works with any problem. Thanks |
same problem on rpi4 here |
Same problem on RPI4. I pinned to 1.18.3 and it started working again. |
Hmm...working here without issues on RPI4, debian buster 64bit latest docker version Sounds like an platform compile issue or that the wrong platform was pulled from updated alpine image Related to #7591 |
I honestly don't know what the problem is, the sure thing is that by reinstalling version 1.18.3 everything works correctly. So I think it depends on the latest version |
same issue on rpi4 since the update to 1.19.0 using the docker koenkk/zigbee2mqtt:latest image |
Same problem here with Pi4 and docker run: docker keeps restarting with errors: Fatal error in , line 0unreachable code#FailureMessage Object: 0xbedd725c Fatal error in , line 0unreachable code#FailureMessage Object: 0xbea2a25c |
@Koenkk I'm not sure of trouble or resolution. I simply not update until I will see a green flag on these issues... but.... With another project I had troubles with alpine 3.13 on RPI (I'm referring to this commit: 085983d) I needed (on my own project) to revert to 3.12. Maybe someone can try to create a docker with 3.12 instead of 3.13? |
What docker version are you guys using? Changelog of alpine 3.13 requires minimum docker Version 19.03.9 @Koenkk IMO the docker minimum requirement should be mentioned in release changelog |
If this is the issue, IMHO need to revert to 3.12. Moving to 3.13 cuts out all Raspbian users, e.g. |
In my case (PI4): |
Problem confirmed, rollback to image 1.18.3 works. Env: |
Could you check if your libseccomp has the required version? Like stated here:
|
I use docker-compose, in any case |
Well basically this will just move the Problem to another time point. Alpine will not revert this changes for sure. |
I'm a Docker "fanatic", Alpine "addicted" but I think sometime we can leave Alpine alone and change to another base dist. |
Well true that :D |
In my case (Pi4):
Both are "latest and greatest". I agree with @sineverba - in my situation, image size is less important than stability and reliability. On the other hand, there's probably no such thing as a perfect base distro. |
It does not work at all ... |
No the perfect base distro does not exist.....but we basically try to use distros which are not always on bleeding edge but stable. As long they care about security I'm fine with this. Just for all.....this is my configuration....docker and libseccomp version fits on debian buster but well I'm on aarch64 |
pi@raspberrypi:~$ docker --version
Docker version 20.10.6, build 370c289
pi@raspberrypi:~$ sudo apt install seccomp
...
pi@raspberrypi:~$ scmp_sys_resolver -a arm clock_gettime64
-1 So yes, the Alpine 3.13 requirements related to libseccomp are most probably the cause here. Let us try the workarounds suggested in the Alpine docs:
I.e. no crash. Similarly: pi@raspberrypi:~$ wget https://github.com/moby/moby/raw/master/profiles/seccomp/default.json
pi@raspberrypi:~$ sed -i 's/SCMP_ACT_ERRNO/SCMP_ACT_TRACE/' default.json
pi@raspberrypi:~$ docker run -it --security-opt=seccomp=default.json koenkk/zigbee2mqtt:latest npm also works fine. Finally: $ sudo cp default.json /etc/docker/seccomp-profile.json
$ cat | sudo tee /etc/docker/daemon.json <<EOF
{
"seccomp-profile": "/etc/docker/seccomp-profile.json"
}
EOF
$ sudo systemctl restart docker At this point my Raspberry lost connectivity and I had to hard-reset it by plugging the cord. It came back up fine, so let's proceed: $ docker run -it koenkk/zigbee2mqtt:latest npm Works fine Summary
|
Could this be a arm64/armv7 issue? Most RPI3 will probably run a 32 bit kernel. |
This is indeed an issue with Alpine 3.13 on 32-bit Debian hosts. I've run into this issue using another Docker image a while ago. Basically, Alpine 3.13 uses 64 bit timestamps now. But the So the easiest fix is: upgrade the So, in my opinion the best fix is to manually upgrade the package. I've written down how to do so here: xirixiz/dsmr-reader-docker#203 (comment). The fixed package is also in the Debian Backports repository. I recommend using the Backports method, as it's an official Debian repository that contains updated versions of stable Debian packages. |
I doubt as well that libseccomp will be updated in the near future on any of the distros mentioned in alpine changelog. The current version they are using are from 2019 and older although a lot newer maintained versions in 2.4 and 2.5 releases exist Whatever for now I am as well ok to revert to 3.12....still it is officially supported till may next year. I do not see an urgent reason to update the base image. @Koenkk or any special stuff planed where you need the new packages? @LouisMT do not forget that a lot not experienced people are using zigbee2mqtt with a raspberry pi...not sure if it is advisable to force them to install or upgrade a package beforehand IMO Nevertheless.....alpine 3.13 was released end last year....so no idea about the long term solution...either changing base image to debian buster...which should be inline with people distros which mostly are debian derivates |
This. |
Don't get me wrong: I don't mean everyone should upgrade the package. But, a few images I'm using have already upgraded to 3.13, and not all maintainers are willing to downgrade back to 3.12. Or it takes a long time. So, if you want to save yourself from breaking containers in the future, this is the easiest and best fix you can perform yourself in my opinion. Otherwise, you depend on the maintainer of all the images you're using, or on Alpine/Debian to fix the issue. And something tells me they won't be fixing this (soon). But you're right, in the case of this image, I think it's best to either downgrade the Alpine base or to change base entirely, to fix the issue for everyone. |
Thanks for confirming, created a new release (1.19.1) |
Alpine 3.12 will become unsupported starting from May so I'm forced to upgrade to a more recent Alpine version. Could someone check if the latest Raspberry Pi OS already includes libseccomp >= 2.4.2? Command: |
Raspbian GNU/Linux 10 (buster) |
If you are running Buster, you need to add If you are running Bullseye the problem just goes away. I'm running several Pis with a mixture of Buster and Bullseye, with docker containers that are known to break on Buster if See also IOTstack issue 401. Bullseye example: Buster example with |
@Paraphraser that sounds reasonable @m0wlheld out of interest, why did you not update to bullseye eye? Seems it is out since December 2021. |
No specific reason. For my smart home controller, I prefer stability over fancyness. Upgrading now … |
I've upgraded the container to Alpine 3.15 and Node.js 16 (available in the dev branch now). Wrote some docs on how to install |
Works like a charm in RPi 4: Thank you :) |
Just installed everything + libseccomp2 backport on my Raspberry Pi 3 Model B Rev 1.2 with Raspbian 10 / buster but it gave the same error (...unreachable code...). node version: v10.24.0 dpkg info: |
Same problem here:
Just FYI. I don't think this is important to me, I'll try to move to bullseye. |
Actually |
Moved to bullseye yesterday, thank you anyway :) |
This guy is a freaking genius!!! |
What happened
If I do this manually from /bin/ash I also see the final message
Illegal instruction (core dumped)
The problem does not happen on a different machine.
What did you expect to happen
Something like this (note the previous version tag):
Debug info
Raspberry version: 3B+, quite recent Raspberry Pi OS
The text was updated successfully, but these errors were encountered: