Duniter erreur synchro suite fork

Bonjour à tous,

Je cherche depuis plusieurs jours sans résultats alors je me suis décider à demander un coup de main.
Je fais tourner duniter serveur 1.8.6 sur linux mint.
Plusieurs tentatives de synchro via la commande “duniter sync g1.duniter.org” me renvoient un problème de manque de mémoire. Je ne parviens pas à modifier le réglage :thinking:

Voici les logs :


> Milestones:   [||||||||||||||||||||] 100 %
> Download:     [||||||||||||||||||| ] 96 %
> Apply:        [||||||||||||||||||  ] 94 %
> Sandbox:      [                    ] 0 %
> Peers:        [                    ] 0 %
> 
> Status: Peers...
> <--- Last few GCs --->
> 
> [31795:0x3af38b0] 10312268 ms: Mark-sweep 1193.7 (1327.6) -> 1193.6 (1296.6) MB, 521.6 / 0.0 ms  (average mu = 0.479, current mu = 0.000) last resort GC in old space requested
> [31795:0x3af38b0] 10312791 ms: Mark-sweep 1193.6 (1296.6) -> 1193.6 (1296.6) MB, 522.8 / 0.0 ms  (average mu = 0.310, current mu = 0.000) last resort GC in old space requested
> 
> 
> <--- JS stacktrace --->
> 
> ==== JS stack trace =========================================
> 
> Security context: 0x1cd776c1e6c1 <JSObject>
>     0: builtin exit frame: parse(this=0x1cd776c119f9 <Object map = 0xf58170842a9>,0x3dd0dc9619e1 <Very long string[18799]>,0x1cd776c119f9 <Object map = 0xf58170842a9>)
> 
>     1: get [0x272076af7799] [/opt/duniter/app/lib/dal/indexDAL/leveldb/LevelDBTable.js:~16] [pc=0x3499a45ed980](this=0x393cfc7ff169 <LevelDBTable map = 0x13cb657313d9>,k=0x0823e1c02801 <the_hole>)
>     2: /* anonymous */ [0x3dd0dc...
> 
> FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
>  1: 0x8fb090 node::Abort() [/opt/duniter//node/bin/node]
>  2: 0x8fb0dc  [/opt/duniter//node/bin/node]
>  3: 0xb031ce v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/opt/duniter//node/bin/node]
>  4: 0xb03404 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/opt/duniter//node/bin/node]
>  5: 0xef7462  [/opt/duniter//node/bin/node]
>  6: 0xf06c7f v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/opt/duniter//node/bin/node]
>  7: 0xecfcd6 v8::internal::Factory::AllocateRawArray(int, v8::internal::PretenureFlag) [/opt/duniter//node/bin/node]
>  8: 0xed055a v8::internal::Factory::NewFixedArrayWithFiller(v8::internal::Heap::RootListIndex, int, v8::internal::Object*, v8::internal::PretenureFlag) [/opt/duniter//node/bin/node]
>  9: 0xed0600 v8::internal::Handle<v8::internal::FixedArray> v8::internal::Factory::NewFixedArrayWithMap<v8::internal::FixedArray>(v8::internal::Heap::RootListIndex, int, v8::internal::PretenureFlag) [/opt/duniter//node/bin/node]
> 10: 0x100b430 v8::internal::HashTable<v8::internal::StringTable, v8::internal::StringTableShape>::NewInternal(v8::internal::Isolate*, int, v8::internal::PretenureFlag) [/opt/duniter//node/bin/node]
> 11: 0x100b48e v8::internal::HashTable<v8::internal::StringTable, v8::internal::StringTableShape>::New(v8::internal::Isolate*, int, v8::internal::PretenureFlag, v8::internal::MinimumCapacity) [/opt/duniter//node/bin/node]
> 12: 0x101e43f v8::internal::HashTable<v8::internal::StringTable, v8::internal::StringTableShape>::EnsureCapacity(v8::internal::Handle<v8::internal::StringTable>, int, v8::internal::PretenureFlag) [/opt/duniter//node/bin/node]
> 13: 0x101e645 v8::internal::StringTable::LookupKey(v8::internal::Isolate*, v8::internal::StringTableKey*) [/opt/duniter//node/bin/node]
> 14: 0xed1502 v8::internal::Factory::InternalizeOneByteString(v8::internal::Handle<v8::internal::SeqOneByteString>, int, int) [/opt/duniter//node/bin/node]
> 15: 0xfc2fe8 v8::internal::JsonParser<true>::ScanJsonString() [/opt/duniter//node/bin/node]
> 16: 0xfc7f58 v8::internal::JsonParser<true>::ParseJsonValue() [/opt/duniter//node/bin/node]
> 17: 0xfc74dc v8::internal::JsonParser<true>::ParseJsonObject() [/opt/duniter//node/bin/node]
> 18: 0xfc7f90 v8::internal::JsonParser<true>::ParseJsonValue() [/opt/duniter//node/bin/node]
> 19: 0xfc8425 v8::internal::JsonParser<true>::ParseJsonArray() [/opt/duniter//node/bin/node]
> 20: 0xfc7fa0 v8::internal::JsonParser<true>::ParseJsonValue() [/opt/duniter//node/bin/node]
> 21: 0xfc74dc v8::internal::JsonParser<true>::ParseJsonObject() [/opt/duniter//node/bin/node]
> 22: 0xfc7f90 v8::internal::JsonParser<true>::ParseJsonValue() [/opt/duniter//node/bin/node]
> 23: 0xfc8004 v8::internal::JsonParser<true>::ParseJson() [/opt/duniter//node/bin/node]
> 24: 0xbd7ad8 v8::internal::Builtin_JsonParse(int, v8::internal::Object**, v8::internal::Isolate*) [/opt/duniter//node/bin/node]
> 25: 0x3499a16dbf7d 
> /usr/bin/duniter : ligne 15 : 31795 Abandon                 
(core dumped) $NODE "$DUNITER_DIR/bin/duniter" "$@"

Merci par avance pour votre aide et belle soirée.
Brice

t’ as surveiller les cpu s’ ils débodent pas trop dans le top ?
pendant la syncro et plutot vers la fin avec le 1.8.5 arm j’ ai beau mettre cpu=0.1 dans conf.json ça déborde

La conf cpu=<value> n’est pas utilisée pour la synchro mais pour le calcul de la PoW.

L’erreur remontée par @BriceV indique un dépassement de mémoire.
=> Je renvoie à ce fil de discussion : Duniter error "The transactions' sandbox is full" : Nœud désynchronisé - #11 by Pini

@ness merci pour ton retour, oui le cpu est ok, ça le sature pas.

@Pini Merci pour le lien j’avais pas vu ce fil, je teste ça.

en fait dans le top c’est tout en haut à droite que le ‘‘load average’’ est mentioné et que l’ on peut véritablement savoir si par exemple avec quatre coeurs au milieu de la syncro le nombre est supérieur à 4 ( 6coeur = 6 max etc …)

merci de la précision et puis c’est justement avec la synchro qu’ il y avait des soucis donc les processeurs débordés surchargent aussi la mémoire in fine et visversa

@ness après vérification, le cpu est sollicité entre 80 et 100 % effectivement

Le réglage d’utilisation du cpu n’est effectivement pas pris en compte :thinking:
Ca baisse à 50 % pendant un temps puis ça repart au delà de 80%

Toujours pas de synchro complète malgrès l’application des conseils donnés dans le fil envoyé par @Pini
Je suis passé de la version 1.8.6 à la version 1.8.5, j’attends la fin de la synchro

Edit : la synchro s’est bien terminée, le noeud semble tourner normalement…

2 Likes