ct-Open-Source / ct-Smart-Home

A ready-to-use Node-RED setup for home automation
https://ct.de/smarthome
GNU General Public License v2.0
166 stars 40 forks source link

After updating: no connection to node-red #70

Open T1ct4c opened 2 years ago

T1ct4c commented 2 years ago

After updating with "./start.sh update" and "./start.sh fix" node red is not available.

From docker-compose logs:

nodered_1 | # nodered_1 | # Fatal error in , line 0 nodered_1 | # unreachable code nodered_1 | # nodered_1 | # nodered_1 | # nodered_1 | #FailureMessage Object: 0x7efae23c nodered_1 | Illegal instruction nodered_1 | Starting dbus daemon nodered_1 | Starting Avahi daemon nodered_1 | Starting Node-Red nodered_1 | nodered_1 | nodered_1 | # nodered_1 | # Fatal error in , line 0 nodered_1 | # unreachable code nodered_1 | # nodered_1 | # nodered_1 | # nodered_1 | #FailureMessage Object: 0x7ea7723c nodered_1 | Illegal instruction

Can someone help?

8xiom commented 2 years ago

Same problem here! It might be a problem related to node.js but I have no experience or skills with that. By using docker tag I was able to roll back to the ctnodered image from 5 weeks ago, referencing the new docker image name in the docker-compose file and it was up and running without any errors. So the problem was most likely caused by an update during the past 5 weeks. Here ist the output from the working version:

4 Dec 12:10:42 - [info] Node-RED version: v2.1.2, 4 Dec 12:10:42 - [info] Linux 5.10.63-v7+ arm LE, 4 Dec 12:10:42 - [info] Node.js version: v12.22.7

Neither latest, latest-14 nor devel did work for me, same error as above from @T1ct4c.

T1ct4c commented 2 years ago

Can you please post your way to fix?

Just edit the image in docker-compose.yml to

services: nodered: image: ghcr.io/ct-open-source/ctnodered:latest-10 ?

8xiom commented 2 years ago

That is one of two steps. Tried this with the tags [..]:devel and [..]:latest-14 but that didn't work. You might give latest-10 a try.

I then tried to revert to the image of ctnodered which I had used before performing the update. These images are still there (except you have pruned them) having <none> as a tag. So I issued the command docker tag e3a4a917dfa9 myctnodered with e3a4.. being the IMAGE ID shown after docker image ls. I was not able to use the image name here but with the ID it worked. After that I was able to use the new local image with image: myctnodered in the docker-compose file and thankfully node red was back at work.

Of course, this is NOT a fix of the issue with the latest image which still needs to be solved.

T1ct4c commented 2 years ago

Thank you for that instruction.

After that it works again. I had to "./start.sh fix" too for authorization.

PhilippBehmer commented 2 years ago

I had the same problem and had to roll back. The version I'm running right now:

4 Dec 01:00:14 - [info] Node-RED version: v2.1.3
4 Dec 01:00:14 - [info] Node.js  version: v12.22.7
4 Dec 01:00:14 - [info] Linux 5.4.51-v7+ arm LE
4 Dec 01:00:15 - [info] Loading palette nodes

You can use this image in your docker-compose file:

ghcr.io/ct-open-source/ctnodered@sha256:6d3b1b0c98986c49b83debfc306b7e02efa6737eb10ea9da79b59f75e46ac028

8xiom commented 2 years ago

I had the same problem and had to roll back. The version I'm running right now:

4 Dec 01:00:14 - [info] Node-RED version: v2.1.3
4 Dec 01:00:14 - [info] Node.js  version: v12.22.7
4 Dec 01:00:14 - [info] Linux 5.4.51-v7+ arm LE
4 Dec 01:00:15 - [info] Loading palette nodes

You can use this image in your docker-compose file:

ghcr.io/ct-open-source/ctnodered@sha256:6d3b1b0c98986c49b83debfc306b7e02efa6737eb10ea9da79b59f75e46ac028

Thanks for that, very helpful. What puzzles me is the mix of versions compared to the image that works for me. Slightly newer node red version on your side (2.1.3 vs. 2.1.2) but as it seems to me (disclaimer: I'm no expert) a much older Linux version (5.4.51 vs. 5.10.63 on Raspi).

8xiom commented 2 years ago

Finally I can present a solution to the issue which at least worked on my side. I came across an issue with another docker container which led me to the libseccomp2 library. The problem was my outdated version of this library due to using Debian Buster (Raspbian OS 10) on my Raspi 3B+. The version I had was something like 2.3.3 which can only be updated via the Buster backport repo but not with the standard one.

Once the backport repo was added to the list (cf. https://docs.linuxserver.io/faq or https://github.com/linuxserver/docker-jellyfin/issues/71#issuecomment-733621693 how to achieve this - some additional sudo's might be necessary) the usual update commands sudo apt update/upgrade had me installed version 2.5.1 of libseccomp2.

Voilà, back in the game. Both ct-smart-home docker installations, latest and latest-14, are now running fine again on my Raspi 3B+ with Debian Buster.

I'll take this as a hint for performing the upgrade to the newest OS, though.

@T1ct4c , @PhilippBehmer: You guys might want to give it a try.

KaHeMu commented 2 years ago

@8xiom Thanks a lot for the hint. I'm a Linux newbie, followed option 2 of https://docs.linuxserver.io/faq and it worked. :-) It seems I'm running libseccomp2 2.5.1-1~bpo10+1 now. How can I find out which version of libseccomp2 I'm running on my other Raspis?

8xiom commented 2 years ago

@8xiom Thanks a lot for the hint. I'm a Linux newbie, followed option 2 of https://docs.linuxserver.io/faq and it worked. :-) It seems I'm running libseccomp2 2.5.1-1~bpo10+1 now. How can I find out which version of libseccomp2 I'm running on my other Raspis?

With e.g. dpkg --list | fgrep libseccomp