Raspberry Pi 5 error: <jemalloc>: Unsupported system page size
openoms opened this issue · 6 comments
Running Fulcrum v1.9.7 fails on a new Raspberry Pi 5 with the latest Raspberry OS based on Debian 12:
uname -a
Linux raspberrypi 6.1.0-rpi4-rpi-2712 #1 SMP PREEMPT Debian 1:6.1.54-1+rpt2 (2023-10-05) aarch64 GNU/Linux
The error:
sudo -u fulcrum ./Fulcrum /home/fulcrum/.fulcrum/fulcrum.conf
<jemalloc>: Unsupported system page size
<jemalloc>: Unsupported system page size
<jemalloc>: Unsupported system page size
terminate called without an active exception
Aborted
My config:
datadir = /home/fulcrum/.fulcrum/db
bitcoind = 127.0.0.1:8332
rpcuser = raspibolt
rpcpassword = xxxxxxxxxxx
# RPi optimizations
# avoid 'bitcoind request timed out'
bitcoind_timeout = 600
# reduce load (4 cores only)
bitcoind_clients = 1
worker_threads = 1
db_mem=1024
# for 4GB RAM
db_max_open_files=200
fast-sync = 1024
# server connections
# disable peer discovery and public server options
peering = false
announce = false
tcp = 0.0.0.0:50021
# ssl via nginx
Discussed here: raspiblitz/raspiblitz#4346
the PAGE_SIZE:
₿ getconf PAGE_SIZE
16384
jemalloc
might not be available in this kernel. Could it be disabled until there is a better solution?
Example in Home Assistant: https://www.home-assistant.io/installation/alternative#optimizations
You may have to build from source yourself. Or google if there is some env var to disable it. I’m not at computer now — cannot google.
First will try to build on a newer version of the Raspberry OS as got report of it working with using
kernel=kernel8.img
in the /boot/config.txt
on :
linux raspibolt 6.1.0-rpi7-rpi-2712 #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24) aarch64 GNU/Linux
Found that it is actually the higher PAGE_SIZE which causes the error.The The default on the RPi5 is :
getconf PAGE_SIZE
16384
using:
kernel=kernel8.img
in the /boot/config.txt
changes it back to:
getconf PAGE_SIZE
4096
and Fulcrum runs fine.
So the question is if we could make the jemalloc
work with the 16k PAGE_SIZE ?
Not sure about that -- why not open an issue with the jemalloc repo (they're on github too).
jemalloc is already on this growing list: raspberrypi/bookworm-feedback#107
Closing this as it will not be solved in this repo, but let it serve as a reference point for others experiencing the same.
The solution is to place the line:
kernel=kernel8.img
in the beginning of /boot/config.txt
and restart the RPi.
Thanks yeah. It really is an issue with them and outside the scope/control I have in Fulcrum. Thanks for posting the issue and finding the solution thought!