Duniter 0.90.8 | Blockchain stoppée

Version Corrective

Toujours suite au bug des membres non exclus, malgré un correctif 0.90.7, un bug persistait dans la synchronisation : celle-ci générait des informations incorrectes dans l’index des identités à exclure (elle tentait d’exclure à nouveau un membre exclu, ce qui n’est pas possible).

Cette version nécessite que vous resynchronisiez votre nœud une fois la 0.90.8 installée.

Après cette synchronisation, tout devrait rentrer dans l’ordre et la blockchain devrait avancer. A noter qu’on aura une forte diminution de la difficulté, la blockchain ayant environ 1,5 jours de retard par rapport à l’heure locale.

Resynchroniser son nœud

En ligne de commande

duniter stop
duniter reset data
duniter sync gtest.duniter.org 8999
duniter restart

Via la WebUI

Settings > Data > Full reset of the node 
Connect to an existing currency > Simplified mode > gtest.duniter.org:8999

Mettre à jour sa version

La 0.90.8 paraîtra d’ici quelques minutes.

3 « J'aime »

a jour, synchro et relancé.

@urodelus et @Galuel : si vous pouviez m’envoyer à nouveau un backup de votre nœud en MP, manifestement votre nœud bloque encore.

J’ai reçu celui de Galuel déjà, tout à l’air normal. Je ne vois pas pourquoi le bloc #8473 n’est pas trouvé.

Peut-être faut-il consulter vos logs pour aller plus loin. Je vais devoir m’absenter, je vous laisse comprendre ce qu’il se passe.

mis à jour vers .8 . J’ai essayé de t’envoyer le backup par message mais 3 fois, ça a bloqué à 88% d’upload.
Si tu en as besoin, je peux essayer de l’envoyer via framabin.

J’ai ça :

2017-02-24T14:19:21+01:00 - info: Matched 3 zeros 00062DC14DDEC552E2EA20B85EEF5C07FE6A31158E50EC5AAA97169B0696114D with Nonce = 200000062388 for block#8473 by D3nN6C
2017-02-24T14:19:21+01:00 - debug: dl starts from 8473
2017-02-24T14:19:21+01:00 - trace: Try with gtest.duniter.org:10900 C4orqu
2017-02-24T14:19:21+01:00 - debug: dl starts from 8473
2017-02-24T14:19:21+01:00 - trace: Try with gtest.duniter.fr:10900 5ocqzy
2017-02-24T14:19:21+01:00 - debug: dl starts from 8473
2017-02-24T14:19:21+01:00 - info: Will pull blocks from the network in 0 min 21 sec
2017-02-24T14:19:31+01:00 - warn: Pulling not finished after 10000 ms, restart PoW

Qu’est-ce que ça signifie ?

  • Matched 3 Zero : signifie que c’est bon il a trouvé ce qu’il faut pour le 8473 !?
  • Try with gtest.duniter.org:10900 C4orqu : il essaie de l’envoyer ?
  • 2017-02-24T14:19:21+01:00 - info: Will pull blocks from the network in 0 min 21 sec : !? ça j’ai jamais été sûr de comprendre parce que “from” signifie “venant de”, alors que “to” signifierait “vers”, donc veut-il “pousser le bloc vers”, ou bien “prendre un block de” !? Ce n’est pas clair pour moi.
  • 2017-02-24T14:19:31+01:00 - warn: Pulling not finished after 10000 ms, restart PoW : signifie que l’opération “prendre un block de” ou bien “pousser un bloc vers” ne s’est pas effectuée dans le temps imparti pour une raison quelconque !?
  • 2017-02-24T14:23:58+01:00 - warn: Pulling not finished after 10000 ms, restart PoW : le pull qui n’est pas fini implique qu’on va redémarrer une Proof of Work (recherche de hash valide), donc il boucle !?

Pas mieux, j’envoie l’export:
2017-02-24T14:26:59+01:00 info Pulling blocks from the network…
2017-02-24T14:27:00+01:00 debug dl starts from 8473
2017-02-24T14:27:00+01:00 debug dl starts from 8473
2017-02-24T14:27:00+01:00 debug dl starts from 8473
2017-02-24T14:27:00+01:00 debug dl starts from 8473
2017-02-24T14:27:00+01:00 info Will pull blocks from the network in 3 min 30 sec
2017-02-24T14:27:10+01:00 warn Pulling not finished after 10000 ms, restart PoW

Bon alors il semblerait qu’il cherchait non pas 3 zéro mais 4 zéros (comment savoir !?) puisque cette séquence semble être la trace que le bloc 8473 a été trouvé :

2017-02-24T14:35:18+01:00 - info: Matched 4 zeros 00001D601848A81A462B1DE062ED847DDA0F426CE2179E161B4C65267ED90ED3 with Nonce = 200000077518 for block#8473 by D3nN6C
2017-02-24T14:35:18+01:00 - info: ENGINE #2 HAS FOUND A PROOF
2017-02-24T14:35:18+01:00 - info: Stop proof-of-work worker #1
2017-02-24T14:35:18+01:00 - info: Stop proof-of-work worker #2
2017-02-24T14:35:18+01:00 - info: Done: 00001D601848A81A462B1DE062ED847DDA0F426CE2179E161B4C65267ED90ED3 in 763.31s (77517 tests, ~101.55 tests/s)
2017-02-24T14:35:18+01:00 - info: FOUND proof-of-work with 4 leading zeros followed by [0-7]!
2017-02-24T14:35:20+01:00 - trace: Link 9 X> 11
2017-02-24T14:35:20+01:00 - trace: Link 9 X> 14
2017-02-24T14:35:20+01:00 - trace: Link 9 X> 23
2017-02-24T14:35:20+01:00 - info: Block #8473 added to the blockchain in 1189 ms
2017-02-24T14:35:20+01:00 - trace: PoW loops = 1
2017-02-24T14:35:20+01:00 - debug: Trial = 1152, powMin = 72, pubkey = D3nN6C
2017-02-24T14:35:20+01:00 - warn: Too high difficulty: waiting for other members to write next block
2017-02-24T14:35:20+01:00 - debug: --> new Block to be sent to 13 peer(s)
2017-02-24T14:35:20+01:00 - info: POST Block block#8473
2017-02-24T14:35:20+01:00 - debug: --> to peer HnFcSms8jz [member] (cgeek.fr:10900) 2017-02-24T14:35:20+01:00 - debug:–> to peer 2pyPsXM8UC [member] (jytou.info:8999)
2017-02-24T14:35:20+01:00 - debug: --> to peer CSjgcGguFJ [member] (82.239.120.237:30398) 2017-02-24T14:35:20+01:00 - debug:–> to peer 7tuTjCfZ7M [member] (gtest3.elois.org:8999)
2017-02-24T14:35:20+01:00 - debug: --> to peer 7iBkcyryui [member] (90.9.227.204:8999) 2017-02-24T14:35:20+01:00 - debug:–> to peer ATkjQPa4sn [member] (urodelus.ddns.net:62150)
2017-02-24T14:35:20+01:00 - debug: --> to peer 5ocqzyDMMW [member] (gtest.duniter.fr:10900) 2017-02-24T14:35:20+01:00 - debug:–> to peer XeBpJwRLkF [member] (duniter.help-web-low.fr:8999)
2017-02-24T14:35:20+01:00 - debug: --> to peer C4orqutdb3 [------] (gtest.duniter.org:10900) 2017-02-24T14:35:20+01:00 - debug:–> to peer 8Cq6UFyJMt [------] (wotex.cgeek.fr:63700)
2017-02-24T14:35:20+01:00 - debug: --> to peer TENGx7WtzF [------] (remuniter.cgeek.fr:16120) 2017-02-24T14:35:20+01:00 - debug:–> to peer 8marFcm8bc [------] (gtest.duniter.tednet.fr:8999)
2017-02-24T14:35:20+01:00 - debug: `–> to peer CpFjJMdw15 [------] (gtest.mlo.ifee.fr:8999)
2017-02-24T14:35:28+01:00 - warn: PoW engine has exited.

1 « J'aime »

Oui j’affiche les quasi-preuves dans les logs, histoire de montrer que le nœud ne glandouille pas.

En tout cas je suis heureux de voir que vous avez débloqué la situation sans moi, ça prouve que je suis de moins en moins utile. Tant mieux :slight_smile:

@urodelus c’est bizarre, on dirait que ton nœud ne veut pas calculer. Tu es bien toujours membre ? Également, dans ton fichier de conf, le champ participate existe-t-il et si oui, sa valeur est-elle a false ?

1 « J'aime »

J’ai resynchronisé mon nœud dans l’après-midi après une nouvelle nouvelle installation. Il a de suite ou presque trouvé le block #8480 (difficulté 74). Je viens de remettre en service je suis bien membre, participe = true, synchro block @8483 mais en attente de meilleures conditions… Pour moi à 20h, RAS… à suivre !

1 « J'aime »

@Galuel le nombre de 0 à trouver dépend de la difficulté en cours.

En tout cas @urodelus a au moins calculé le bloc 8499… (peut-être d’autres avant, je viens de tomber sur celui-là par hasard)

Ça a l’air d’être bien reparti. Je pense qu’on est tranquille pour ce bug désormais :thumbsup:

2 « J'aime »

Question bête: pourquoi est-ce que la diff a descendu autant? Parce qu’on a perdu du retard sur la “wallclock”?

… parce qu’avec un bloc à la seconde… ça s’emballe un peu! :smiley: Il aurait peut-être fallu s’emballer plus rapidement vu l’énorme différence de temps. Après je n’ai jamais étudié de prés les kimoto wravity well and co et je sais pas ce qui a été choisi pour duniter et pt’êt qu’on fait pas moins bien de toute façon… bref, délire de vendredi soir…

… et à force d’aller trop vite (diff 44) on perd des nœuds en route. Le mien n’a visiblement pas réussi à se synchro et traîne sur un vieux bloc… en attente de nouveaux blocs qui existent déjà. Je crois que je vais pas tarder à faire un export… :slight_smile:

Edit: il est reparti… et s’est arrêté de nouveau. On en arrive à un point où il devient contre-productif de faire des blocs trop vite parce que les nœuds passent plus de temps à essayer de se synchro et se prennent des timeout que de calculer des blocs. :frowning:

C’est simple : le temps avance beaucoup plus rapidement pour chaque bloc pour rattraper le retard, et donc on a beaucoup moins d’un bloc pour 5 minutes de temps écoulé.

Donc d’un point de vue protocole, c’est que la difficulté est trop élevée. Donc qu’il faut la diminuer.

Ce processus continue jusqu’à ce qu’au contraire, le temps n’avance pratiquement plus pour chaque bloc, précisément car la difficulté est trop faible. Alors elle augmente. Jusqu’à trouver un point d’équilibre.

2 « J'aime »

Ca y ai la blockchain a déjà rattrapée son retard :slight_smile:
la difficulté va progressivement remontée maintenant !

EDIT : bon par contre on a plein de fork réseau c’est la pagaille ^^

Mon nœud et celui de cgeek semblent coincés sur le même bloc… dans un fork qui a forké au 8766:

nœud gtest.duniter.fr:10900 : http://gtest.duniter.org:10900/blockchain/block/8766
-> hash": “0015E1917F9ABEA8D2EA3B541B480795BF4E1C53E0C9173B5B0153FBBE4F29A7”

nœud jytou.info:8999 : http://jytou.info:8999/blockchain/block/8766
hash": “0031CBAC89AEA6363CA3623770CDA267832FF86379F4353FB057F652913BB038”,

… et on a embarqué avec nous gtest.duniter.org

Et par contre ce que je ne comprends pas, c’est que mon duniter desktop indique qu’on en est au bloc… 8865 (alors qu’il calcule comme un fou pour trouver le 8767 sur le fork).

Pendant ce temps, les autres semblent faire leur petit bonhomme de chemin à un bloc toutes les 5 minutes…

Bon je vais quand même attendre l’avis de cgeek ou autres avant de lancer une synchro sur un autre nœud pour rallier le train, des fois que vous vouliez investiguer…

Edit: mon nœud affiche maintenant qu’on en est au bloc 8766 (ce qui est plus logique) et j’ai des traces en pagaille où il part en boucle quand il trouve les nouveaux blocs sur le réseau:

2017-02-25T09:51:20+01:00 - trace: SWITCH: get absolute #8765-00296CB007120170FA5325AAF8DDAD0EB6FFBC6DE4A427561B0DACD6B9847F5B…
2017-02-25T09:51:20+01:00 - trace: SWITCH: main chain current = #8765-00296CB007120170FA5325AAF8DDAD0EB6FFBC6DE4A427561B0DACD6B9847F5B…
2017-02-25T09:51:20+01:00 - trace: SWITCH: apply side block #8766-0031CBAC89AEA6363CA3623770CDA267832FF86379F4353FB057F652913BB038 -> #8765-00296CB007120170FA5325AAF8DDAD0EB6FFBC6DE4A427561B0DACD6B9847F5B…
2017-02-25T09:51:21+01:00 - info: Block #8766 added to the blockchain in 603 ms
2017-02-25T09:51:23+01:00 - trace: SWITCH: 2 branches…
2017-02-25T09:51:23+01:00 - trace: SWITCH: 1 potential side chains…
2017-02-25T09:51:23+01:00 - info: SWITCH: get side chain #8865-0009F65EE06C812C1FCC8BBBFF35025328E362725D716A7B74B5419F7CD52AD5…
2017-02-25T09:51:23+01:00 - trace: SWITCH: get absolute #8864-000617C1B5E4AB0AC9E6927432C08A7EA97FED84D173BE56CA8418E6BCF92F81…
2017-02-25T09:51:23+01:00 - trace: SWITCH: get absolute #8863-0001240DDA387C3F380DAE6BEC44916509A8816C9230BE42896B22C50A559AC9…
2017-02-25T09:51:23+01:00 - trace: SWITCH: get absolute #8862-000427A5F5BEFCA062DB5BC0C5E739007C7DB05CD69F0BF3AD9D24B949D8F272…

2017-02-25T09:51:24+01:00 - trace: SWITCH: get absolute #8768-002AB989117E866A2647722A6B81105D58AD126237B29E13509FA2ACDF065AFF…
2017-02-25T09:51:24+01:00 - trace: SWITCH: get absolute #8767-0017A2F8C344D659E606F92C3DB0A080DC0C7EA22A620CCD1A748191339EC949…
2017-02-25T09:51:24+01:00 - trace: SWITCH: get absolute #8766-0062F5C64FCDC06AF9C83A59ABE1E42D9292424385B369E8A0399282BE65971E…
2017-02-25T09:51:24+01:00 - trace: SWITCH: get absolute #8765-00296CB007120170FA5325AAF8DDAD0EB6FFBC6DE4A427561B0DACD6B9847F5B…
2017-02-25T09:51:24+01:00 - info: SWITCH: revert main chain to block #8765…
2017-02-25T09:51:24+01:00 - trace: SWITCH: main chain current = #8766-0031CBAC89AEA6363CA3623770CDA267832FF86379F4353FB057F652913BB038…
2017-02-25T09:51:24+01:00 - trace: SWITCH: main chain revert #8766-0031CBAC89AEA6363CA3623770CDA267832FF86379F4353FB057F652913BB038…
2017-02-25T09:51:24+01:00 - debug: Reverting block #8766…
2017-02-25T09:51:24+01:00 - debug: Reverted block #8766
2017-02-25T09:51:24+01:00 - info: SWITCH: apply side chain #8865-0009F65EE06C812C1FCC8BBBFF35025328E362725D716A7B74B5419F7CD52AD5…
2017-02-25T09:51:24+01:00 - trace: SWITCH: apply side block #8766-0062F5C64FCDC06AF9C83A59ABE1E42D9292424385B369E8A0399282BE65971E -> #8765-00296CB007120170FA5325AAF8DDAD0EB6FFBC6DE4A427561B0DACD6B9847F5B…
2017-02-25T09:51:24+01:00 - warn: SWITCH: error Error: ruleMedianTime
at Error (native)
at /opt/duniter/sources/app/lib/computation/blockchainContext.js:139:62
at next ()
at onFulfilled (/opt/duniter/sources/node_modules/co/index.js:65:19)
2017-02-25T09:51:24+01:00 - trace: SWITCH: get absolute #8765-00296CB007120170FA5325AAF8DDAD0EB6FFBC6DE4A427561B0DACD6B9847F5B
2017-02-25T09:51:24+01:00 - trace: SWITCH: main chain current = #8765-00296CB007120170FA5325AAF8DDAD0EB6FFBC6DE4A427561B0DACD6B9847F5B
2017-02-25T09:51:24+01:00 - trace: SWITCH: apply side block #8766-0031CBAC89AEA6363CA3623770CDA267832FF86379F4353FB057F652913BB038 -> #8765-00296CB007120170FA5325AAF8DDAD0EB6FFBC6DE4A427561B0DACD6B9847F5B

Bref…

Edit 2: encore quelques traces:

2017-02-25T10:05:59+01:00 - warn: Pulling not finished after 10000 ms, restart PoW
2017-02-25T10:06:04+01:00 - trace: It must be given at least DNS or one IP, either v4 or v6
2017-02-25T10:06:28+01:00 - debug: Document write error: Unknown reference block of peer
2017-02-25T10:06:28+01:00 - error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - trace: Try with 87.91.122.123:9330 BmDsoz
2017-02-25T10:06:29+01:00 - debug: Document write error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - debug: Document write error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - debug: Document write error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - debug: Document write error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - debug: Document write error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - debug: Document write error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - debug: Document write error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - debug: dl starts from 8767
2017-02-25T10:06:29+01:00 - debug: Document write error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - debug: Document write error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - debug: Document write error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - debug: Document write error: Unknown reference block of peer
2017-02-25T10:06:29+01:00 - error: Unknown reference block of peer
2017-02-25T10:06:30+01:00 - debug: dl starts from 8817
2017-02-25T10:06:30+01:00 - debug: apply starts from 8767
2017-02-25T10:06:30+01:00 - debug: Applying from 8767
2017-02-25T10:06:30+01:00 - debug: Peer BmDsoz has forked
2017-02-25T10:06:30+01:00 - trace: Checking if node D3nN6C is UP… (88.190.82.70:30118)
2017-02-25T10:06:31+01:00 - info: Blocks were not applied.
2017-02-25T10:06:31+01:00 - trace: Try with wotex.cgeek.fr:63700 8Cq6UF
2017-02-25T10:06:31+01:00 - debug: dl starts from 8767
2017-02-25T10:06:32+01:00 - debug: dl starts from 8817
2017-02-25T10:06:32+01:00 - debug: apply starts from 8767
2017-02-25T10:06:32+01:00 - debug: Applying from 8767
2017-02-25T10:06:32+01:00 - debug: Peer 8Cq6UF has forked
2017-02-25T10:06:33+01:00 - info: Blocks were not applied.
2017-02-25T10:06:33+01:00 - trace: Try with gtest.duniter.org:10900 C4orqu
2017-02-25T10:06:33+01:00 - debug: dl starts from 8767
2017-02-25T10:06:33+01:00 - info: Will pull blocks from the network in 3 min 59 sec
2017-02-25T10:06:33+01:00 - info: Pulling blocks from the network…
2017-02-25T10:06:33+01:00 - trace: Try with 82.239.120.237:30398 CSjgcG
2017-02-25T10:06:33+01:00 - debug: dl starts from 8767
2017-02-25T10:06:33+01:00 - trace: Peer D3nN6CsWFPmqcWdjNJbE1PcHXyjWaBQPpAFn1ZyXRAAU is DOWN (EHOSTUNREACH)
2017-02-25T10:06:34+01:00 - debug: Will check that node D3nN6C (88.190.82.70:30118) is UP in 60 min…
2017-02-25T10:06:34+01:00 - debug: dl starts from 8817
2017-02-25T10:06:34+01:00 - debug: apply starts from 8767
2017-02-25T10:06:34+01:00 - debug: Applying from 8767
2017-02-25T10:06:34+01:00 - debug: Peer CSjgcG has forked
2017-02-25T10:06:35+01:00 - info: Blocks were not applied.
2017-02-25T10:06:35+01:00 - debug: Fork of CSjgcG has blockDistance 1480.00 ; timeDistance 473.22 ; required is >= 30 for both values to try to follow the fork
2017-02-25T10:06:39+01:00 - trace: SWITCH: 2 branches…

Du coup je pense que si gtest.duniter.org repart sur la bonne chaîne, mon nœud risque de suivre…

Oui, du coup j’ai manuellement basculé gtest.duniter.org sur la branche qui avance. Pareil pour mon nœud cgeek.fr.

Peut-être un bug de rafraîchissement.

Non ce n’est pas la peine, l’accélération brutale est vraiment un épisode particulier qui fout en l’air les nœuds qui ne suivent pas.

Cela me fait penser : il serait bon d’avoir une “difficulté minimale” de preuve de travail, afin de ne jamais avoir des preuves « trop » faciles. Par exemple, une preuve à 4 zéros prend quasi systématiquement plusieurs dizaines de secondes voire quelques minutes pour un nœud seul.

Cela permettrait d’avoir une synchronisation minimale, même en cas de reprise en arrière comme on l’a fait.

https://github.com/duniter/duniter/issues/846