-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Debian Bullseye build. SIGBUS, Bus error #8098
Comments
Just to clarify, are you able to build debug or release build? Seeing that you were able to run monerod, I assume you were able to compile it successfully. Regarding your bus error, can you try release-v0.17 branch + #7998 applied? |
Thanks for getting back to me so quickly. It's currently building with: git clone --recursive https://github.com/monero-project/monero.git And will likely take quite some time, I'll update on progress tomorrow (GMT) Edit1/Update: Edit2: |
So after leaving it running overnight with pull request 7998 included: Tried /monero/build/release/bin/monerod again. Same issue. Bus Error within 10 seconds of sync. Deleted /monero/build/release ./monero/build/release/bin/monerod Still same issue. Bus Error within 10 seconds of sync. Is this what you were expecting? |
@selsta I assume you're busy with the multisig stuff but I've done some more learning about debugging to try and give more useful info. So I added This was then able to build monerod with debugging flags for the pull/7998 your recomended above giving me a v0.17.0.0-release that when run normally gives the "Bus error" It's given the additional info: (Two headers below "gdb ./monerod & run" and "BT FULL") gdb ./monerod (built with pull 7998) & run
Edit 07/12/21 bulky GDB log removed for better formatting in this issue.. Wrong build. Irrelevant. |
It seems like you compiled it incorrectly (you built master branch instead of release-v0.17 branch), the backtrace shows that 7998 is missing. Can you try these steps?
Afterwards check if you still get SIGBUS error. |
So yeah, I double checked and:
Results in a v0.17.3.0-release, which I'm assuming we don't want I've manged to get a v0.17.2.3-bbabbf0d4 build (which matches the PR7998) I think? with: git clone --recursive https://github.com/monero-project/monero/ Still get SIGBUS, Bus error but different GDB output: GDB ./monerod+RUN
BT FULL
|
So when did this issue start happening exactly? And you said it happens on different hardware? Did you also try the binary from getmonero.org? Does the same issue exist there? |
So this is from the PiNodeXMR project I manage (https://github.com/monero-ecosystem/PiNode-XMR). It builds from source as we use the onion-monero-blockchain-explorer. This was reported to me by one of my users who was using the new Debian Bullseye. I replicated it with my Raspberry Pi (which now pushes Bullseye as the default OS), and Odroid XU4 using the Armbian Bullseye OS. A third user has also experienced the same with Bullseye. Using Debian Buster builds and runs Monero without this issue. As a temporary measure the project is now using the ARMv7 binaries from getmonero.org and there is no problem using them. All Error free. |
Can you show me the exact steps that are used to build the binary? (Link to the script for example) |
Edit: So there is the script method (1) below how the issue was found, but to avoid you having to dig through clutter I've added a separate header bellow (2) that shows todays build on a clean Bullseye install with resulting Bus Error: (1) ScriptSure. This was the script: https://github.com/monero-ecosystem/PiNode-XMR/blob/164a713ce3438000a7bb051fb3d086b04ea159a9/raspbian-pinodexmr.sh Dependencies install lines 27-52 In future though I'd like to build by latest tag. I have since on fresh installs followed https://github.com/monero-project/monero#compiling-monero-from-source including following note [1] of the dependencies table. So in summary, the first script of mine I linked to used to work. On finding the error I've solely relied on the Monero github instructions for building. This SIGBUS error again only on Bullseye. Either way above builds and runs fine on Buster. (2) line-by-line installDownload disk image "Armbian_21.08.6_Odroidxu4_bullseye_current_5.4.160" from https://www.armbian.com/odroid-xu4/ Login as "pinodexmr" Dependencies continued. (Note [1] of https://github.com/monero-project/monero#dependencies) Clone and build Monero
|
I want to note that I had this exact same issue on raspbian bullseye on a raspberry pi 4. It also seems to think my flash drive is a rotating disk for some reason. Thanks for the suggestion to use the armv7 binary file from getmonero.org, that solved the issue for me. |
@Monerovirus see #8104 (comment), you can ignore it. |
Tldr: Can Close. Probably an issue with underlying kernel not Monero code. The context of how this issue started is no longer a problem for me, put probably still exists. However the info below I think may help others to mitigate as I did. The PiNodeXMR project has moved from Debian Bullseye to Ubuntu Server 22.04 LTS and lots of compatibility issues have gone away. As additional info for anyone else who stumbles across this I personally suspect (but have no way of confirming) that the Ubuntu images have better support for the Cortex A-53 / 72 processors used in the Raspberry Pi 3/4. For reference there are known faults at the chip level: Arm Developer errata notice where: 835769: AArch64 multiply-accumulate instruction might produce incorrect result (page 20 of that document) To mitigate for this gcc has additional build flags: https://gcc.gnu.org/onlinedocs/gcc.pdf (Page 315)
Which Monero implemented: monero-project/monero/commit/cf10e05cc6a0ed495dbdd44ec3a76b964b14edba And can be seen working/triggered as during build. As I said above I doubt this is working properly with Debian Bullseye. Moving forward I've found that when using: Raspberry Pi 3 building with Ubuntu Server 32bit 22.04 LTS successfully builds Monero and the monero-onion-block-explorer and all functions correctly. (64 bit builds Monero but breaks block-explorer) Raspberry Pi 4 building with Ubuntu Server 64bit 22.04 LTS successfully builds Monero, monero-onion-block-explorer and P2Pool and all functions correctly. |
Thank you for the update :) I'll keep it in mind if I see a similar issue report. |
Using the steps https://github.com/monero-project/monero#compiling-monero-from-source for years on Debian Jessie/Buster worked fine.
Fresh install of Bullseye however, Monerod builds on Raspberry Pi/Odroid XU4/Rock64 (I've tried different hardware) but runs as far as synchronising blocks, then exits with "Bus error". Three other users are reporting the same issue.
Extra Help please: I'll put the readouts and logs below, but I'm annoyed I can't be of more help. I've used monero for several years and have had problems before that google usually points me in the right direction to solve. I've spent 2 days so far trying to find this issue but with my lack of experience I've hit a wall.
I would really appreciate a pointer for how to go about solving this generally should I take a web course in cmake/debugging or another topic? I feel I'm lacking skills to help in this case and as I plan to be using Monero for many more years so now's the best time to start leveling myself up. Any advice appreciated.
Anyway...
Below, separated by headers in order: Normal running with Bus Error, GDB + BT FULL (debug fails to build), CMakeError.log
Armbian 21.08.6 Bullseye with Linux 5.4.160-odroidxu4
Bullseye change notes:
https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.en.html
Running
GDB + BT FULL
Cmake output error monero (not debug)
/home/pinodexmr/monero/build/release/CMakeFiles/CMakeError.log
The text was updated successfully, but these errors were encountered: