-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Open
Labels
Description
Version: Monero 'Fluorine Fermi' (v0.18.4.3-release)
When running monerod on Raspberry Pi 5 (ARM64) with a hardened systemd unit, enabling MemoryDenyWriteExecute=yes causes the daemon to crash immediately after startup. Disabling this directive allows monerod to run normally.
journalctl log excerpt:
systemd[1]: Started Monero Daemon.
monerod[1234]: 2025-10-27 12:34:57.123 I SYNCHRONIZATION started
systemd[1]: monerod.service: Main process exited, code=killed, status=11/SEGV
systemd[1]: monerod.service: Failed with result 'signal'.
systemd[1]: monerod.service: Scheduled restart job, restart counter is at 3.
systemd[1]: Started Monero Daemon.Minimal monerod.service file to reproduce:
[Unit]
Description=Monero Daemon
After=network-online.target
[Service]
User=monerod
Group=monerod
ExecStart=/usr/local/bin/monerod --non-interactive --config-file=/etc/monerod.conf
Restart=on-failure
RestartSec=5s
WorkingDirectory=/srv/monero-data
MemoryDenyWriteExecute=yes
[Install]
WantedBy=multi-user.targetI'm not sure why MemoryDenyWriteExecute=yes causes monerod to crash, but I'd appreciate clarification. Is this related to JIT, cryptographic operations, or another technical requirement? I understand this directive is intended for security hardening, but would like to know why Monero needs executable memory mappings.