G1-test dans les choux ? État monnaie

Quand je vais sur http://g1-test.duniter.fr/#/app/network je vois que le dernier bloc a été trouvé hier en fin d’après-midi.

En regardant les logs de mon nœud, je vois bien qu’il cherche le bloc suivant, mais j’ai régulièrement cette erreur :

2018-02-15T09:11:45+01:00 - info: Block resolution: 8 potential blocks after current#137077...
2018-02-15T09:11:46+01:00 - error:  TypeError: Cannot read property 'match' of undefined
    at txSourceUnlock (/opt/duniter/app/lib/indexer.js:1782:27)
    at Promise.all._.where.map (/opt/duniter/app/lib/indexer.js:728:31)
    at <anonymous>

la partie erreur est répétée 8 fois (autant que le nombre de blocs potentiels)

C’est grave, docteur ?

Je viens de trouver un bloc et voici ce que je lis dans les logs

2018-02-15T09:34:47+01:00 - info: Matched 4 zeros 00003C84E47FA0D70E6527A45A585FBE4B7A5C55F2A66928C91F018602BFABC6 with Nonce = 10200000013943 for block#137078 by 79gA7j
2018-02-15T09:34:47+01:00 - info: Done: #137078, 00003C84E47FA0D70E6527A45A585FBE4B7A5C55F2A66928C91F018602BFABC6 in 1442.60s (~55768 tests, ~38.66 tests/s, using 4 cores, CPU 20%)
2018-02-15T09:34:47+01:00 - info: FOUND proof-of-work with 4 leading zeros followed by [0-7]!
2018-02-15T09:34:47+01:00 - warn: Proof-of-work self-submission: Block already known
2018-02-15T09:34:49+01:00 - info: Transaction 439C088BC26F30BDDBA5F251F7CAF3DC368768A61F7AA9FAF359734CEA8998A9 added to block
2018-02-15T09:34:49+01:00 - error: The maximum transaction chaining length per block is 5
2018-02-15T09:34:49+01:00 - info: Transaction E5FE4D94CC940B155EBE46B4488C329D0DD90C89CF469142C2E33A1FC8C91A1A added to block
2018-02-15T09:34:50+01:00 - error: The maximum transaction chaining length per block is 5
2018-02-15T09:34:50+01:00 - info: Transaction 1FFB885B2E29162FE301209FF989B3EB919592B276594526419F2DE446556B80 added to block
2018-02-15T09:34:50+01:00 - info: Generating proof-of-work with 4 leading zeros followed by [0-7]... (CPU usage set to 20%) for block#137078 79gA7j

@Alan_Schmitt C’est un bug dans duniter-ts qui fait suite a la correction d’un autre bug :

Avant il existait un bug qui faisait que les noeuds duniter n’arrivaient pas a forger de bloc contenant des transactions chainés : @cgeek a corrigé ce bug et donc maintenant les nœuds peuvent écrire des transactions chainés : seulement elles ne seront autorisés qu’a partir du 1 mars 2018.

Or d’après les log les noeuds du réseau g1-test essayent d’écrire des transactions chainés, et d’ailleurs je le confirme c’est bien une transaction chainée que j’ai dans ma piscine :

Je suis en train de tester une modif sur le code source en ce moment même, je vous tien au courant :slight_smile:

EDIT : Ça marche je viens de calculer le bloc 137078 avec mon code modifié et tout le monde s’est calé dessus !!

2018-02-15T19:38:10+01:00 - info: Block #137078 added to the blockchain in 626 ms
2018-02-15T19:38:10+01:00 - trace: PoW loops = 1
2018-02-15T19:38:10+01:00 - info: Block resolution: 0 potential blocks after current#137078...
2018-02-15T19:38:10+01:00 - debug: Trial = 433, powMin = 72, pubkey = D7CYHJ
2018-02-15T19:38:10+01:00 - warn: Too high difficulty: waiting for other members to write next block

je vais ouvrir une issue et pousser mon correctif sur une nouvelle branche :grinning:

ok tout les tests passent, une release de test est en cours de build, j’ai besoin qu’un max de membres calculants de g1-test l’installent dés ce soir !

En effet ce bug touche aussi la g1, a la 1ère transaction chainée sur la g1 ça peut bloquer totalement la monnaie, on doit donc livrer une 1.6.19 de toute urgence !!

@vit @nanocryk @Alan_Schmitt @jytou et tout les autres testeurs g1-test, la release de test sera prete d’ici moins de 10 minute si tout vas bien :

1 Like

Tu fais un tag pour que je fasse la release arm ? Sinon, étant sur raspberry, je ne peux pas l’installer (comme d’autres d’ailleurs) à moins de faire une compil locale (ce que je peux faire, mais tout le monde n’a pas l’environnement).

@jytou avant de pousser un tag je doit m’assurer que le correctif fonctionne chez vous, pour l’instant tout ce que je sais c’est qu’il fonctionne chez moi et que tout les tests automatiques passent ! Donc tu peut te builder une arm spéciale juste pour toi si tu veut tester, cale toi bien sur la branche 1277blablabla…

Je croyais avoir fait une release mais elle est foireuse… à suivre…

La version temporaire pour arm est téléchargeable .

Question bête (ou pas !), est-ce qu’il y a des testeurs windows sur g1-test ?

Tu n’a toujours pas calculé le prochain bloc :stuck_out_tongue:

A ma connaissance non, s’il y en a qu’ils parlent maintenant ou se taisent à jamais. Ok je sort =>

Ben maintenant, si. Il avait juste un peu de retard à rattraper. :wink:

Bon, je viens de télécharger et de lancer la pre-release sur le lien indiqué.

Je calcule un bloc, mais dés que je le trouve, il plante…
avec ce message d’erreur.

   2018-02-15T23:18:04+01:00 - info: ENGINE c#0#3 HAS FOUND A PROOF #00000D37F29D97557B85AF1189E3508F15E5B114E2586132B3F928D8C43A68F4
2018-02-15T23:18:04+01:00 - info: Matched 5 zeros 00000D37F29D97557B85AF1189E3508F15E5B114E2586132B3F928D8C43A68F4 with Nonce = 10400000132043 for block#137079 by DpJse2
2018-02-15T23:18:04+01:00 - info: Done: #137079, 00000D37F29D97557B85AF1189E3508F15E5B114E2586132B3F928D8C43A68F4 in 286.24s (~528168 tests, ~1845.17 tests/s, using 4 cores, CPU 90%)
2018-02-15T23:18:04+01:00 - info: FOUND proof-of-work with 4 leading zeros followed by [0-2]!
2018-02-15T23:18:04+01:00 - info: SIDE Block #137079-00000D37 added to the blockchain in 16 ms
2018-02-15T23:18:04+01:00 - info: Block resolution: 9 potential blocks after current#137078...
2018-02-15T23:18:04+01:00 - error:  TypeError: Cannot read property 'match' of undefined
    at txSourceUnlock (/mnt/data/Logiciels/duniter-desktop-v20180215.1933.44-linux-x64/app/lib/indexer.js:1782:27)
    at Promise.all._.where.map (/mnt/data/Logiciels/duniter-desktop-v20180215.1933.44-linux-x64/app/lib/indexer.js:728:31)
    at <anonymous>

Le message d’errorCannot read property 'match' se répète des dizaines de fois dans les logs.

Hum en fait j’ai calculé le bloc 137079 mais il semblerait que personne n’arrive à le voir. Bon, je pense que je vais faire une synchro…

Du coup il faut patch G1 et G1-test ?

Edit : il faut se synchro sur quelle branche ? 1277-blockgener… ?

@vit chez moi j’ai aussi ce message dans les log mais ce n’est pas bloquant, qu’est ce que te fais dire que ton noeud “plante” ?

Ok peut tu me donner le contenu de ce bloc 137079 ? Ou me redonner ton endpoint bma ? je pourrais alors le voir avec l’url /blockchain/block/137079

@nanocryk non seulement G1-test tant que l’on est pas certain de la validité de mon correctif !

Si tu est en installation manuelle oui c’est la branche 1277-blablabla… mais tu a aussi un paquet debian de dispo ici :

Trop tard, j’ai relancé une synchro… :frowning:

Je n’installe pas avec le packet debian, je préfère avoir mes 2 dossiers avec g1 et g1test.

Je viens d’installer le paquet arm. Au début j’ai ça :

2018-02-16T08:18:07+01:00 - info: Transaction 439C088BC26F30BDDBA5F251F7CAF3DC368768A61F7AA9FAF359734CEA8998A9 added to block
2018-02-16T08:18:07+01:00 - error: The maximum transaction chaining length per block is 5
2018-02-16T08:18:07+01:00 - info: Transaction E5FE4D94CC940B155EBE46B4488C329D0DD90C89CF469142C2E33A1FC8C91A1A added to block
2018-02-16T08:18:07+01:00 - error: The maximum transaction chaining length per block is 5
2018-02-16T08:18:08+01:00 - info: Transaction 1FFB885B2E29162FE301209FF989B3EB919592B276594526419F2DE446556B80 added to block
2018-02-16T08:18:08+01:00 - info: Transaction 47BC838E33856691B8FD33F0DC2CE625106CE061C1F8439302D1008B65B633E4 added to block

Ensuite j’ai le classique

2018-02-16T08:18:38+01:00 - info: Block resolution: 3 potential blocks after current#137080...
2018-02-16T08:18:39+01:00 - error:  TypeError: Cannot read property 'match' of undefined
    at txSourceUnlock (/opt/duniter/app/lib/indexer.js:1782:27)
    at Promise.all._.where.map (/opt/duniter/app/lib/indexer.js:728:31)
    at <anonymous>

avec l’erreur répétée trois fois (comme le nombre de blocs). Et maintenant je calcule le bloc 137081.

Je viens de trouver un bloc et je ne peux pas l’ajouter dans la chaîne, avec la même erreur qu’avant.

Il “plante” est trop vague, oui.

Ce qui est sûr, c’est que une fois la POW trouvée, quand il veut ajouter le bloc à la blockchain, une règle plante avec une stacktrace dans les logs (pas glop) et du coup il recommence à calculer la POW. Ca se répétait continuellement pour le bloc 137079 hier soir.

Puis quand il a vu que le bloc était publié par un autre, j’ai cru comprendre qu’il faisait un fork avec le bloc.

Ce matin je suis sur le bloc 137081, alors que cesium affiche le bloc 137080 pour la majorité des noeuds…

[EDIT]
Noeud relancé ce matin.
Nombreuses erreurs :

  • trop de transactions pour un bloc
  • bloc trouvé mais déjà connu
  • recommence pourtant la POW du même bloc
  • message d’erreur stacktrace problème indexer

Il patine comme hier soir…

Je reste avec la dernière pre-release, ça à l’air trop cassé pour le moment :stuck_out_tongue: