Open rayn316 opened 1 year ago
Hello @sundafa May I know how could you start the external node, I followed the instruction on GitHub, but it crash right away. Thank you in advance.
@james0p0 i don't know how to reply you. Running this node requires a database snapshot file to run, maybe you should contact the official
Hello @sundafa May I know how could you start the external node, I followed the instruction on GitHub, but it crash right away. Thank you in advance.
@james0p0 the node can't be run permissionlessly yet, but will be soon.
To the original issue: RPC errors indeed shouldn't crash the node. We'll investigate. Thanks for the report.
To the original issue: RPC errors indeed shouldn't crash the node. We'll investigate. Thanks for the report.
Seems like this is an issue with the EN when syncing from the main node. Maybe an unhandled error type when calling a certain rpc method on the main node while fetching?
The fetcher can handle 2 types of RpcError
errors:
But could a different type of error get there? Something like ErrorCode::InternalError
or Web3Error::InternalError
if the jsonrpc request fails on the server, without it being a network error?
If the following line unwraps to an Err
, and the Err
is not Some(err @ RpcError::Transport(_) | err @ RpcError::RequestTimeout)
, the Unexpected error in the fetcher
error that is shown in the original isssue's logs could be reached? We can follow the error propagation chain:
Also, this type of error handling also happens in the reorg detector, so maybe a similar kind of panic can also happen there?
Please keep in mind I am new to this codebase and don't have the snapshot so cannot run the external node myself to test everything, but hope this info at least makes debugging a little easier.
If I missed anything or got something wrong please point it out. Thanks!
Hello @RedaOps thank you very much for a deep dive there! We'll analyse this and get back to you and to this issue.
@RomanBrodetski If it's confirmed that the bug is caused by my comment above, how could I get the snapshot to run my local external node and test stuff? We can decide on a fix and I can open a PR that fixes this. Also, there is a comment there that a fibonacci backoff could be implemented for network errors: I could implement that as well if the code will not become deprecated in favor of the consensus node.
Hello @sundafa May I know how could you start the external node, I followed the instruction on GitHub, but it crash right away. Thank you in advance.
@james0p0 the node can't be run permissionlessly yet, but will be soon.
So, can we run the external node permissionlessly now??
I don't know what request caused it, I only found the log before the crash.
log info