Fuite mémoire sur duniter 1.8.2

bonjour, ce fait un moment et étant en vacances que je n’ai pas relance duniter sur mon raspberry 4
après plusieurs tentative de reset all en effaçant tout les chunck, je me retrouve après trois redémarrage de la sync avec cette error arrivé à 98%

Progress:

Milestones: [||||||||||||||||||||] 100 %
Download: [||||||||||||||||||| ] 98 %
Apply: [||||||||||||||||||| ] 96 %
Sandbox: [ ] 0 %
Peers: [ ] 0 %

Status: GOT chunck #2139/2193 from 534750 to 534999 on peer g1.nuaje.fr
<— Last few GCs —>

[17225:0x32577d8] 23001965 ms: Mark-sweep 638.8 (705.6) → 638.8 (690.6) MB, 1917.0 / 0.0 ms (average mu = 0.454, current mu = 0.000) last resort GC in old space requested
[17225:0x32577d8] 23003765 ms: Mark-sweep 638.8 (690.6) → 638.8 (690.6) MB, 1800.4 / 0.0 ms (average mu = 0.315, current mu = 0.000) last resort GC in old space requested

<— JS stacktrace —>

==== JS stack trace =========================================

Security context: 0x5f2926ed
0: builtin exit frame: parse(this=0x5f28c039 ,0xa71de55d <Very long string[6370]>,0x5f28c039 )

1: get [0x366a5271] [/opt/duniter/app/lib/dal/indexDAL/leveldb/LevelDBTable.js:18] [bytecode=0x95a91e9d offset=129](this=0x4aeaa7d9 <LevelDBTable map = 0x3725d021>,k=0x25a84421 <the_hole>)
2: /* anonymous */ [0x8964d6ad](this=0x39684609 <JSGlob...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
/usr/bin/duniter : ligne 15 : 17225 Abandon $NODE « DUNITER_DIR/bin/duniter" "@ »
-bash: sud : commande introuvable

merci pour votre aide,

Bienvenue !

Il faut de la mémoire vive pour faire une synchro.

Pour éviter ce problème, tu peux faire la synchro sur une autre machine avec plus de mémoire,
puis copier les data sur ton rasp.

Astuce : Pour accélérer une synchro quand on a beaucoup de mémoire :

1 Like

Vous pouvez aussi télécharger les chunks manuellement notamment via le script d’hugo:

Et sync votre noeud à partir de dossier local contenant les chunks:

duniter sync ./mon_dossier_chunks

Ca peut potentiellement aider.

1 Like

Hello,
j’ai tout tester de vos solutions

je crash toujours à 95% de download, même après un reset data all et plusieurs sync

@poka je ne peux pas sync sur un dossier ou j’ai récupère les chunks manuellement ???

le fait de charger les chunks manuellement cela créer une erreur aussi

et depuis upgrade en bullseyes
mon raspbian à du mal avec le WS2P en UPNP derrière ma livebox avec les ports 10900, 10901, 20900, 20901 ouvert

je suis un peu perdu dans tout mes tests pour relancer le minage

J’ai fait la synchro sur mon mac book pro avec 8Go de ram
ça à marcher, youpppiiii

et j’ai copié les fichier dans le dossier de config duniter de mon raspbian bullseye
et ça marche, synchro et minage en cours

merci

2 Likes

Cette commande ne semble pas fonctionner
Status: CANNOT_CONNECT_TO_REMOTE_FOR_SYNC

D’après duniter --help :

sync [source] [to] Synchronize blockchain from a remote Duniter node. [source] is [host][:port]. [to] defaults to remote current block number

Il me semble qu’il y avait un histoire de chemin absolu dans ce chemin ou d’option --local-sync mais je confonds peut-être avec Dunitrust (ça commence à remonter, mais bon…)