This repository has been archived by the owner on Nov 6, 2020. It is now read-only.
Panic on invalid back-reference. #8678
Labels
F1-panic 🔨
The client panics and exits without proper error handling.
M4-core ⛓
Core client code / Rust.
P2-asap 🌊
No need to stop dead in your tracks, however issue should be addressed as soon as possible.
Milestone
In the process of using Web3 to inspect the Ethereum main chain, I feed the Parity light client an RPC call that crashed it. Specifically, I asked for for the block
0x1784ac
(full hash given below), which is as an uncle of0x248fe7
. Asking for0x248fe7
successfully returns the block, including any requests for an arbitrary depth of ancestors.My naive assessment of the situation is that because I am running a light client, the requested block was not recorded on my machine, leading to a chain of events which caused the client to panic. I propose this with a high degree of confidence, as this event only occurred after I first asked for an uncle block while asking for main-chain blocks continues to work.
I presume that the correct behavior would be to either retrieve the block from the Ethereum network or answer with some standard "no such block" kind of RPC response. What follows is the complete transcript of the event for the Parity client:
Steps to reproduce:
The following steps reliably allow me to reproduce the above error.
First, start Parity as such:
Second, via NodeJS, ask for
0x1784ac
:The result is the following error on Node's end:
At this time the instance of Parity has crashed with the previously given output.
The text was updated successfully, but these errors were encountered: