I'm attempting to sync the monero blockchain using the monerod
CLI on my M2 MacBook. However, every time the sync reaches 96% complete (2850800 blocks), the process errors with a segmentation fault. Every time I restart the daemon, it exits immediately with the same error. After running monero-blockchain-import --pop-blocks 800
and restarting the daemon, it starts syncing again, but once again hits a seg fault at 2850800. I have deleted the blockchain data twice now and restarted the daemon, first with the --db-sync-mode safe
flag, and again with that flag and the --prune-blockchain
flag, but neither seem to fix the issue.
1 Answer
This is likely the same issue as described in this GitHub issue: issues/8657.
If you installed Monero via homebrew (or another third party package manager) you will likely be building / installing a version that uses a version of the macOS SDK that appears to have an issue with the RandomX JIT (as detailed in issues/8829).
The simplest solution is to use an official release from getmonero.org/downloads. These are reproducible builds that use specific versions of all dependencies (including which macOS SDK to use). Alternatively build from source with make depends target=x86_64-apple-darwin11
or use an environment variable MONERO_RANDOMX_UMASK=8
when starting.
-
Thanks, using the MONERO_RANDOMX_UMASK override worked, though the syncing is now a bit slow. Do you think it'd be substantially faster if I just went ahead and used the older SDK? Aug 22 at 22:21
-
It probably would be since the older release contains a working RandomX JIT which is more efficient (and faster) than interpreting RandomX.– Cookie04Aug 23 at 7:56
-
-
The issue is the Mac SDK version, not the Monero version. Suggest updating the answer so users don't go downloading and installing earlier Monero versions.– jtgrassie ♦Aug 25 at 3:05
-
The problem is solved by using the latest version from getmonero.org. Is there a different solution that doesn't require using an older release? Feel free to suggest an edit to my answer or create an answer yourself.– Cookie04Aug 25 at 21:38