-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[Light client] Disconnect all its peers subsequently to an eth_call #9551
Comments
Note that I can not reproduce it all the time :/ |
I haven't been able to reproduce this yet |
One thing that can help reproduce it very quickly:
Fether sends a lot of requests and I generally I am able to freeze it in 30sec max. |
Ok, I have no real idea why it is dropping all its peer maybe related to #9526 However the freezing is probably because: technically every execution request on a non-existent account will end up in a So, should we expose a new request type for |
I agree with @niklasad1, looks like implementation of |
About the
This seems like a possibility to me (I may have miss something in my code reading). The log got a block import before failing which means the occurrence of bad proof were close to a new block, it would be interesting to confirm it with other logs. |
I got some positive results, running cheme@39ab72e . So there is probably also the race problem from my previous comment to fix. Not sure about the way to fix it properly (in my branch hacky fix, we may be querying a block before the latest). |
I'm fairly confident that #9591 solves this issue and it actually matches the behavior that we have in the full-node implementation, see https://github.com/paritytech/parity-ethereum/blob/master/ethcore/src/client/client.rs#L1501 and https://github.com/paritytech/parity-ethereum/blob/master/ethcore/src/client/client.rs#L1244 |
After connecting a light client to a reserved full node (with #9608), it seems like the light client is making too many requests in a loop thus loosing all credits (it doesn't because of #9448):
|
I'm not sure it's the reason @ordian. 2018-09-24 11:23:44 IO Worker #1 INFO import 6/50 peers 2 MiB cache 0 bytes queue RPC: 1 conn, 7 req/s, 152 µs
2018-09-24 11:23:45 IO Worker #3 TRACE pip Sending status to peer 56
2018-09-24 11:23:45 IO Worker #1 TRACE pip Peer 56 disconnecting
2018-09-24 11:23:48 IO Worker #2 TRACE pip Incoming packet 1 from peer 34
2018-09-24 11:23:48 IO Worker #2 TRACE pip requesting from peer 34. Cost: 1330496; Available: 30000000000
2018-09-24 11:23:48 IO Worker #0 TRACE pip Incoming packet 1 from peer 47
2018-09-24 11:23:48 IO Worker #3 TRACE pip Incoming packet 1 from peer 24
2018-09-24 11:23:48 IO Worker #3 TRACE pip Incoming packet 1 from peer 45
2018-09-24 11:23:48 IO Worker #1 TRACE pip Incoming packet 1 from peer 19
2018-09-24 11:23:48 IO Worker #2 TRACE pip Sending status to peer 14
2018-09-24 11:23:48 IO Worker #0 TRACE pip Peer 14 disconnecting
2018-09-24 11:23:48 IO Worker #0 TRACE pip Incoming packet 1 from peer 36
2018-09-24 11:23:48 IO Worker #2 TRACE pip Incoming packet 3 from peer 34
2018-09-24 11:23:48 IO Worker #2 TRACE pip pre-verifying response for Request #477 from peer 34
2018-09-24 11:23:48 IO Worker #2 TRACE pip requesting from peer 19. Cost: 26884; Available: 30000000000
2018-09-24 11:23:49 IO Worker #0 TRACE pip Incoming packet 3 from peer 19
2018-09-24 11:23:49 IO Worker #0 TRACE pip pre-verifying response for Request #478 from peer 19
2018-09-24 11:23:49 Verifier #0 INFO import Imported #8838535 0xd5f1…e978 (0.16 Mgas)
2018-09-24 11:23:49 IO Worker #1 TRACE pip Sending status to peer 7
2018-09-24 11:23:49 IO Worker #1 TRACE pip Peer 7 disconnecting
2018-09-24 11:23:51 IO Worker #3 TRACE pip Sending status to peer 7
2018-09-24 11:23:51 IO Worker #3 TRACE pip Peer 7 disconnecting
2018-09-24 11:23:51 IO Worker #1 TRACE pip Sending status to peer 26
2018-09-24 11:23:51 IO Worker #2 TRACE pip Peer 26 disconnecting
2018-09-24 11:23:52 IO Worker #1 TRACE pip Sending status to peer 26
2018-09-24 11:23:52 IO Worker #0 TRACE pip Peer 26 disconnecting
2018-09-24 11:23:52 IO Worker #2 TRACE pip Sending status to peer 46
2018-09-24 11:23:52 IO Worker #3 TRACE pip Peer 46 disconnecting
2018-09-24 11:23:53 IO Worker #2 TRACE pip Sending status to peer 17
2018-09-24 11:23:53 IO Worker #0 TRACE pip Peer 17 disconnecting
2018-09-24 11:23:53 IO Worker #0 TRACE pip Sending status to peer 61
2018-09-24 11:23:53 IO Worker #2 TRACE pip Peer 61 disconnecting
2018-09-24 11:23:53 IO Worker #1 TRACE pip Sending status to peer 28
2018-09-24 11:23:53 IO Worker #3 TRACE pip Peer 28 disconnecting
2018-09-24 11:23:54 IO Worker #2 TRACE pip Sending status to peer 3
2018-09-24 11:23:54 IO Worker #0 TRACE pip Peer 3 disconnecting
2018-09-24 11:23:54 TRACE pip requesting from peer 34. Cost: 606995; Available: 30000000000
2018-09-24 11:23:54 TRACE pip requesting from peer 34. Cost: 606995; Available: 29999393005
2018-09-24 11:23:54 TRACE pip requesting from peer 19. Cost: 502013; Available: 30000000000
2018-09-24 11:23:54 IO Worker #3 TRACE pip Sending status to peer 37
2018-09-24 11:23:54 IO Worker #2 TRACE pip Peer 37 disconnecting
2018-09-24 11:23:54 IO Worker #3 TRACE pip Incoming packet 3 from peer 34
2018-09-24 11:23:54 IO Worker #3 TRACE pip pre-verifying response for Request #479 from peer 34
2018-09-24 11:23:54 TRACE pip requesting from peer 34. Cost: 606995; Available: 29998786010
2018-09-24 11:23:54 TRACE pip requesting from peer 34. Cost: 606995; Available: 29998179015
2018-09-24 11:23:54 IO Worker #2 TRACE pip Incoming packet 3 from peer 19
2018-09-24 11:23:54 IO Worker #2 TRACE pip pre-verifying response for Request #481 from peer 19
2018-09-24 11:23:55 IO Worker #1 TRACE pip Incoming packet 3 from peer 34
2018-09-24 11:23:55 IO Worker #1 TRACE pip pre-verifying response for Request #480 from peer 34
2018-09-24 11:23:55 IO Worker #2 TRACE pip Incoming packet 3 from peer 34
2018-09-24 11:23:55 IO Worker #2 TRACE pip pre-verifying response for Request #482 from peer 34
2018-09-24 11:23:55 IO Worker #1 TRACE pip Incoming packet 3 from peer 34
2018-09-24 11:23:55 IO Worker #1 TRACE pip pre-verifying response for Request #483 from peer 34
2018-09-24 11:23:55 TRACE pip requesting from peer 19. Cost: 950000; Available: 29999497987
2018-09-24 11:23:55 IO Worker #2 TRACE pip Incoming packet 3 from peer 19
2018-09-24 11:23:55 IO Worker #2 TRACE pip pre-verifying response for Request #484 from peer 19
2018-09-24 11:23:55 TRACE pip requesting from peer 47. Cost: 290483; Available: 30000000000
2018-09-24 11:23:55 TRACE pip requesting from peer 45. Cost: 239504; Available: 30000000000
2018-09-24 11:23:55 TRACE pip requesting from peer 34. Cost: 606995; Available: 29997572020
2018-09-24 11:23:55 TRACE pip requesting from peer 45. Cost: 239504; Available: 29999760496
2018-09-24 11:23:55 TRACE pip requesting from peer 19. Cost: 502013; Available: 29999050000
2018-09-24 11:23:55 TRACE pip requesting from peer 24. Cost: 718791; Available: 30000000000
2018-09-24 11:23:55 IO Worker #2 TRACE pip Incoming packet 3 from peer 47
2018-09-24 11:23:55 IO Worker #2 TRACE pip pre-verifying response for Request #485 from peer 47
2018-09-24 11:23:55 IO Worker #3 TRACE pip Incoming packet 3 from peer 34
2018-09-24 11:23:55 IO Worker #3 TRACE pip pre-verifying response for Request #487 from peer 34
2018-09-24 11:23:55 TRACE pip requesting from peer 34. Cost: 850000; Available: 29999393005
2018-09-24 11:23:55 IO Worker #0 TRACE pip Incoming packet 3 from peer 24
2018-09-24 11:23:55 IO Worker #0 TRACE pip pre-verifying response for Request #490 from peer 24
2018-09-24 11:23:55 TRACE pip requesting from peer 45. Cost: 1150000; Available: 29999520992
2018-09-24 11:23:55 IO Worker #3 TRACE pip Incoming packet 3 from peer 45
2018-09-24 11:23:55 IO Worker #3 TRACE pip pre-verifying response for Request #486 from peer 45
2018-09-24 11:23:56 IO Worker #0 TRACE pip Incoming packet 3 from peer 19
2018-09-24 11:23:56 IO Worker #0 TRACE pip pre-verifying response for Request #489 from peer 19
2018-09-24 11:23:56 IO Worker #2 TRACE pip Incoming packet 3 from peer 45
2018-09-24 11:23:56 IO Worker #2 TRACE pip pre-verifying response for Request #488 from peer 45
2018-09-24 11:23:56 TRACE pip requesting from peer 47. Cost: 290483; Available: 29999709517
2018-09-24 11:23:56 TRACE pip requesting from peer 24. Cost: 718791; Available: 29999281209
2018-09-24 11:23:56 TRACE pip requesting from peer 24. Cost: 718791; Available: 29998562418
2018-09-24 11:23:56 TRACE pip requesting from peer 36. Cost: 528147; Available: 30000000000
2018-09-24 11:23:56 TRACE pip requesting from peer 36. Cost: 528147; Available: 29999471853
2018-09-24 11:23:56 IO Worker #3 TRACE pip Incoming packet 1 from peer 47
2018-09-24 11:23:56 IO Worker #3 TRACE pip requesting from peer 47. Cost: 4100224; Available: 29999419034
2018-09-24 11:23:56 TRACE pip requesting from peer 24. Cost: 718791; Available: 29997843627
2018-09-24 11:23:56 IO Worker #1 TRACE pip Incoming packet 3 from peer 34
2018-09-24 11:23:56 IO Worker #1 TRACE pip pre-verifying response for Request #491 from peer 34
2018-09-24 11:23:56 IO Worker #1 TRACE pip Incoming packet 1 from peer 36
2018-09-24 11:23:56 IO Worker #0 TRACE pip Incoming packet 3 from peer 47
2018-09-24 11:23:56 IO Worker #0 TRACE pip pre-verifying response for Request #493 from peer 47
2018-09-24 11:23:56 IO Worker #0 TRACE pip Incoming packet 3 from peer 45
2018-09-24 11:23:56 IO Worker #0 TRACE pip pre-verifying response for Request #492 from peer 45
2018-09-24 11:23:56 IO Worker #1 TRACE pip Incoming packet 1 from peer 24
2018-09-24 11:23:56 IO Worker #0 TRACE pip Incoming packet 3 from peer 36
2018-09-24 11:23:56 IO Worker #0 TRACE pip pre-verifying response for Request #496 from peer 36
2018-09-24 11:23:56 IO Worker #3 TRACE pip Incoming packet 1 from peer 34
2018-09-24 11:23:56 IO Worker #1 TRACE pip Incoming packet 3 from peer 36
2018-09-24 11:23:56 IO Worker #1 TRACE pip pre-verifying response for Request #497 from peer 36
2018-09-24 11:23:56 IO Worker #0 TRACE pip Incoming packet 1 from peer 19
2018-09-24 11:23:56 IO Worker #2 TRACE pip Incoming packet 1 from peer 45
2018-09-24 11:23:56 IO Worker #3 TRACE pip Incoming packet 3 from peer 24
2018-09-24 11:23:56 IO Worker #3 TRACE pip pre-verifying response for Request #494 from peer 24
2018-09-24 11:23:56 IO Worker #0 TRACE pip Incoming packet 3 from peer 24
2018-09-24 11:23:56 IO Worker #0 TRACE pip pre-verifying response for Request #495 from peer 24
2018-09-24 11:23:56 TRACE pip requesting from peer 19. Cost: 950000; Available: 29998547987
2018-09-24 11:23:56 IO Worker #3 TRACE pip Incoming packet 3 from peer 47
2018-09-24 11:23:56 IO Worker #3 TRACE pip pre-verifying response for Request #498 from peer 47
2018-09-24 11:23:56 IO Worker #3 TRACE pip requesting from peer 24. Cost: 35934; Available: 29997124836
2018-09-24 11:23:56 TRACE pip requesting from peer 45. Cost: 239504; Available: 29998370992
2018-09-24 11:23:56 TRACE pip requesting from peer 24. Cost: 718791; Available: 29997088902
2018-09-24 11:23:56 TRACE pip requesting from peer 45. Cost: 239504; Available: 29998131488
2018-09-24 11:23:56 TRACE pip requesting from peer 19. Cost: 502013; Available: 29997597987
2018-09-24 11:23:56 TRACE pip requesting from peer 36. Cost: 528147; Available: 29999471853
2018-09-24 11:23:56 TRACE pip requesting from peer 47. Cost: 290483; Available: 29995899776
2018-09-24 11:23:56 IO Worker #1 TRACE pip Incoming packet 3 from peer 24
2018-09-24 11:23:56 IO Worker #1 TRACE pip pre-verifying response for Request #499 from peer 24
2018-09-24 11:23:56 TRACE pip requesting from peer 34. Cost: 850000; Available: 29998543005
2018-09-24 11:23:56 IO Worker #2 TRACE pip Incoming packet 3 from peer 36
2018-09-24 11:23:56 IO Worker #2 TRACE pip pre-verifying response for Request #506 from peer 36
2018-09-24 11:23:56 IO Worker #3 TRACE pip Incoming packet 3 from peer 47
2018-09-24 11:23:56 IO Worker #3 TRACE pip pre-verifying response for Request #507 from peer 47
2018-09-24 11:23:57 TRACE pip requesting from peer 47. Cost: 1700000; Available: 29995609293
2018-09-24 11:23:57 IO Worker #1 TRACE pip Incoming packet 3 from peer 24
2018-09-24 11:23:57 IO Worker #1 TRACE pip pre-verifying response for Request #501 from peer 24
2018-09-24 11:23:57 Verifier #2 INFO import Imported #8838537 0xcd9e…3507 (0.11 Mgas)
2018-09-24 11:23:57 IO Worker #2 TRACE pip Incoming packet 3 from peer 19
2018-09-24 11:23:57 IO Worker #2 TRACE pip pre-verifying response for Request #500 from peer 19
2018-09-24 11:23:57 IO Worker #3 TRACE pip Incoming packet 3 from peer 45
2018-09-24 11:23:57 IO Worker #3 TRACE pip pre-verifying response for Request #502 from peer 45
2018-09-24 11:23:57 IO Worker #0 TRACE pip Incoming packet 3 from peer 47
2018-09-24 11:23:57 IO Worker #0 TRACE pip pre-verifying response for Request #509 from peer 47
2018-09-24 11:23:57 IO Worker #3 TRACE pip Incoming packet 3 from peer 24
2018-09-24 11:23:57 IO Worker #3 TRACE pip pre-verifying response for Request #503 from peer 24
2018-09-24 11:23:57 IO Worker #1 TRACE pip Incoming packet 3 from peer 34
2018-09-24 11:23:57 IO Worker #1 TRACE pip pre-verifying response for Request #508 from peer 34
2018-09-24 11:23:57 IO Worker #1 TRACE pip Incoming packet 4 from peer 34
2018-09-24 11:23:57 IO Worker #1 TRACE pip Received an update to request credit params from peer 34
2018-09-24 11:23:57 IO Worker #2 TRACE pip Incoming packet 3 from peer 45
2018-09-24 11:23:57 IO Worker #2 TRACE pip pre-verifying response for Request #504 from peer 45
2018-09-24 11:23:57 TRACE pip requesting from peer 36. Cost: 1350000; Available: 29998943706
2018-09-24 11:23:57 IO Worker #2 TRACE pip Incoming packet 3 from peer 19
2018-09-24 11:23:57 IO Worker #2 TRACE pip pre-verifying response for Request #505 from peer 19
2018-09-24 11:23:57 IO Worker #0 TRACE pip Incoming packet 3 from peer 36
2018-09-24 11:23:57 IO Worker #0 TRACE pip pre-verifying response for Request #510 from peer 36
2018-09-24 11:23:57 IO Worker #0 TRACE pip Initiating disable of peer 36
2018-09-24 11:23:57 IO Worker #0 TRACE pip requesting from peer 47. Cost: 1700000; Available: 29993909293
2018-09-24 11:23:57 IO Worker #1 TRACE pip Peer 36 disconnecting
2018-09-24 11:23:57 IO Worker #2 TRACE pip Incoming packet 3 from peer 47
2018-09-24 11:23:57 IO Worker #2 TRACE pip pre-verifying response for Request #511 from peer 47
2018-09-24 11:23:57 IO Worker #2 TRACE pip Initiating disable of peer 47
2018-09-24 11:23:57 IO Worker #2 TRACE pip requesting from peer 24. Cost: 3400000; Available: 29999245275
2018-09-24 11:23:57 IO Worker #0 TRACE pip Peer 47 disconnecting
2018-09-24 11:23:57 IO Worker #0 TRACE pip Incoming packet 3 from peer 24
2018-09-24 11:23:57 IO Worker #0 TRACE pip pre-verifying response for Request #512 from peer 24
2018-09-24 11:23:58 IO Worker #0 TRACE pip Initiating disable of peer 24
2018-09-24 11:23:58 IO Worker #0 TRACE pip requesting from peer 24. Cost: 3400000; Available: 29996600000
2018-09-24 11:23:58 IO Worker #3 TRACE pip Peer 24 disconnecting
2018-09-24 11:23:58 IO Worker #3 TRACE pip requesting from peer 45. Cost: 1150000; Available: 29999520992
2018-09-24 11:23:58 IO Worker #3 TRACE pip Incoming packet 3 from peer 45
2018-09-24 11:23:58 IO Worker #3 TRACE pip pre-verifying response for Request #514 from peer 45
2018-09-24 11:23:58 IO Worker #3 TRACE pip Initiating disable of peer 45
2018-09-24 11:23:58 IO Worker #3 TRACE pip requesting from peer 34. Cost: 800000; Available: 30000000000
2018-09-24 11:23:58 IO Worker #2 TRACE pip Peer 45 disconnecting
2018-09-24 11:23:58 IO Worker #2 TRACE pip Incoming packet 3 from peer 34
2018-09-24 11:23:58 IO Worker #2 TRACE pip pre-verifying response for Request #515 from peer 34
2018-09-24 11:23:58 IO Worker #2 TRACE pip Initiating disable of peer 34
2018-09-24 11:23:58 IO Worker #2 TRACE pip requesting from peer 34. Cost: 800000; Available: 29999200000
2018-09-24 11:23:58 IO Worker #3 TRACE pip Peer 34 disconnecting
2018-09-24 11:23:58 IO Worker #3 TRACE pip requesting from peer 19. Cost: 950000; Available: 30000000000
2018-09-24 11:23:59 IO Worker #3 TRACE pip Incoming packet 3 from peer 19
2018-09-24 11:23:59 IO Worker #3 TRACE pip pre-verifying response for Request #517 from peer 19
2018-09-24 11:23:59 IO Worker #3 TRACE pip Initiating disable of peer 19
2018-09-24 11:23:59 IO Worker #3 TRACE pip requesting from peer 19. Cost: 950000; Available: 29999050000
2018-09-24 11:23:59 IO Worker #2 TRACE pip Peer 19 disconnecting
2018-09-24 11:24:01 IO Worker #2 TRACE pip Sending status to peer 41
2018-09-24 11:24:01 IO Worker #0 TRACE pip Peer 41 disconnecting
2018-09-24 11:24:19 IO Worker #0 INFO import 0/50 peers 2 MiB cache 0 bytes queue RPC: 1 conn, 8 req/s, 142 µs |
How to reproduce :
Launching parity with:
parity --light --chain kovan -l on_demand,rpc
and calling the bellow RPC a coupe times (it hapened after 4-5 times), it ends up in a state where all peers have been disconnected.
edit: I sometimes can't reproduce it even after ~20 calls
After getting the above result (all good), I get:
This makes the light client disconnect to all its peers (from originally 5 to 0), here are the full logs with
rpc
andon_demand
tracesThe text was updated successfully, but these errors were encountered: