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

RPi5 - Umbrel cannot start snowflake - Container Issue #1817

Open
gibbs19 opened this issue May 4, 2024 · 3 comments
Open

RPi5 - Umbrel cannot start snowflake - Container Issue #1817

gibbs19 opened this issue May 4, 2024 · 3 comments

Comments

@gibbs19
Copy link

gibbs19 commented May 4, 2024

I've been struggling to get both Jam and Snowflake to start after migrating from a RPi 4. I did a detailed writeup on the community page here, but I'll paste it here for visibility.

I just picked up a RPi 5 and swapped out my RPi 4 that was running Umbrel flawlessly. The Pi 4 had no issues running Bitcoin core, Electrs, Mempoo, Jam and Snowflake. I made sure Bitcoin core was up to date to v27.

As soon as the Pi 5 booted up, both Jam and Snowflake (Tor Relay) would not open, giving an unable to connect message. (It appears Jam has an issue with 1.1 and an issue has been filed).

e876c1ec74d4b5369ca2b9e433655e1e1e1dcceb

After troubleshooting for quite some time, including switching ports on the docker container as per some community posts, I resorted to doing a fresh reinstall the Pi 5 image using BalenaEtcher and wiping my 2TB hard drive connected to the Pi. The first thing I did after initialization was install Snowflake and it gave me the same error. I switched the docker ports from 3800 to 3805 and to a number of other ports without luck.

I reinstalled core, electrs, and it’s syncing without issues.

The logs are always the same for Snowflake:

snowflake_app_proxy_1  | Error waiting for port: "The address 'snowflake_web_1' cannot be found"
snowflake_app_proxy_1  | Retrying...
snowflake_app_proxy_1  | Error waiting for port: "The address 'snowflake_web_1' cannot be found"
snowflake_app_proxy_1  | Retrying...
snowflake_app_proxy_1  | Error waiting for port: "The address 'snowflake_web_1' cannot be found"
snowflake_app_proxy_1  | Retrying...
snowflake_app_proxy_1  | Error waiting for port: "The address 'snowflake_web_1' cannot be found"

The app itself does appear to be relaying traffic per the logs, but I believe the snowflake_web_1 is the frontend GUI that allows us to see the connection statuses.

Dialing into the Umbrel (using SSH), I was able to see that web was having issues starting:

$ sudo docker compose ls
NAME                STATUS                      CONFIG FILES
bitcoin             running(5)                  /usr/local/lib/node_modules/umbreld/source/modules/apps/legacy-compat/docker-compose.app_proxy.yml,/usr/local/lib/node_modules/umbreld/source/modules/apps/legacy-compat/docker-compose.common.yml,/home/umbrel/umbrel/app-data/bitcoin/docker-compose.yml
electrs             running(4)                  /usr/local/lib/node_modules/umbreld/source/modules/apps/legacy-compat/docker-compose.app_proxy.yml,/usr/local/lib/node_modules/umbreld/source/modules/apps/legacy-compat/docker-compose.common.yml,/home/umbrel/umbrel/app-data/electrs/docker-compose.yml
snowflake           restarting(1), running(2)   /usr/local/lib/node_modules/umbreld/source/modules/apps/legacy-compat/docker-compose.app_proxy.yml,/usr/local/lib/node_modules/umbreld/source/modules/apps/legacy-compat/docker-compose.common.yml,/home/umbrel/umbrel/app-data/snowflake/docker-compose.yml
umbrel              running(2)                  /usr/local/lib/node_modules/umbreld/source/modules/apps/legacy-compat/docker-compose.yml

Checking the container logs, it also confirms it’s been restarting.

$ sudo docker container ls
CONTAINER ID   IMAGE                             COMMAND                  CREATED             STATUS                        PORTS                                                                                                                        NAMES
c5c19a029e44   getumbrel/umbrel-bitcoin:v0.7.0   "docker-entrypoint.s…"   About an hour ago   Up About an hour              3006/tcp                                                                                                                     bitcoin_server_1
be59f130ac86   getumbrel/umbrel-electrs:v1.0.2   "docker-entrypoint.s…"   About an hour ago   Up About an hour              3006/tcp                                                                                                                     electrs_app_1
092dea50bdad   lncm/bitcoind:v27.0               "bitcoind -port=8333…"   About an hour ago   Up About an hour              8080/tcp, 18332-18333/tcp, 18443-18444/tcp, 28332-28333/tcp, 0.0.0.0:8332-8333->8332-8333/tcp, :::8332-8333->8332-8333/tcp   bitcoin_bitcoind_1
df6b4d4e1c24   purplei2p/i2pd:release-2.44.0     "/entrypoint.sh --sa…"   About an hour ago   Up About an hour              2827/tcp, 4444/tcp, 4447/tcp, 7070/tcp, 7650/tcp, 7654/tcp, 7656/tcp                                                         bitcoin_i2pd_daemon_1
6da43dc1d5dd   getumbrel/app-proxy:1.0.0         "docker-entrypoint.s…"   About an hour ago   Up About an hour              0.0.0.0:2100->2100/tcp, :::2100->2100/tcp                                                                                    bitcoin_app_proxy_1
9fef348b3834   getumbrel/tor:0.4.7.8             "tor"                    About an hour ago   Up About an hour                                                                                                                                           bitcoin_tor_1
28256fed0df2   getumbrel/tor:0.4.7.8             "tor"                    About an hour ago   Up About an hour                                                                                                                                           electrs_tor_1
7f17e18a0c60   getumbrel/electrs:v0.10.2         "electrs"                About an hour ago   Up About an hour              4224/tcp, 0.0.0.0:50001->50001/tcp, :::50001->50001/tcp                                                                      electrs_electrs_1
fb49a9a66c39   getumbrel/app-proxy:1.0.0         "docker-entrypoint.s…"   About an hour ago   Up About an hour              0.0.0.0:2102->2102/tcp, :::2102->2102/tcp                                                                                    electrs_app_proxy_1
520aecba431c   getumbrel/snowflake:v2.7.0        "/bin/proxy -log /da…"   About an hour ago   Up About an hour                                                                                                                                           snowflake_proxy_1
7af9eee7f11a   getumbrel/app-proxy:1.0.0         "docker-entrypoint.s…"   About an hour ago   Up About an hour              0.0.0.0:3800->3800/tcp, :::3800->3800/tcp                                                                                    snowflake_app_proxy_1
8d0547502cf7   getumbrel/gotty:v1.0.1            "gotty --port 3800 -…"   About an hour ago   Restarting (1) 1 second ago                                                                                                                                snowflake_web_1
9a20fb5d12e8   getumbrel/auth-server:1.0.5       "docker-entrypoint.s…"   About an hour ago   Up About an hour              0.0.0.0:2000->2000/tcp, :::2000->2000/tcp                                                                                    auth
13e3a4330952   getumbrel/tor:0.4.7.8             "tor"                    About an hour ago   Up About an hour         

The container logs point to a page size error:

$ sudo docker container logs 8d0547502cf7
<snip>
runtime: kernel page size (16384) is larger than runtime page size (4096)
runtime: kernel page size (16384) is larger than runtime page size (4096)
runtime: kernel page size (16384) is larger than runtime page size (4096)
runtime: kernel page size (16384) is larger than runtime page size (4096)

There are some posts online that help with setting a smaller page size, but I’m not the best with docker. Before I start messing around with the underlying system, does anyone have any ideas on how to fix this properly? Like I said, all my apps including core, eletrs, jam and snowflake worked without any issues on my RPi 4.

The Jam issue is possibly related to Jam itself, and issue was filed in their repository.

Github Issue
Community post

@gibbs19 gibbs19 changed the title RPI5 - Umbrel cannot start jam and snowflake, Possible wrong OS version linked on webpage install guide RPI5 - Umbrel cannot start jam and snowflake - Jun 19, 2024
@gibbs19 gibbs19 changed the title RPI5 - Umbrel cannot start jam and snowflake - RPI5 - Umbrel cannot start jam and snowflake - Container Issue Jun 19, 2024
@gibbs19
Copy link
Author

gibbs19 commented Jun 19, 2024

Update to this:

  1. Jam issue is resolved a little while ago.
  2. The Tor Snowflake issue is still present in 1.2, fresh install.

@gibbs19
Copy link
Author

gibbs19 commented Nov 26, 2024

Issue is still present in 1.3.

@gibbs19 gibbs19 changed the title RPI5 - Umbrel cannot start jam and snowflake - Container Issue RPi5 - Umbrel cannot start snowflake - Container Issue Dec 1, 2024
@gibbs19
Copy link
Author

gibbs19 commented Dec 1, 2024

Doing a test, a Linux install of 1.2.2 allows Snowflake to load without any issues (I couldn't upgrade to 1.3 to test, since it doesn't update properly, but that's a different issue), leading me to believe it's a platform issue since a Pi4 doesn't have this problem.

I'm happy to say i found the issue - the Pi5 uses a 16K page size while the Pi 4 uses a 4K page size.

There are numerous apps out there that has issues on the new page size on the Pi5.

Changing the kernel to kernel8.img in the config.txt file fixed this problem (thanks to this post). You do this by editing the config.txt and adding this line:

kernel=kernel8.img

The snowflake docker app image needs to be updated to support the new 16K page size, but that's outside the scope of my expertise.

Thread on solution for another project: raspberrypi/bookworm-feedback#107 (comment)
If you're booting off of a NVMe or do not want to pull the SD card out: link

Further reading:

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

No branches or pull requests

1 participant