ergoplatform / ergo

Ergo protocol description & reference client implementation
https://ergoplatform.org/
Creative Commons Zero v1.0 Universal
504 stars 170 forks source link

testnet block issue #1675

Closed glasgowm148 closed 1 year ago

glasgowm148 commented 2 years ago

Problem two separate people reported

eratosthenessieve#8181 I'm also having issues syncing on testnet, where it stops at block id 7feca496e2be164de5cedbb4300031fe1f6189c7029d64eb2f6322707fdf9348. Just took a look at the logs using the commands in the pin, and the most prevalent issues from logs are the following:

  1. Stop expecting ae789db2eb855589cafacdaf246c357ece89b204cdda8ae76714f571c2d34ad9 of type 101 due to exceeded number of retries 2
  2. java.lang.Exception: Cannot readSecretStorage: dir '/home/user/ergo/.ergo/wallet/keystore' doesn't exist java.net.ConnectException: Connection refused java.net.NoRouteToHostException: No route to host

DreamsMoney#1427 I'm having the same issue on testnet. I've tried from local and cloud machines and it get's stuck on header download - always that exact same block he mentioned "ae789db2eb855589cafacdaf246c357ece89b204cdda8ae76714f571c2d34ad9". I've memorized the header ID at this point lol.

dreams-money commented 2 years ago

Hello fellas. Apologies for the delayed test data. A few testing results below. I have 3 test nodes, each with different test cases. I'll do a different comment for each.

dreams-money commented 2 years ago

Node version: 4.0.25-65-f343ebb6-SNAPSHOT (kvsync branch) Command run: java -jar ~/ergo.jar --testnet -c ~/testnet.conf 2>> ergo.log 1> /dev/null & #ergo.jar symlinked to kysync jar RAM/CPU: 2gb, 2 cores - AMD EPYC 7000 OS: 20.04.2 Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux JVM Version: OpenJDK 64-Bit Server VM (build 17.0.2+8-Ubuntu-120.04, mixed mode, sharing) Storage location: A standard SSD on AWS cloud. WARN|ERROR log: testnode1.ergo-warn-err.log

This was a fresh sync using the kvsync branch. It's stuck on header download, header ID: 7feca496e2be164de5cedbb4300031fe1f6189c7029d64eb2f6322707fdf9348 (Note, this a correction to my statement on Discord. This is actually the ID It keeps getting stuck at.)

dreams-money commented 2 years ago

Node version: 4.0.25 (latest release) Command run: java -jar ~/ergo.jar --testnet -c ~/testnet.conf 2>> ergo.log 1> /dev/null & #ergo.jar symlinked to 4.0.25 jar RAM/CPU: 2gb, 2 cores - AMD EPYC 7000 OS: Amazon Linux 5.10.102-99.473.amzn2.x86_64 x86_64 x86_64 x86_64 GNU/Linux JVM Version: OpenJDK 64-Bit Server VM Corretto-17.0.2.8.1 (build 17.0.2+8-LTS, mixed mode, sharing) Storage location: A standard SSD on AWS cloud. WARN|ERROR log: testnode2.ergo-warn-err.log

This was a fresh sync using the current release. It's also stuck on header download, header ID: 7feca496e2be164de5cedbb4300031fe1f6189c7029d64eb2f6322707fdf9348 (Note, this a correction to my statement on Discord. This is actually the ID It keeps getting stuck at.)

dreams-money commented 2 years ago

This last one is the messiest test case (it's okay if we ignore it as long as I have a syncing method! :)). It's on a local node that was previously synced, now believe's it's synced, but it really isn't anywhere near the testnet's explorer height. I've tried a few node versions + config options to get it to really sync, all with no luck.

Node version: 4.0.25 (latest release) and 4.0.25-65-f343ebb6-SNAPSHOT (kvsync branch) Command run: java -jar -Xmx3G ~/chains/ergo/client/ergo.jar --testnet -c \~/chains/ergo/client/tests/testnet.conf &>> logs/testnode.log & #ergo.jar symlinked to version jar RAM/CPU: 32gb, 12 cores - AMD Ryzen 9 OS: Linux 5.13.0-39-generic #44\~20.04.1-Ubuntu SMP Thu Mar 24 16:43:35 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux JVM Version: OpenJDK 64-Bit Server VM (build 11.0.14.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing) Storage location: Local NVMe SSD WARN|ERROR log: ergo-testnode3-error-warn.log

At one point I ran the node with config offlineGeneration = true. I also tried knocking some syncing sense into it with config headerChainDiff = 80 as documented, but didn't have any luck.

dreams-money commented 2 years ago

One final test case I happened to run. The following is an attempt to sync from scratch with an earlier ergo node version, 4.0.23. It got stuck on the same block - "7feca496e2be164de5cedbb4300031fe1f6189c7029d64eb2f6322707fdf9348"

Node version: 4.0.23 Command run: java -jar ~/ergo.jar --testnet -c ~/testnet.conf 2>> ergo.log 1> /dev/null & #ergo.jar symlinked to 4.0.25 jar RAM/CPU: 2gb, 2 cores - AMD EPYC 7000 OS: Amazon Linux 5.10.102-99.473.amzn2.x86_64 x86_64 x86_64 x86_64 GNU/Linux JVM Version: OpenJDK 64-Bit Server VM Corretto-17.0.2.8.1 (build 17.0.2+8-LTS, mixed mode, sharing) Storage location: A standard SSD on AWS cloud. WARN|ERROR log: ergo-4.0.23-testnet-warn-err.log

dreams-money commented 2 years ago

This is another test with the same occurrence, but this time with the EIP27 branch. I significant difference is that this exact same machine got stuck while it was public, using the config below, but making it unpublic with everything else the same - produced a fresh sync.

ergo { networkType = "testnet"

directory = "/home/ec2-user/data" node { mining = false } wallet.secretStorage.secretDir = "/home/ec2-user/data/wallet"

} scorex { restApi { apiKeyHash = "..." } network { peerDiscovery = false } }

Node version: 4.0.25-170-02fbd451-SNAPSHOT (eip27 release (didn't compile this one myself)) Command run: java -jar ~/jar --testnet -c ~/conf 2>> ergo.log 1> /dev/null & # jar symlinked to ergo-eip27-1.jar RAM/CPU: 1gb, 2 cores - AMD EPYC 7000 OS: Linux ip-......us-west-2.compute.internal 5.10.106-102.504.amzn2.x86_64 #1 SMP Tue Mar 29 23:15:13 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux JVM Version: openjdk version "1.8.0_312"; OpenJDK Runtime Environment (build 1.8.0_312-b07); OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode) Storage location: A standard SSD on AWS cloud. WARN|ERROR log: ergo-eip27-gotstuck-publicnode-error-warn.log