-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
getLogs broken in 4.0.7 "Bincode error" #2795
Comments
correction: looks like its only 4.0.7 but loading 4.0.7 messed up my evm state. afterwards both 4.0.5 and 4.0.3 (where it clearly worked before) show the same error now. will load a snapshot and try to pin it down. |
confirmed: 4.0.3 and 4.0.5 works, 4.0.7 gives the error. |
Hi Kuegi, thanks for reporting this. I cannot seem to recreate your issue (yet) but everything seems to be working fine on my end. The bincode error is coming from the rocksdb query (the EVM db) serialize/de-serialization error. This could potentially be a result of a corrupted db on your end, and I wouldnt be surprise if there were some undetected corruption in the evm db state because these were not safeguarded in the versions prior to v4.0.7. This would be a state issue on your end and perhaps re-indexing or reloading the chain from snapshot will resolve your issue. I will spend abit of time today validating and trying to recreate your error, but would appreciate if you could get back if you were able to recreate the error on a snapshot. |
The reason as to why a block range limit was included in the PR fixes is for maximum reliability of queries, with an additional a layer of security to the node against DoS. The RPC now fully aligns with geth, and that PR fixes are actually extremely crucial for the stability of the node which is enhanced in v4.0.6 onwards. |
Update - managed to recreate the issue on my end and this seems to be a bug on PR #2736. Nothing wrong on your end and we will be resolving this, very much appreciated for spotting this. 🙏🏻 |
Summary
eth_getLogs fails with
Custom error: error calling EVM : "EVM: Bincode error"
on some events. It worked all good on 4.0.3 and 4.0.5 but in in 4.0.7, as soon as the range is big enough (or if you request logs from some SmartContracts like stakeX or the Bonds) you receive the error instead.Steps to Reproduce
call
curl http://127.0.0.1:8551 -X POST -H "Content-Type: application/json" --data '{"method":"eth_getLogs","params":[{"fromBlock":"0x30700","toBlock":"0x30770"}],"id":1,"jsonrpc":"2.0"}'
on current mainnet with node >= 4.0.7
the range is "random", I just went back long enough to until the error occurs. didn't happen with only the few latest blocks. added the toBlock so you do not run into a limit error when you investigate (btw. that limit is super annoying on local nodes)
The text was updated successfully, but these errors were encountered: