Problème synchro "broken pipe"

bonjour,

je galère à resynchroniser mon noeud, j’avais une erreur 500 et j’ai tout réinstallé, mais une fois que j’ai arrêté duniter et lancé la commande de synchro, ça fait au moins les 3/4 des blocs, puis au bout d’une dizaine d’heures ça indique :

 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: 0xef7568 v8::internal::Heap::CheckIneffectiveMarkCompact(unsigned long, double) [/opt/duniter//node/bin/node]
 7: 0xf03642 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/opt/duniter//node/bin/node]
 8: 0xf03f74 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/opt/duniter//node/bin/node]
 9: 0xf06be1 v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/opt/duniter//node/bin/node]
10: 0xeceec5  [/opt/duniter//node/bin/node]
11: 0xed673a v8::internal::Factory::NewRawOneByteString(int, v8::internal::PretenureFlag) [/opt/duniter//node/bin/node]
12: 0x10201ad v8::internal::String::SlowFlatten(v8::internal::Handle<v8::internal::ConsString>, v8::internal::PretenureFlag) [/opt/duniter//node/bin/node]
13: 0xb00b74 v8::internal::String::Flatten(v8::internal::Handle<v8::internal::String>, v8::internal::PretenureFlag) [/opt/duniter//node/bin/node]
14: 0xb0e540 v8::String::Utf8Length() const [/opt/duniter//node/bin/node]
15: 0x90df19 napi_get_value_string_utf8 [/opt/duniter//node/bin/node]
16: 0x7effd6ef0586  [/opt/duniter/node_modules/leveldown/prebuilds/linux-x64/node.napi.glibc.node]
17: 0x7effd6ef209d db_put(napi_env__*, napi_callback_info__*) [/opt/duniter/node_modules/leveldown/prebuilds/linux-x64/node.napi.glibc.node]
18: 0x906e35  [/opt/duniter//node/bin/node]
19: 0xa19e2a446a1 
/usr/bin/duniter : ligne 15 : 1064828 Abandon                 $NODE "$DUNITER_DIR/bin/duniter" "$@"
admin@monnaie:/opt$ client_loop: send disconnect: Broken pipe

si je relance la synchro ça reprend depuis le début puis ça plante pareil. J’ai largement de la place sur le disque dur. Pas beaucoup de ram en revanche, 3 Go… pourtant ça fonctionnait avant sur le même pc. Je viens de voir le “FatalProcessOutOfMemory” Je vais voir si je peux rajouter de la swap…

j’ai rajouté de la swap, redémarré, mais ça fait toujours pareil :

# free -h
               total       utilisé      libre     partagé tamp/cache   disponible
Mem:           2,9Gi       209Mi       1,4Gi       5,0Mi       1,3Gi       2,5Gi
Partition d'échange:      2,9Gi       648Mi       2,3Gi

si vous avez d’autres idées…

nouvel essai, apparemment le temps où on pouvait héberger duniter sur un vieux raspberry pi semble révolu…
D’après :

il faudrait plus de Go de ram que j’en ai.

J’ai encore agrandi la partition de swap (en espérant que ça permette de faire quelque chose) :

dd if=/dev/zero of=/SWAP bs=1024 count=5048576
chmod 600 /SWAP
mkswap /SWAP 
swapon /SWAP

dans le /etc/fstab :

/SWAP       none    swap    sw      0       0
# free -h
               total       utilisé      libre     partagé tamp/cache   disponible
Mem:           2,9Gi       235Mi        78Mi       5,0Mi       2,6Gi       2,5Gi
Partition d'échange:      5,8Gi       647Mi       5,1Gi

Ensuite je démarre la commande avec :

sudo su - duniter -c "NODE_OPTIONS=--max-old-space-size=5120 duniter --home /home/yunohost.app/duniter sync g1.duniter.org" && sudo systemctl start duniter

(j’ai supprimé l’ancienne base /home/yunohost.app/duniter/duniter_default)

plus qu’à attendre…

cela a enfin fonctionné en utilisant les paramètres et commandes indiqués plus haut…

2 Likes