e-Gulden Forum

e-Gulden => Ontwikkeling en technische discussie => Topic gestart door: stefxx op 29 januari 2018, 15:18:54

Titel: "Segmentation fault" on Raspberry Pi
Bericht door: stefxx op 29 januari 2018, 15:18:54
Hi, ik probeer de egulden daemon (eguldend, egulden-cli) te draaien op een Raspberry Pi (model A). Ik kom echter niet verder dan "Segmentation fault", wat ik ook probeer.

Heeft iemand al alleen de daemon aan de praat (ik bedoel dus niet de normale egulden-qt client) op een Raspberry Pi en mij kan vertellen wat ik verkeerd doe?

Dank!
Titel: Re: "Segmentation fault" on Raspberry Pi
Bericht door: AmazingDreams op 29 januari 2018, 16:20:49
Hi stefxx,

Ik denk dat de Raspberry Pi model A simpelweg niet genoeg RAM geheugen heeft om de e-Gulden wallet te draaien. Je kunt proberen om mbv een 'swapfile' meer werkgeheugen te krijgen maar ik durf niet te zeggen of het daarmee gaat lukken. Zie https://raspberrypi.stackexchange.com/a/1605

Voor zover ik weet werkt het pas vanaf de Raspberry Pi 2. Op mijn 64 bits linux piekt het RAM gebruik op pak 'm beet 2GB. De raspberry pi model A heeft maar 256MB geheugen en als je daarboven gaat kan dat segfaults veroorzaken.
Titel: Re: "Segmentation fault" on Raspberry Pi
Bericht door: stefxx op 29 januari 2018, 22:48:20
Dank voor je bericht. Bij nadere inspectie heb ik overigens een Model B+ met 512MB. Nog steeds de helft van een 2 of 3, maar desnoods met een klein beetje swap zou het in ieder geval moeten starten. Maar zelfs 2048MB swap geeft geen verbetering.

Ik begin te vermoeden dat alleen de -qt (grafische) client werkt op een RPi. Ik ga verder testen en proberen, maar als iemand nog een goed idee heeft?
Titel: Re: "Segmentation fault" on Raspberry Pi
Bericht door: AmazingDreams op 30 januari 2018, 09:25:41
Komt er nog iets te staan in ~/.egulden/debug.log? Of heeft ie zelfs daar geen tijd voor?
Titel: Re: "Segmentation fault" on Raspberry Pi
Bericht door: stefxx op 30 januari 2018, 19:51:28
Nee niks. De Segmentation fault is direct na starten. Geen tijd om ook maar iets te doen of te loggen.
Titel: Re: "Segmentation fault" on Raspberry Pi
Bericht door: AmazingDreams op 01 februari 2018, 09:25:36
Moeilijk te zeggen wat het probleem is. Zou je eens valgrind kunnen installeren en uitvoeren als volgt:

valgrind --log-file="valgrind.log" egulden-qt
Dan graag de valgrind.log emailen naar support@e-gulden.org.
Titel: Re: "Segmentation fault" on Raspberry Pi
Bericht door: stefxx op 02 februari 2018, 20:08:20
Bedankt! Nogmaals, het gaat me echt om de daemon, dus ik heb dit commando uitgevoerd:

valgrind --log-file="valgrind.log" ./eguldend
Dit loopt na 10 minuten nog, maar de logfile loopt niet verder op. Ik zal hem mailen, hopelijk kun je er iets mee.
Titel: Re: "Segmentation fault" on Raspberry Pi
Bericht door: AmazingDreams op 04 februari 2018, 17:24:40
Je kunt eens proberen om zelf vanaf de broncode te builden. De instructies staan hier: https://gitlab.com/electronic-gulden-foundation/egulden/blob/master/doc/build-unix.md

Gaat dat zo lukken? De commando's staat een beetje verspreid door het document, en ik denk dat het best een tijd kan duren op een PI.

$ sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils libdb++-dev
$ sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
$ git clone https://gitlab.com/electronic-gulden-foundation/egulden.git
$ cd egulden
$ ./autogen.sh
$ ./configure --with-incompatible-bdb
$ make

Aangenomen dat er geen fouten zijn opgetreden staan de binaries nu in ./src/eguldend en ./src/egulden-cli
Titel: Re: "Segmentation fault" on Raspberry Pi
Bericht door: stefxx op 04 februari 2018, 17:29:09
Dank Dennis. Het compileren op een B+ duurt minstens 30 uur, maar dan werkt het wel.

Voor anderen die hetzelfde willen proberen, je moet ook nog git installeren (sudo apt-get install git).

Nog een laatste vraag; de gecompileerde files zijn bijna 10 keer zo groot. Zo is eguldend iets van 87MB, terwijl die normaal maar ruim 8MB is. Enig idee waarom?

Nu kijken of alles werkt (en een beetje te doen is op een B+)...
Titel: Re: "Segmentation fault" on Raspberry Pi
Bericht door: AmazingDreams op 05 februari 2018, 12:29:41
De files zijn zo groot omdat alle debug symbolen er nog in zitten.

Je kunt ze kleiner maken door:

$ strip src/eguldend
$ strip src/egulden-cli
$ strip src/egulden-tx
$ strip src/qt/egulden-qt

Dan zijn ze als het goed is zelfs kleiner dan de bestanden die je kunt downloaden omdat alle libraries en dergelijke niet in de binaries zitten.
Titel: Re: "Segmentation fault" on Raspberry Pi
Bericht door: stefxx op 05 februari 2018, 21:32:16
Kijk, zo leer je nog eens wat...

Inmiddels is de RPi B+ up and running. Tot twee keer aan toe getracht de blockchain te downloaden maar die blijft hangen na een paar honderd blocks. Dus toen maar de blocks van een Windows PC gekopieerd naar de RPi, en daarna herstart. Sindsdien draait 'ie netjes en lijkt geen moeite te hebben het bij te houden. Geheugenverbruik is ca. 250MB, CPU 10%. Wat mij betreft een succesvolle proef dus, en kan ik mijn oude RPi B+ weer zinnig inzetten!

Dank voor alle hulp!