Problème de sync

Bonjour,

Depuis hier soir je tente de resync mon noeud sans y arriver :confused:
je fais donc un

duniter reset data

puis un

duniter sync g1.duniter.fr 443

le download se passe très vite et la phase d’apply progresse tranquillement mais sûrement jusqu’à 63 % puis c’est le drame, les derniers % mettent plusieurs heures et une fois démarré le noeud à toujours bcp de retard et ne le rattrape pas .

Y-a-t-il un moyen plus radical de faire un reset que la commande duniter reset data ?

J’ai remarqué que l’application des blocs utilise beaucoup d’I/O : lecteur, écriture.
Ça peut quelque chose à améliorer à l’avenir.

1 Like

J’en profite pour parler d’un problème que j’observe depuis un mois environ. Régulièrement (~ 1 fois/semaine), mon nœud se désynchronise : un fork apparaît qui ne fait que s’allonger si je ne fais rien, pendant plusieurs heures. J’ai eu le même problème de resynchronisation partielle que Pafzedog. Depuis j’ai trouvé une méthode qui semble marcher : je ne fais pas de resync, mais je ferme Duniter (version desktop 1.6.23) et le relance. Il lui arrive de planter, mais j’insiste, et, quand il se décide à fonctionner, il remonte assez rapidement le fork.

Dans la version que je développe en ce moment et qui sera présentée aux RML11 à Douarnenez, la synchro complète prend moins de 5 minutes sur ma machine.

C’est donc un problème qui sera réglé en 1.7.x.

4 Likes

J’ai à nouveau un fork. Mais le redémarrage de Duniter ne semble pas résoudre le problème cette fois-ci :

gerard@hermes2:~$ duniter-desktop
[10161:10186:0425/190927.229400:ERROR:nss_util.cc(724)] After loading Root Certs, loaded==false: NSS error code: -8018
ATTENTION: default value of option force_s3tc_enable overridden by environment.
2018-04-25T19:09:40+02:00 - debug: Plugging file system…
2018-04-25T19:09:40+02:00 - debug: Loading conf…
2018-04-25T19:09:40+02:00 - debug: Configuration saved.
2018-04-25T19:09:40+02:00 - debug: Opening SQLite database “/home/gerard/.config/duniter/duniter_default/duniter.db”…
2018-04-25T19:09:40+02:00 - debug: Upgrade database…
2018-04-25T19:09:40+02:00 - info: Block resolution: 1 potential blocks after current#114382…
2018-04-25T19:09:40+02:00 - error: TypeError: Cannot read property ‘match’ of undefined
at txSourceUnlock (/opt/duniter/app/lib/indexer.js:1794:27)
at Promise.all._.where.map (/opt/duniter/app/lib/indexer.js:740:31)
at
2018-04-25T19:09:41+02:00 - info: Fork resolution: 42 potential block(s) found…
2018-04-25T19:09:41+02:00 - info: Fork resolution: 3 potential suite(s) found…
2018-04-25T19:09:41+02:00 - info: Fork resolution: HEAD = block#114382
2018-04-25T19:09:41+02:00 - info: Fork resolution: suite 1/3 (-> #114424-000002) revert to fork point block#114382
2018-04-25T19:09:41+02:00 - info: Fork resolution: suite 1/3 REFUSED block#114383: Cannot read property ‘match’ of undefined
2018-04-25T19:09:41+02:00 - info: Fork resolution: suite 2/3 (-> #114422-000004) revert to fork point block#114382
2018-04-25T19:09:41+02:00 - info: Fork resolution: suite 2/3 REFUSED block#114383: Cannot read property ‘match’ of undefined
2018-04-25T19:09:41+02:00 - info: Fork resolution: suite 3/3 (-> #114397-000004) revert to fork point block#114382
2018-04-25T19:09:41+02:00 - info: Fork resolution: suite 3/3 REFUSED block#114383: Cannot read property ‘match’ of undefined

J’ai donc fini par tout supprimer et réinstaller proprement :wink:
La syncro et l’apply ont mis approximativement … 30 s !!!
il devait donc bien y avoir un soucis quelque part ^^
cuurency-monit est de nouveau fonctionnel sur mon noeud même Wotex qui bugguait depuis un petit moment cc @elois

1 Like

30’’ ? C’est très peu, tu n’aurais pas synchro sur Ğ1-Test ?

ça m’a surprit aussi … mais non, je viens de revérifier sur mon serveur dans l’historique des commandes :
duniter sync g1.duniter.org 443

j’ai repris toute l’install donc je me suis calé sur le wiki puis j’ai fais la modif pour le daemon systemd

Je viens de refaire ma synchro, et c’est sacrément long, plusieurs heures. Vivement la 1.7 !

1 Like

Eh bah ! Entre trente secondes et plusieurs heures, je me demande ce qu’il y a entre les deux !

1 Like

Tu veux faire des stats ?:smiley:

Aucunement.
Je me demande ce qu’il y a entre vos deux instances Duniter pour avoir des résultats aussi extrêmes.
Ça peut-être les performances de la machine, la qualité de la connexion Internet, entre autres.

La phase de téléchargement est visuellement dissociée de celle d’application des blocs, donc on sait tout de suite ce qui est lent quand on synchronise.

La synchro de @Pafzedog n’a pas pu mettre 30" avec un reset complet, donc la seule autre option que je vois c’est qu’il a fait une synchro incrémentale : il a juste téléchargé la centaine de blocs de retard qu’il avait et les a appliqué. Son nœud était certainement déjà à jour.

2 Likes

Ce raisonnement me parait pertinent.
Autant, pour les deux heures, je planche pour une machine de faible puissance : de l’ordre d’une carte ARM.

en y réfléchissant un peu plus, il est fort probable que je me soit un peu mélangé les pinceaux quand j’ai voulu repartir à zéro surtout avec le rep de config de duniter que j’ai déplacé pour pouvoir le lancer en tant que service systemd.
ça a tout de même résolu les soucis que je rencontrais et c’était bien le but :wink:

Mon noeud est bloqué depuis quelques jours / semaine.
Lorsque je reboot, il smeble toujours bloquer sur le block 111499.
Il c’est passé quelque chose que j’ai manqué ?

2018-06-06T20:15:35+02:00 - info: WS2P: init: bundle of peers 1/1
2018-06-06T20:15:35+02:00 - info: Block resolution: 2 potential blocks after current#111499…
2018-06-06T20:15:35+02:00 - error: Error: ruleNumber
at Function.checkBlock (/opt/duniter/app/lib/blockchain/DuniterBlockchain.js:56:19)
at
2018-06-06T20:15:35+02:00 - error: Error: ruleNumber
at Function.checkBlock (/opt/duniter/app/lib/blockchain/DuniterBlockchain.js:56:19)
at
2018-06-06T20:15:35+02:00 - info: Block resolution: 2 potential blocks after current#111499…
2018-06-06T20:15:35+02:00 - error: Error: ruleNumber
at Function.checkBlock (/opt/duniter/app/lib/blockchain/DuniterBlockchain.js:56:19)
at
2018-06-06T20:15:35+02:00 - error: Error: ruleNumber
at Function.checkBlock (/opt/duniter/app/lib/blockchain/DuniterBlockchain.js:56:19)
at
2018-06-06T20:20:34+02:00 - warn: Error: Request failed: 500
at /opt/duniter/node_modules/nat-upnp/lib/nat-upnp/device.js:151:27
at Parser. (/opt/duniter/node_modules/xml2js/lib/xml2js.js:199:18)
at Parser.emit (events.js:160:13)
at SAXParser.saxParser.onclosetag (/opt/duniter/node_modules/xml2js/lib/xml2js.js:183:24)
at emit (/opt/duniter/node_modules/sax/lib/sax.js:624:35)
at emitNode (/opt/duniter/node_modules/sax/lib/sax.js:629:5)
at closeTag (/opt/duniter/node_modules/sax/lib/sax.js:889:7)
at SAXParser.write (/opt/duniter/node_modules/sax/lib/sax.js:1436:13)
at Parser.exports.Parser.Parser.parseString (/opt/duniter/node_modules/xml2js/lib/xml2js.js:211:31)
at Parser.parseString (/opt/duniter/node_modules/xml2js/lib/xml2js.js:6:61)
at Request._callback (/opt/duniter/node_modules/nat-upnp/lib/nat-upnp/device.js:149:14)
at Request.self.callback (/opt/duniter/node_modules/request/request.js:188:22)
at Request.emit (events.js:160:13)
at Request. (/opt/duniter/node_modules/request/request.js:1171:10)
at Request.emit (events.js:160:13)
at IncomingMessage. (/opt/duniter/node_modules/request/request.js:1091:12)
at Object.onceWrapper (events.js:255:19)
at IncomingMessage.emit (events.js:165:20)
at endReadableNT (_stream_readable.js:1101:12)
at process._tickCallback (internal/process/next_tick.js:152:19)
2018-06-06T20:20:34+02:00 - error: Unhandled rejection: Error: Request failed: 500
2018-06-06T20:20:34+02:00 - error: Error: Request failed: 500
at /opt/duniter/node_modules/nat-upnp/lib/nat-upnp/device.js:151:27
at Parser. (/opt/duniter/node_modules/xml2js/lib/xml2js.js:199:18)
at Parser.emit (events.js:160:13)
at SAXParser.saxParser.onclosetag (/opt/duniter/node_modules/xml2js/lib/xml2js.js:183:24)
at emit (/opt/duniter/node_modules/sax/lib/sax.js:624:35)
at emitNode (/opt/duniter/node_modules/sax/lib/sax.js:629:5)
at closeTag (/opt/duniter/node_modules/sax/lib/sax.js:889:7)
at SAXParser.write (/opt/duniter/node_modules/sax/lib/sax.js:1436:13)
at Parser.exports.Parser.Parser.parseString (/opt/duniter/node_modules/xml2js/lib/xml2js.js:211:31)
at Parser.parseString (/opt/duniter/node_modules/xml2js/lib/xml2js.js:6:61)
at Request._callback (/opt/duniter/node_modules/nat-upnp/lib/nat-upnp/device.js:149:14)
at Request.self.callback (/opt/duniter/node_modules/request/request.js:188:22)
at Request.emit (events.js:160:13)
at Request. (/opt/duniter/node_modules/request/request.js:1171:10)
at Request.emit (events.js:160:13)
at IncomingMessage. (/opt/duniter/node_modules/request/request.js:1091:12)
at Object.onceWrapper (events.js:255:19)
at IncomingMessage.emit (events.js:165:20)
at endReadableNT (_stream_readable.js:1101:12)
at process._tickCallback (internal/process/next_tick.js:152:19)

Duniter ne dispose pas encore d’outils de diagnostic permettant de comprendre ce qui s’est passé, donc pour l’instant je te suggère de faire un reset + resync pour rejoindre la branche.