-
Notifications
You must be signed in to change notification settings - Fork 1.7k
ethereum libfuzzer integration small change #9547
Conversation
It looks like @cheme signed our Contributor License Agreement. 👍 Many thanks, Parity Technologies CLA Bot |
Can you elaborate on this? Not sure I understand what this entails. Not sure if it makes sense, but it'd be easier (for me) to review this if I knew what the testing situation (adding new tests? running the current ones?) looks like now and how it'd improve with this change. Thanks! |
It's an ethereum project (I realize the linked repo is private) that uses https://llvm.org/docs/LibFuzzer.html on both geth and parity (I think aleth also plugged on it at some point but I am not sure). The fuzzer is mainly targetting the evm interpreter. The manual changes are what is in this PR (not much but enough to be a bad constraint). There is also some rust code in the fuzzer project (which need those small changes and exposes the C fuzz target), but as a first step removing this constraint will be good. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I can't think of surprising/incorrect usages of exposing pod_account
, and I believe it doesn't break any of our current assumptions.
@@ -194,6 +207,7 @@ impl<'a> EvmTestClient<'a> { | |||
).map_err(EvmTestError::Evm) | |||
} | |||
|
|||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extra blank line. Please remove!
please merge master to update pipelines |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
…mon-deps * origin/master: ethereum libfuzzer integration small change (#9547) cli: remove reference to --no-ui in --unlock flag help (#9616) remove master from releasable branches (#9655) ethcore/VerificationQueue don't spawn up extra `worker-threads` when explictly specified not to (#9620) RPC: parity_getBlockReceipts (#9527) Remove unused dependencies (#9589) ignore key_server_cluster randomly failing tests (#9639) ethcore: handle vm exception when estimating gas (#9615) fix bad-block reporting no reason (#9638) Use static call and apparent value transfer for block reward contract code (#9603) HF in POA Sokol (2018-09-19) (#9607) bump smallvec to 0.6 in ethcore-light, ethstore and whisper (#9588) Add constantinople conf to EvmTestClient. (#9570)
This PR, contains very few change to avoid maintaining a parity branch for ethereum libfuzzer project (https://github.com/ethereum/ethereum-vm-fuzzer).
Currently parity fuzzing with libfuzzer requires manual changes (or maintaining their own branch which is also difficult and I see it as kind of a blocker for integrating the libfuzzer operation to others ethereum testing projects).
In this pr we expose the
pod_account
module as public. I do not believe that it is a big issue (pod_state
module for instance is already public), I can also reexport 'PodAccount' from pod_state or look for other ways of doing it.We also add a new test function for
EvmTestClient
: call_envinfo which allows the fuzzer to fuzz on envinfo. Since it only impactEvmTestClient
(test), I think it is a minor change.