shermand100 / PiNodeXMR

Monero Node for Single Board Computers with Web Interface and additional tools pre-configured. Self Installing.
GNU General Public License v3.0
213 stars 41 forks source link

Monero build fails with "bus error" #46

Closed shermand100 closed 2 years ago

shermand100 commented 2 years ago

A user reported node "auto-restart" condition that the usual methods (corrupt blockchain, monero already running etc) couldn't fix on a new Bullseye build.

Testing showed our method of:

git clone --recursive -b release-v0.17 https://github.com/monero-project/monero.git cd monero/ USE_SINGLE_BUILDDIR=1 make

produces v0.17.3 (which hasn't been tagged yet) that fails whilst running with "BUS ERROR"

Note: At the conclusion of this issue I would ideally like for us to be calling for a specific tag, eg. v0.17.2.3-release to remove variation between users.

Over the past couple of days, on both RPi4 and Odroid XU4 I cannot get a monerod build to not result in "Bus Error" when running. Tests have been with Armbian Bullseye and Raspberry Pi OS Bullseye

    git clone --recursive https://github.com/monero-project/monero.git
    cd monero
    git checkout tags/v0.17.2.3
    git submodule sync && git submodule update --init --force
    USE_SINGLE_BUILDDIR=1 make release

Also noted error:

[1638136368] libunbound[1488:0] error: outgoing tcp: connect: Invalid argument for fe80::ced4:2eff:fe15:b55f port 53

Caused by NetworkManager (nmcli) using IPv6 in /etc/resolv.conf

IPv6 nmcli can be disabled by using nmcli connection show and make note of the value for "NAME".

nmcli connection modify "NAME" ipv6.method 'ignore' nmcli connection up "NAME"

Will re-populate /etc/resolv.conf with IPv4 values. libunbound is then happy.

Current Response: LIMP MODE

So a rather unusual response, however the prime purpose of this project is to have a running Monero node. Therefore the ARMv7 binaries are used:

Armbian 8ae65a3896ac1a2ad29ad391d8f2b438c3579bb7 Raspberry Pi OS 9a3991c2819a99c2d75603138dd159da7209ff89 & f7c352d7a5517af5315fec35edddbb9a99bfafb7

This means that on Initial project build and Monero update (after PiNode-XMR update to pull new updater) v0.17.2.3-release will be downloaded and placed in ~/monero/build/release/bin as usual for normal node function.

This method of install is not compatible with the Block Explorer and so currently the block explorer is not built

shermand100 commented 2 years ago

Monero build is successful and stable on "Buster" build (apart from the libunbound issue above).

Issue seems to be related to Bullseye: I have tried many, many Bullseye builds. Monero dev/Master branch, release-v0.17, tags 0.17.2.3, 0.17.1.0 on both Odroid XU4 and Rpi4 to rule out hardware.

I have also checked/double checked and added dependencies in accordance with the Monero ReadMe as there have been some changes https://github.com/monero-project/monero#compiling-monero-from-source . Including Note(1) about libgtest-dev

Still no luck. Bus Error.

I wondering then if from this list of change notes for Bullseye a package is causing issues:

https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.en.html

shermand100 commented 2 years ago

PiNodeXMR project has moved to Ubuntu 22.04 Server LTS and issue no longer persists. Since this issue Monerod is v0.18.0.0 and again may have solved issue. Cannot replicate with current systems.