Ğ1 en forks à partir du bloc #206587

Quelques éléments d’investigation :

  • Duniter refuse la consommation de la source 985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168:20 présente au bloc 206588
  • cette source provient d’un paiement Remuniter, qui a rémunéré 40 membres d’un coup

Curieusement, chez les nœuds « bloqués » cette source semble ne pas exister du tout (pas juste la n°20, mais les 40 sources) … pourtant tous les nœuds du réseau partagent bien la même blockchain jusqu’au bloc 206587.

Et ça, c’est étrange. D’autant que c’est n’est pas un élagage qui aurait mal tourné, car sur les 40 payés précédemment il est peu probable que tous aient déjà consommé cette source. D’ailleurs en faisant un :

~/.config/duniter/duniter_default/g1$ grep 985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168 *
chunk_712-250.json:      "240:0:T:985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168:27",
chunk_714-250.json:      "537875:0:T:985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168:41",
chunk_720-250.json:      "260:0:T:985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168:22",
chunk_724-250.json:      "20:0:T:985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168:0",
chunk_737-250.json:      "380:0:T:985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168:15",
chunk_745-250.json:      "20:0:T:985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168:39",
chunk_749-250.json:      "320:0:T:985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168:3",
chunk_802-250.json:      "220:0:T:985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168:19",
chunk_803-250.json:      "420:0:T:985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168:11"
chunk_809-250.json:      "280:0:T:985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168:2",
chunk_811-250.json:      "200:0:T:985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168:32",
chunk_811-250.json:      "20:0:T:985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168:35",
cgeek@predageek:~/.config/duniter/duniter_default/g1$ grep 985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168 * | wc -l
12

Il n’y en aurait eu que 12/40. Donc on devrait encore trouver 985F7B43722704219F41E758D517BEB2683F33CEB7DD053BED39E91D89D5B168 dans le dump du s_index du protocole.

Ce que je vais tenter de faire, c’est dumper les index du protocole pour deux nœuds (un sur chaque fork) et comparer à quel moment les index divergent, puis il faudra en trouver la cause. Normalement je dispose déjà d’une BDD pour chaque fork, donc ça devrait aller.

Mais donc, je le répète, pour moi le fork g1.duniter.org est le bon.

3 Likes

Non ça c’est probablement que tu viens de resynchroniser ton nœud et qu’il vient compléter sa piscine.

Ok, j’ai cru à du spam d’identités.

1 Like

C’est pour ça que j’aimerais bien que l’on développe l’IHM v2 de Duniter afin de bien voir ce qui se passe sur son nœud, notamment cette IHM aurait pu te contextualiser l’arrivée de ces identités :slight_smile:

1 Like

Il semblerait que le mauvais fork avance plus vite.
Un de mes nœud est passé sur cette branche, après l’avoir synchronisé sur la « bonne branche ».

2019-03-24T17:01:05+01:00 - ^[[31merror^[[39m: WS2P connection timeout
2019-03-24T17:01:11+01:00 - ^[[32minfo^[[39m: [GfKERHnJ] ⬇ PEER 4L6ki7UG 206592-0
2019-03-24T17:01:13+01:00 - ^[[32minfo^[[39m: Block #206588 added to the blockchain in 31 ms
2019-03-24T17:01:13+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206588-0000098B37E6272778821EF3C3C8D25AA712E48D194C7F36F56C8C70B6AC8D55
2019-03-24T17:01:13+01:00 - ^[[32minfo^[[39m: [GfKERHnJ] ⬇ PEER GfKERHnJ 206569-0
2019-03-24T17:01:13+01:00 - ^[[32minfo^[[39m: Block #206589 added to the blockchain in 94 ms
2019-03-24T17:01:13+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206589-00000047C4A19039702844DB69DD5B1C04111CFA5E16318A9657D9E2BF683B97
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Block #206590 added to the blockchain in 98 ms
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206590-000003A27FBA54006FBF19C5F4EB83F5C6A2C6A6C2FFAC22A486F54B58318526
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Block #206591 added to the blockchain in 51 ms
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206591-000000711EEF7017ADA07823BB90BB5B4B7A5D308B98AF3FC0A18CCF9D80CAC1
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Block #206592 added to the blockchain in 26 ms
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206592-00000D187285C4C0DAAFEEE74ED7441701CB3B6A1A12736AC1D822BAB7EAC191
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Block #206593 added to the blockchain in 12 ms
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206593-0000053347CFD891995FAE60A8CC6A12B36E48208651D47B3350A924AB7A0CF4
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Block #206594 added to the blockchain in 19 ms
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206594-000001C813F88E0EF9153FCFDED79B0213E3CA5DD4B47E1AF64CB2030C5E6E3B
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Block #206595 added to the blockchain in 18 ms
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206595-00000754CA4B22882B317CAED14D51FE656EAB05A689ABDA53B3D5EFA74FB8F3
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Block #206596 added to the blockchain in 27 ms
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206596-00000A8D8D27E9F0A61441C0B57A85E5D7CF370FC7CD1096B65B04FD586CFED9
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Block #206597 added to the blockchain in 23 ms
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206597-000005BF18BD940D3538C15F78CB13B39830EABCDED3631DC2E673EDB171C3C0
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Block #206598 added to the blockchain in 131 ms
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206598-0000076924C25B8B8C2071A4D3FC5853A5DA1E35DD3F26E3E237C6A0DFFDB7CD
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Block #206599 added to the blockchain in 16 ms
2019-03-24T17:01:14+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206599-00000076A19899673AD889A6998682AE873321D0D3C71E679CA952FE72B1E2DE
2019-03-24T17:01:16+01:00 - ^[[32minfo^[[39m: Block #206600 added to the blockchain in 2153 ms
2019-03-24T17:01:16+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206600-0000012C96B52D1DEF455EFF54BB3D943169E893A300CFF71D28096BA0D03512
2019-03-24T17:01:17+01:00 - ^[[32minfo^[[39m: Block #206601 added to the blockchain in 15 ms
2019-03-24T17:01:17+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206601-000001B6582E23728E6A26B44A944577C2ABFD6F1A7B20458FED75E6817F0520
2019-03-24T17:01:17+01:00 - ^[[32minfo^[[39m: Block #206602 added to the blockchain in 14 ms
2019-03-24T17:01:17+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 added block#206602-000002AD60A1483EE51762C982DE45E8760675422411CE302EDD076E16728F53
2019-03-24T17:01:17+01:00 - ^[[32minfo^[[39m: Fork resolution: suite 1/1 reached HEAD + 4. Now rolling back.
2019-03-24T17:01:18+01:00 - ^[[32minfo^[[39m: WS2P: Could not connect to peer 82NdD9eE using `WS2P 78.251.5.57 20900: WS2P connection timeout`
2019-03-24T17:01:18+01:00 - ^[[32minfo^[[39m: WS2P: Could not connect to peer DA4PYtXd using `WS2P s0.cco.ovh 23456: WS2P connection timeout`
2019-03-24T17:01:18+01:00 - ^[[32minfo^[[39m: WS2P: Could not connect to peer HT7cGFBN using `WS2P g1tarn.fr 20901: WS2P connection timeout`
2019-03-24T17:01:23+01:00 - ^[[32minfo^[[39m: [GfKERHnJ] ⬇ PEER 7vU9BMDh 206592-0
2019-03-24T17:01:23+01:00 - ^[[32minfo^[[39m: [GfKERHnJ] ⬇ PEER 7vU9BMDh 206592-0
2019-03-24T17:01:25+01:00 - ^[[31merror^[[39m: Unhandled rejection: TypeError: Cannot read property 'match' of undefined
2019-03-24T17:01:25+01:00 - ^[[31merror^[[39m:  TypeError: Cannot read property 'match' of undefined
    at txSourceUnlock (/opt/duniter/app/lib/indexer.js:1836:27)
    at Promise.all.underscore_1.Underscore.where.map (/opt/duniter/app/lib/indexer.js:760:31)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:160:7)
2019-03-24T17:01:25+01:00 - ^[[32minfo^[[39m: ⬇ CERT EuTkhNstNS1mTKbb8i7pfPAd3TvDJikU5PHb7rwdJPxE block#175682 -> 1000i100

Et mon second nœud aussi :

2019-03-24T17:15:54+01:00 - info: SIDE Block #206598-00000241 added to the blockchain in 1 ms
2019-03-24T17:15:54+01:00 - info: Block resolution: 2 potential blocks after current#206587...
2019-03-24T17:15:54+01:00 - error:  TypeError: Cannot read property 'match' of undefined
    at txSourceUnlock (/home/moul/duniter/app/lib/indexer.js:1835:27)
    at Promise.all.underscore_1.Underscore.where.map (/home/moul/duniter/app/lib/indexer.js:759:31)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
2019-03-24T17:15:54+01:00 - info: Block #206588 added to the blockchain in 20 ms
2019-03-24T17:15:54+01:00 - warn: Blockchain changed!
2019-03-24T17:15:54+01:00 - info: Block resolution: 1 potential blocks after current#206588...
2019-03-24T17:15:54+01:00 - warn: Too high difficulty: waiting for other members to write next block
2019-03-24T17:15:54+01:00 - info: Block #206589 added to the blockchain in 25 ms
2019-03-24T17:15:54+01:00 - warn: Blockchain changed!
2019-03-24T17:15:54+01:00 - info: Block resolution: 1 potential blocks after current#206589...
2019-03-24T17:15:54+01:00 - warn: Too high difficulty: waiting for other members to write next block
2019-03-24T17:15:54+01:00 - info: Block #206590 added to the blockchain in 12 ms
2019-03-24T17:15:54+01:00 - warn: Blockchain changed!
2019-03-24T17:15:54+01:00 - info: Block resolution: 1 potential blocks after current#206590...
2019-03-24T17:15:54+01:00 - warn: Too high difficulty: waiting for other members to write next block
2019-03-24T17:15:54+01:00 - info: Block #206591 added to the blockchain in 12 ms
2019-03-24T17:15:54+01:00 - warn: Blockchain changed!
2019-03-24T17:15:54+01:00 - info: Block resolution: 1 potential blocks after current#206591...
2019-03-24T17:15:54+01:00 - warn: Too high difficulty: waiting for other members to write next block
2019-03-24T17:15:54+01:00 - info: Block #206592 added to the blockchain in 14 ms
2019-03-24T17:15:54+01:00 - warn: Blockchain changed!
2019-03-24T17:15:54+01:00 - info: Block resolution: 1 potential blocks after current#206592...
2019-03-24T17:15:54+01:00 - warn: Too high difficulty: waiting for other members to write next block
2019-03-24T17:15:54+01:00 - info: Block #206593 added to the blockchain in 11 ms
2019-03-24T17:15:54+01:00 - warn: Blockchain changed!
2019-03-24T17:15:54+01:00 - info: Block resolution: 2 potential blocks after current#206593...
2019-03-24T17:15:54+01:00 - error:  TypeError: Cannot read property 'match' of undefined
    at txSourceUnlock (/home/moul/duniter/app/lib/indexer.js:1835:27)
    at Promise.all.underscore_1.Underscore.where.map (/home/moul/duniter/app/lib/indexer.js:759:31)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
2019-03-24T17:15:54+01:00 - info: Block #206594 added to the blockchain in 9 ms
2019-03-24T17:15:54+01:00 - info: Block resolution: 1 potential blocks after current#206594...
2019-03-24T17:15:54+01:00 - info: Block #206595 added to the blockchain in 9 ms
2019-03-24T17:15:54+01:00 - info: Block resolution: 1 potential blocks after current#206595...
2019-03-24T17:15:54+01:00 - info: Block #206596 added to the blockchain in 8 ms
2019-03-24T17:15:54+01:00 - info: Block resolution: 2 potential blocks after current#206596...
2019-03-24T17:15:54+01:00 - error:  Error: Block's signature must match
    at Object.checkBlockSignature (/home/moul/duniter/app/lib/rules/local_rules.js:79:19)
    at ALL_LOCAL (/home/moul/duniter/app/lib/rules/index.js:25:51)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
2019-03-24T17:15:54+01:00 - info: Block #206597 added to the blockchain in 8 ms
2019-03-24T17:15:54+01:00 - info: Block resolution: 1 potential blocks after current#206597...
2019-03-24T17:15:54+01:00 - error:  Error: Block's signature must match
    at Object.checkBlockSignature (/home/moul/duniter/app/lib/rules/local_rules.js:79:19)
    at ALL_LOCAL (/home/moul/duniter/app/lib/rules/index.js:25:51)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
2019-03-24T17:15:54+01:00 - info: Fork resolution: 3 potential block(s) found...
2019-03-24T17:15:54+01:00 - info: Fork resolution: 1 potential suite(s) found...
2019-03-24T17:15:54+01:00 - info: Fork resolution: HEAD = block#206597
2019-03-24T17:15:54+01:00 - info: Fork resolution: suite 1/1 (-> #206602-000002) revert to fork point block#206593
2019-03-24T17:15:55+01:00 - info: [GfKERHnJ] ⬇ PEER FEkbc4Bf 206593-0
2019-03-24T17:15:55+01:00 - info: [GfKERHnJ] ⬇ PEER D3krfq6J 206583-0

Bon tant pis, cela signifie simplement que l’on fait face à un soft-fork car une partie du réseau n’accepte pas la consommation de certaines sources. Les transactions des blocs 206588+ seront annulées.

Il vaut mieux un blocage dans ce sens que dans l’autre, car le réseau peut encore retomber d’accord.

Par contre s’il existe beaucoup de différences dans le s_index, le risque est élevé de voir se produire de nouveaux forks.

Il y a bien une branche qui avance sur g1.duniter.org. L’autre semble bloquée.

Oui, personnellement je vais me resynchroniser sur cette branche.

Concernant le bug je ne sais pas si je vais réussir à débusquer son origine à court terme, car il faudrait déjà réussir à le reproduire. Déjà on voit qu’il touche à une très vieille transaction, c’est une piste.

1 Like

3 messages ont été scindés en un nouveau sujet : Horizontaliser au maximum l’écriture en blockchain ?

Qqun aurai le bloc 206588 avec la transaction mise en cause ?

La source est celle là : https://g1.duniter.org/blockchain/block/178003

Mais j’ai pas de vu sur le fork. :’(

Il y a un embranchement qui s’est formé autour des blocs #206914-0000023B1E84 et #206917-000000843188 sur g1.duniter.org:443. Cette branche semble bloquée.
Autrement, ça continue d’avancer sur duniter.moul.re:443

|  206928 | 23:11:07  |   20:48:19   | 0000030F22 |     Granxis8     |
|  206927 | 23:00:21  |   20:37:33   | 000005B4D4 | jeanlucdonnadieu |

Ok je sync deux noeuds sur le tien

Tu peux copier le raw bloc pour 206588 ? :slight_smile:

Non, je me suis trompé de bloc. Celui que j’ai n’a pas de données. Désolé.

Une douzaine de tentatives de synchronisation depuis le fork sur g1.duniter.org:443 et :80 mais je reste bloqué entre 40% et 60%.

Je vais tenter sur le tien duniter.moul.re:443

Merci

J’ai remarqué des comportements étranges de Césium.
Il semblerait qu’il récupère le HEAD bloc de Cesium+/Elastic Search.

Oui, le faible niveau de difficulté actuellement sur la branche majoritaire fait que des blocs sont trouvés en même temps et c’est une source d’embranchement.

2 Likes

Synchronisez vos nœuds sur duniter.moul.re:443.
Ça commence à devenir critique, il n’y a que quatorze identités dans la fenêtre courante.

Current block: n°207142, generated on the 2019-03-26 17:59:37
Generation of next block n°207143 possible by at least 10/14 members
Common Proof-of-Work difficulty level: 80, hash starting with `00000*`
|       uid        |        match         |   Π diffi   |   Σ diffi |
|------------------+----------------------+-------------+-----------|
|      jardin      | 00000000000000000000 | 4.6 × 10^54 |       723 |
|       Dom        | 00000000000000000000 | 1.2 × 10^24 |       321 |
|       moul       | 000000000000000[0-D] | 2.3 × 10^18 |       242 |
|  BenoitLavenier  |   0000000000[0-C]*   | 3.3 × 10^12 |       163 |
|    b_presles     |     00000[0-C]*      | 3.1 × 10^6  |        83 |
|       deem       |     00000[0-E]*      | 1.0 × 10^6  |        81 |
|     oaktree      |     00000[0-E]*      | 1.0 × 10^6  |        81 |
|     Granxis8     |     00000[0-E]*      | 1.0 × 10^6  |        81 |
|     ji_emme      |     00000[0-E]*      | 1.0 × 10^6  |        81 |
|      FredB       |        00000*        | 1.0 × 10^6  |        80 |
|     Scott76      |        00000*        | 1.0 × 10^6  |        80 |
| jeanlucdonnadieu |        00000*        | 1.0 × 10^6  |        80 |
|     gerard94     |        00000*        | 1.0 × 10^6  |        80 |
|     natchack     |        00000*        | 1.0 × 10^6  |        80 |

J’aime bien trouver plein de blocs, mais à un moment ça suffit.

1 Like

La synchro de ce matin sur ton noeud est restée bloquée
mais je viens de ré-ésseyer et c’est ok en 15 minutes: duniter.moul.re:443 :smiley:

J’ai basculé mon nœud desktop de g1-test vers g1, synchronisé sur ton nœud.
Pour aider un peu…