Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Classic: no syncing on 2.7.1 #11431

Closed
ghost opened this issue Jan 31, 2020 · 10 comments · Fixed by #11459
Closed

Classic: no syncing on 2.7.1 #11431

ghost opened this issue Jan 31, 2020 · 10 comments · Fixed by #11459

Comments

@ghost
Copy link

ghost commented Jan 31, 2020

  • Parity Ethereum version: 2.7.1
  • Operating system: Linux
  • Installation: installed binary from here
  • Fully synchronized: yes
  • Network: classic
  • Restarted: yes

Hi,
I had Parity v2.5.13 on the classic chain, it worked fine. I updated to v2.7.1 without changing anything in the configuration and now it is stuck in this state:

2020-01-31 10:29:37 UTC    2/25 peers   3 KiB chain 8 bytes db 0 bytes queue 3 KiB sync  RPC:  0 conn,    1 req/s,   28 µs
2020-01-31 10:30:07 UTC    2/25 peers   3 KiB chain 8 bytes db 0 bytes queue 3 KiB sync  RPC:  0 conn,    1 req/s,   28 µs
2020-01-31 10:30:37 UTC    3/25 peers   3 KiB chain 8 bytes db 0 bytes queue 3 KiB sync  RPC:  0 conn,    3 req/s,   31 µs
2020-01-31 10:31:07 UTC    3/25 peers   3 KiB chain 8 bytes db 0 bytes queue 3 KiB sync  RPC:  0 conn,    2 req/s,   31 µs
2020-01-31 10:31:37 UTC    3/25 peers   3 KiB chain 8 bytes db 0 bytes queue 3 KiB sync  RPC:  0 conn,    2 req/s,   31 µs
2020-01-31 10:32:07 UTC    3/25 peers   3 KiB chain 8 bytes db 0 bytes queue 3 KiB sync  RPC:  0 conn,    2 req/s,   30 µs
...

actual state:
Parity stuck and does not start synchronisation. The eth_blockNumber call returns '7', although it was fully synchronised with the 2.5.13 version.
expected behavior
Parity should keep synchronising and return an up to date block height.
steps to reproduce

  • update Parity from 2.5.13 to 2.7.1 without changing the configuration.

troubleshooting
I have tried the following:

  • restart Parity several times: The highest number of nodes I've reached is 3. No synchronisation whatsoever.
  • I have tried to add nodes from classic.json
  • currently I have a reserved_peers line in my config which points to a file containing the following nodes:

enode://e809c4a2fec7daed400e5e28564e23693b23b2cc5a019b612505631bbe7b9ccf709c1796d2a3d29ef2b045f210caf51e3c4f5b6d3587d43ad5d6397526fa6179@174.112.32.157:30303
--
enode://6e538e7c1280f0a31ff08b382db5302480f775480b8e68f8febca0ceff81e4b19153c6f8bf60313b93bef2cc34d34e1df41317de0ce613a201d1660a788a03e2@52.206.67.235:30303
enode://5fbfb426fbb46f8b8c1bd3dd140f5b511da558cd37d60844b525909ab82e13a25ee722293c829e52cb65c2305b1637fa9a2ea4d6634a224d5f400bfe244ac0de@162.243.55.45:30303
enode://42d8f29d1db5f4b2947cd5c3d76c6d0d3697e6b9b3430c3d41e46b4bb77655433aeedc25d4b4ea9d8214b6a43008ba67199374a9b53633301bca0cd20c6928ab@104.155.176.151:30303
enode://814920f1ec9510aa9ea1c8f79d8b6e6a462045f09caa2ae4055b0f34f7416fca6facd3dd45f1cf1673c0209e0503f02776b8ff94020e98b6679a0dc561b4eba0@104.154.136.117:30303
enode://72e445f4e89c0f476d404bc40478b0df83a5b500d2d2e850e08eb1af0cd464ab86db6160d0fde64bd77d5f0d33507ae19035671b3c74fec126d6e28787669740@104.198.71.200:30303
enode://5cd218959f8263bc3721d7789070806b0adff1a0ed3f95ec886fb469f9362c7507e3b32b256550b9a7964a23a938e8d42d45a0c34b332bfebc54b29081e83b93@35.187.57.94:30303
enode://39abab9d2a41f53298c0c9dc6bbca57b0840c3ba9dccf42aa27316addc1b7e56ade32a0a9f7f52d6c5db4fe74d8824bcedfeaecf1a4e533cacb71cf8100a9442@144.76.238.49:30303
enode://f50e675a34f471af2438b921914b5f06499c7438f3146f6b8936f1faeb50b8a91d0d0c24fb05a66f05865cd58c24da3e664d0def806172ddd0d4c5bdbf37747e@144.76.238.49:30306
enode://6dd3ac8147fa82e46837ec8c3223d69ac24bcdbab04b036a3705c14f3a02e968f7f1adfcdb002aacec2db46e625c04bf8b5a1f85bb2d40a479b3cc9d45a444af@104.237.131.102:30303

I have removed the line from the config and restarted Parity again, but it did not solve the problem.

@vladmolkov
Copy link

I've got the same problem. I will add that migration does not start on ethereum classic (it starts on ethereum mainnet, ropsten, but not classic). It begins on 2.7.0

Jan 31 12:44:27 bcnode-ethereum-classic systemd[1]: Started ethereum-classic daemon.
Jan 31 12:44:28 bcnode-ethereum-classic parity[23884]: Loading config file from /home/ethereum-classic/ethereum-classic.conf
Jan 31 12:44:28 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:44:28 UTC Starting Parity-Ethereum/v2.5.12-stable-29ebddc-20191216/x86_64-linux-gnu/rustc1.39.0
Jan 31 12:44:28 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:44:28 UTC Keys path /ethereum-classic/keys/classic
Jan 31 12:44:28 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:44:28 UTC DB path /ethereum-classic/chains/classic/db/906a34e69aec8c0d
Jan 31 12:44:28 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:44:28 UTC State DB configuration: fast +Trace
Jan 31 12:44:28 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:44:28 UTC Operating mode: active
Jan 31 12:44:28 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:44:28 UTC Warning: Warp Sync is disabled because tracing is turned on.
Jan 31 12:44:28 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:44:28 UTC Configured for Ethereum Classic using Ethash engine
Jan 31 12:44:34 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:44:34 UTC Public node URL: enode://0e77100256b59f52e4554dc3bd3dbe80851391a03ede31e7587bacf560cfaec6f3d284af85f33aa911971d17cb68cecd9be39f0c9597c06d3a066f5818665091@10.17.141.106:30334
Jan 31 12:45:04 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:45:04 UTC    0/ 8 peers    208 KiB chain    8 MiB db  0 bytes queue 448 bytes sync  RPC:  0 conn,    0 req/s,  237 µs
Jan 31 12:45:34 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:45:34 UTC    0/ 8 peers    208 KiB chain    8 MiB db  0 bytes queue 448 bytes sync  RPC:  0 conn,    0 req/s,  228 µs
Jan 31 12:46:04 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:46:04 UTC    0/ 8 peers    208 KiB chain    8 MiB db  0 bytes queue 1008 bytes sync  RPC:  0 conn,    1 req/s,  223 µs
Jan 31 12:46:34 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:46:34 UTC    0/ 8 peers    208 KiB chain    8 MiB db  0 bytes queue 1008 bytes sync  RPC:  0 conn,    0 req/s,  223 µs
Jan 31 12:46:49 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:46:49 UTC Syncing #9699766 0xdbc0…7db1     1.20 blk/s    6.7 tx/s    0.2 Mgas/s      0+    0 Qed  #9699766    1/ 8 peers    218 KiB chain    8 MiB db  0 bytes queue   29 KiB sync  RPC:  0 conn,    0 req/s,  223 µs
Jan 31 12:46:51 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:46:51 UTC Imported #9699767 0xd07a…5b32 (0 txs, 0.00 Mgas, 0 ms, 0.52 KiB) + another 1 block(s) containing 0 tx(s)
Jan 31 12:47:16 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:47:16 UTC Imported #9699768 0x455c…c1cf (30 txs, 0.98 Mgas, 38 ms, 4.05 KiB)
Jan 31 12:47:19 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:47:19 UTC    1/ 8 peers    264 KiB chain    8 MiB db  0 bytes queue   29 KiB sync  RPC:  0 conn,    1 req/s,  224 µs
Jan 31 12:47:28 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:47:28 UTC Imported #9699769 0x46ad…2270 (0 txs, 0.00 Mgas, 0 ms, 0.52 KiB)
Jan 31 12:47:39 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:47:39 UTC Imported #9699770 0x9b95…9d91 (9 txs, 0.20 Mgas, 2 ms, 1.51 KiB)
Jan 31 12:47:49 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:47:49 UTC    2/ 8 peers    269 KiB chain    8 MiB db  0 bytes queue   30 KiB sync  RPC:  0 conn,    1 req/s,  227 µs
Jan 31 12:47:57 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:47:57 UTC Imported #9699771 0x0bff…d69c (0 txs, 0.00 Mgas, 0 ms, 0.52 KiB)
Jan 31 12:48:06 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:48:06 UTC Imported #9699772 0xb9ce…8034 (3 txs, 0.06 Mgas, 1 ms, 0.87 KiB)
Jan 31 12:48:19 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:48:19 UTC    2/ 8 peers    271 KiB chain    8 MiB db  0 bytes queue   30 KiB sync  RPC:  0 conn,    2 req/s,  234 µs
Jan 31 12:48:29 bcnode-ethereum-classic systemd[1]: Stopping ethereum-classic daemon...
Jan 31 12:48:30 bcnode-ethereum-classic parity[23884]: 2020-01-31 12:48:30 UTC Finishing work, please wait...
Jan 31 12:48:31 bcnode-ethereum-classic systemd[1]: Stopped ethereum-classic daemon.
Jan 31 12:48:56 bcnode-ethereum-classic systemd[1]: Started ethereum-classic daemon.
Jan 31 12:48:56 bcnode-ethereum-classic parity[24144]: Loading config file from /home/ethereum-classic/ethereum-classic.conf
Jan 31 12:48:56 bcnode-ethereum-classic parity[24144]: 2020-01-31 12:48:56 UTC Starting Parity-Ethereum/v2.7.1-stable-6885be0-20200130/x86_64-unknown-linux-gnu/rustc1.40.0
Jan 31 12:48:56 bcnode-ethereum-classic parity[24144]: 2020-01-31 12:48:56 UTC Keys path /ethereum-classic/keys/classic
Jan 31 12:48:56 bcnode-ethereum-classic parity[24144]: 2020-01-31 12:48:56 UTC DB path /ethereum-classic/chains/classic/db/9df24645979d5359
Jan 31 12:48:56 bcnode-ethereum-classic parity[24144]: 2020-01-31 12:48:56 UTC State DB configuration: fast +Trace
Jan 31 12:48:56 bcnode-ethereum-classic parity[24144]: 2020-01-31 12:48:56 UTC Operating mode: active
Jan 31 12:48:56 bcnode-ethereum-classic parity[24144]: 2020-01-31 12:48:56 UTC Warning: Warp Sync is disabled because tracing is turned on.
Jan 31 12:48:56 bcnode-ethereum-classic parity[24144]: 2020-01-31 12:48:56 UTC Configured for Ethereum Classic using Ethash engine
Jan 31 12:49:02 bcnode-ethereum-classic parity[24144]: 2020-01-31 12:49:02 UTC Public node URL: enode://0e77100256b59f52e4554dc3bd3dbe80851391a03ede31e7587bacf560cfaec6f3d284af85f33aa911971d17cb68cecd9be39f0c9597c06d3a066f5818665091@10.17.141.106:30334
Jan 31 12:49:32 bcnode-ethereum-classic parity[24144]: 2020-01-31 12:49:32 UTC    0/ 8 peers   920 bytes chain    3 MiB db  0 bytes queue 544 bytes sync  RPC:  0 conn,    0 req/s,   19 µs
Jan 31 12:50:02 bcnode-ethereum-classic parity[24144]: 2020-01-31 12:50:02 UTC    0/ 8 peers   920 bytes chain    3 MiB db  0 bytes queue 544 bytes sync  RPC:  0 conn,    0 req/s,   20 µs
Jan 31 12:50:32 bcnode-ethereum-classic parity[24144]: 2020-01-31 12:50:32 UTC    0/ 8 peers   920 bytes chain    3 MiB db  0 bytes queue 544 bytes sync  RPC:  0 conn,    1 req/s,   20 µs

@cheeseandcereal
Copy link

Yup, same problem with me. Even changing the bootnodes to ones that I confirmed are active did not help. My node finds a few peers, but never syncs anything, and the blocks db seems to have reset so that latest block is showing up as 0 after updating

@dvdplm
Copy link
Collaborator

dvdplm commented Feb 5, 2020

@cheeseandcereal
Copy link

No, this doesn't appear to fix the problem, in fact, when updating from 2.5 or 2.6 to 2.7.X (including this 2.7.2 pre release which I just checked), the whole DB seems to be destroyed.

Logs from 2.5.13 running -lsync=debug (appearing to operate normally):
pre_update.txt

Then I stopped parity, updated to 2.7.2, and got these logs:
post_update.txt

As you can see, after updating, the best block in the db is set to 0 (this is also reflected when getting latest block number from the rpc), and then parity will basically never find any peers, and no matter how long I leave it running (even if it finds peers), it will never sync any blocks (even after waiting for over an hour)

I also don't see the log that shows db updating from 14 to 15 when updating to 2.7.2 like I did when upgrading to 2.7.X on my ropsten/mainnet nodes. Maybe that has something to do with it?

@dvdplm
Copy link
Collaborator

dvdplm commented Feb 5, 2020

I also don't see the log that shows db updating from 14 to 15 when updating to 2.7.2 like I did when upgrading to 2.7.X on my ropsten/mainnet nodes. Maybe that has something to do with it?

The latest DB version is 14; db versions are not tied to release versions, so it could stay 14 all through 2.9 or forever.

I can see the problem here too, just like you describe it. With 2.6.8 syncing works fine; on 2.7.2 it doesn't find any peers at all (and even when it does, it does not sync).

@cheeseandcereal
Copy link

cheeseandcereal commented Feb 5, 2020

db versions are not tied to release versions, so it could stay 14 all through 2.9 or forever.

I see. Regardless, when updating to 2.7.X from 2.5 or 2.6, the DB latest block seems to get reset to 0 on classic chains. I've tried this 3 or 4 times, and it happens every time.

@dvdplm
Copy link
Collaborator

dvdplm commented Feb 5, 2020

I see. Regardless, when updating to 2.7.X from 2.5 or 2.6, the DB latest block seems to get reset to 0 on classic chains. I've tried this 3 or 4 times, and it happens every time.

Confirmed. Or rather, if I sync classic for a while on 2.6.8 and then switch to 2.7.2 RPC reports 0x0 as the latest block, clearly lying. If I switch back to 2.6.8 all the blocks are there and sync proceeds fine.

@dvdplm
Copy link
Collaborator

dvdplm commented Feb 5, 2020

Seems like there's a genesis hash mismatch between 2.6.x and 2.7.x which means that a 2.7 node will reject peers. E.g.:

2020-02-05 23:13:25  IO Worker #2 TRACE sync  Peer 0 genesis hash mismatch (ours: 0x2868…369d, theirs: 0xd4e5…8fa3)

@niklasad1
Copy link
Collaborator

niklasad1 commented Feb 6, 2020

Hey, please reopen this issue if you still have the issue when 2.7.2 is released meanwhile you can just use the chainspec in stable.

Then just run it by

$ curl -O https://github.com/paritytech/parity-ethereum/blob/stable/ethcore/res/ethereum/classic.json
$ parity --chain classic.json

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants