alastria / alastria-node

How to install a node in Alastria Red-T (Quorum technology) and tips to deploy and use it
https://alastria.io/
Apache License 2.0
81 stars 299 forks source link

Fallo en la sincronización _full_ de nodo, para versiones GoQuorum v2.7.0 y v20.10.0 #801

Open alejandroalffer opened 4 years ago

alejandroalffer commented 4 years ago

Estoy haciendo pruebas en nodos para subir la versión de Quorum. Por ahora sólo en validador, y a partir del nodo génesis, y sincronizacion full

geth --datadir /root/alastria/data --networkid 83584648538 --identity VAL_DigitelTS_T_2_8_01 --permissioned --cache 0 --rpc --rpcaddr 127.0.0.0 --rpcapi admin,db,eth,debug,miner,net,shh,txpool,personal,web3,quorum,istanbul --rpcport 22000 --port 21000 --istanbul.requesttimeout 10000 --ethstats VAL_DigitelTS_T_2_8_01:bb98a0b6442386d0cdf8a31b267892c1@netstats.telsius.alastria.io:80 --verbosity 3 --emitcheckpoints --targetgaslimit 8000000 --syncmode full --gcmode full --vmodule consensus/istanbul/core/core.go=5 --debug --vmdebug --nodiscover --mine --minerthreads 2

No puedo pasar del bloque 8597100, con ninguna de las versiones que estamos probando:

> admin.nodeInfo.name
"Geth/VAL_DigitelTS_T_2_8_01/v1.9.7-stable-6005360c(quorum-v2.7.0)/linux-amd64/go1.15.2"
> admin.nodeInfo.name
"Geth/VAL_DigitelTS_T_2_8_01/v1.9.7-stable-af752518(quorum-v20.10.0)/linux-amd64/go1.15.2"

Este es el log... bastante parecido en ambas versiones:

Number: 8597101
Hash: 0xe4a2d78d83c995c1f756a7813b07b93c77b975eb5ec0a7ea7d16b6636649b2e5
         0: cumulative: 48864 gas: 48864 contract: 0x0000000000000000000000000000000000000000 status: 1 tx: 0x5136041eb879d49699e76bf64aed8207376cd0d1f42aa20d80613bad309bece4 logs: [0xc0004bc790 0xc0004bc840]
bloom: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000100000000000000000000000040000000000000000000000000000000000000000000000000
0000000000100000000000000000000000000000000000000002000000000000000200000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000400000000000000000000000000000 state:
         1: cumulative: 97728 gas: 48864 contract: 0x0000000000000000000000000000000000000000 status: 1 tx: 0xb0e8e529893614560fcd421310d68cd03794fe8a22e36d5140ba6cde5b4300af logs: [0xc0004bc8f0 0xc0004bc9a0]
bloom: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000100000000000000000000000040000000000000000000000000000000000000000000000000
00000000001000000000000000000000000000000000000000020000000000000002000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000100000000000000000000000000000000400000000000000000000000000000 state:
Error: invalid merkle root (remote: 0f6d6606b447b6fd26392f999e84be08fdf8b71f956b83116017dbb371ea1f1a local: 8a6cab008e2572a774a3c1eadc36269fa65662471c088652853db94e38ff8e59)
##############################
WARN [11-09|15:18:19.392|eth/downloader/downloader.go:336] Synchronisation failed, dropping peer    peer=d94e041d29046c47 err="retrieved hash chain is invalid"
ERROR[11-09|15:18:21.002|core/blockchain.go:2214]
########## BAD BLOCK #########
Chain config: {ChainID: 83584648538 Homestead: 0 DAO: <nil> DAOSupport: false EIP150: 0 EIP155: 0 EIP158: 0 Byzantium: 0 IsQuorum: true Constantinople: <nil> TransactionSizeLimit: 0 MaxCodeSize: 24 Petersburg:
 <nil> Istanbul: <nil> Engine: istanbul}

Este problema no pasa con la versión oficial GoQuorum, ni sobre el fork de Alastria:

Geth/VAL_DigitelTS_T_2_8_00/v1.8.18-stable(quorum-v2.2.2)/linux-amd64/go1.9.5

He probado:

Creo que es necesario poder recrear la cadena en modo full antes de dar visto bueno definitivo al paso a las nuevas versiones de GoQuorum (editado)

Enlaces:

alejandroalffer commented 4 years ago

Problema mencionado en esta referencia, pero cuya solución no aplica:

https://docs.goquorum.consensys.net/en/stable/Reference/Logging%20and%20Errors/#resolution-of-database-corruption-issues

alejandroalffer commented 4 years ago

imagen

alejandroalffer commented 4 years ago

Sin información

https://docs.goquorum.consensys.net/en/stable/Reference/Logging%20and%20Errors/#resolution-of-database-corruption-issues

alejandroalffer commented 4 years ago

Some try && error switch to fast mode:

geth removedb_DONOTACCIDENTALY --datadir  /root/alastria/data && geth --datadir /root/alastria/data init /root/genesis.json
geth --datadir /root/alastria/data --networkid 83584648538 --identity VAL_DigitelTS_T_2_8_01 --cache 10 --istanbul.requesttimeout 10000 --ethstats VAL_DigitelTS_T_2_8_01:bb98a0b6442386d0cdf8a31b267892c1@netstats.telsius.alastria.io:80 --emitcheckpoints --targetgaslimit 8000000000000  --syncmode fast --vmodule consensus/istanbul/core/core.go=5 --mine --minerthreads 4
alejandroalffer commented 4 years ago

Attached debug file:

geth --datadir /root/alastria/data --networkid 83584648538 --identity VAL_DigitelTS_T_2_8_01 --cache 100000 --port 21000 --istanbul.requesttimeout 10000 --ethstats VAL_DigitelTS_T_2_8_01:bb98a0b6442386d0cdf8a31b267892c1@netstats.telsius.alastria.io:80 --verbosity 10000 --emitcheckpoints --targetgaslimit 80000000000000000 --syncmode full --gcmode full --vmodule consensus/istanbul/core/core.go=5 --nodiscover --minerthreads 4 2> /tmp/log.err.txt

Source: log.err.txt.gz

alejandroalffer commented 3 years ago

Escalado a Consensys, https://github.com/ConsenSys/quorum/issues/1107