Problème de Synchro avec Docker

Pour mon nœud g1-test, en voulant basculer sur l’image Docker de dev, j’ai un problème.

Après un reset data + synchro, j’ai des erreurs sur les blocs et mon nœud ne peut pas suivre les autres.

Je suis donc revenu sur l’image Docker v1.8.1, mais la, pareil ! Impossible de revenir à un nœud fonctionnel… Ce n’est pas lié à l’image Docker de dev.

Tout est automatisé avec Ansible et fonctionnait très bien jusqu’à maintenant.

Je suis passé en mode manuel, pour comprendre. Et il se trouve que j’ai un problème sur la synchro.
Si je fais :

docker run --rm -v /dev/shm:/dev/shm --name duniter_sync_shm duniter/duniter:v1.8.1 --home /dev/shm/duniter sync g1-test.duniter.org:10900

ou

docker run --rm -v /dev/shm:/dev/shm --name duniter_sync_shm duniter/duniter:dev --home /dev/shm/duniter sync g1-test.duniter.org:10900

J’ai un affichage de la progression bloqué, sans rafraîchissement, avec un statut illisible.

Progress:

Milestones:   [                    ] 0 %
Download:     [                    ] 0 %
Apply:        [                    ] 0 %
Sandbox:      [                    ] 0 %
Peers:        [                    ] 0 %

Status: ^[[9;9R

Dans /dev/shm/duniter, les fichiers de data sont bien créés mais ne grossissent pas…
Il y a du trafic réseau entre mon serveur et le serveur de sync (vérifié via tcpdump).

La commande docker reste bloquée et ne peut pas être stoppée, il faut killer le terminal… :cold_sweat:

Bref, je sèche. Une idée ?

1 Like

Ajoute le paramètre --no-interactive à ta commande sync :

docker run --rm -v /dev/shm:/dev/shm --name duniter_sync_shm duniter/duniter:dev --home /dev/shm/duniter sync g1-test.duniter.org:10900 --no-interactive

Ça te permettra d’avoir la log.

Si tu veux pouvoir faire un <Ctrl+C>, je pense que l’option -it de la commande docker run pourrait servir.

2 Likes

Merci ! La synchro ne fige plus et j’ai pu voir qu’elle allait au bout (reset data + sync depuis g1-test.duniter.org:10900).

Malheureusement, une fois terminée et le serveur relancé, je suis à nouveau largué, avec des blocs invalides…

2021-06-06T07:46:13+00:00 - info: WS2P HAy1hLpHfqrG3xsZRoBVkNigGQZnDfJK2az5MeRYtyNb: new incoming connection from 10.0.0.2:54754!
2021-06-06T07:46:13+00:00 - info: WS2P: established incoming connection from 5B8iMAzq 10.0.0.2:54754
2021-06-06T07:46:56+00:00 - info: SIDE Block #767213-00000171 added to the blockchain in 0 ms
2021-06-06T07:46:56+00:00 - info: Block resolution: 2 potential blocks after current#767198...
2021-06-06T07:46:56+00:00 - error: Error: ruleNumber
    at Function.checkBlock (/duniter/app/lib/blockchain/DuniterBlockchain.js:62:19)
    at process._tickCallback (internal/process/next_tick.js:68:7)
2021-06-06T07:46:56+00:00 - error: Error: ruleNumber
    at Function.checkBlock (/duniter/app/lib/blockchain/DuniterBlockchain.js:62:19)
    at process._tickCallback (internal/process/next_tick.js:68:7)
2021-06-06T07:46:56+00:00 - info: Fork resolution: 12 potential block(s) found...
2021-06-06T07:46:56+00:00 - info: Fork resolution: block #767199-00000401 is known as incorrect. Skipping.

Mon fichier de config est le fichier qui fonctionne depuis un an, car vérifié et reconstruit par Ansible si besoin.

La plupart du temps quand j’ai cette erreur c’est que la synchro s’est mal passée.