Skip to content
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

add new fuzzer + google oss-fuzz integration files #8534

Merged
merged 6 commits into from
Jun 7, 2023
Merged

add new fuzzer + google oss-fuzz integration files #8534

merged 6 commits into from
Jun 7, 2023

Conversation

gedigi
Copy link
Contributor

@gedigi gedigi commented Jun 6, 2023

Description

This PR introduces a new fuzzer crate that hosts fuzz tests for aptos-core.

The first version of the fuzzer includes these fuzz tests:

  • Move Bytecode Verifier CodeUnit and Mixed modules
  • Move execute entry function
  • Move MoveValue decorate/undecorate
  • Move MoveValue deserialize
  • Move Value deserialize
  • Signed Transaction deserialize

After this PR is merged, I'll push the integration scripts to Google oss-fuzz repo, and after that I'll create another PR here to include the GitHub action integration.

Test Plan

Testing is manual for now. The script test-fuzzers.sh runs 100 iterations of each fuzzer and ensures they don't crash.

@gedigi gedigi requested a review from a team as a code owner June 6, 2023 01:50
@gedigi gedigi requested a review from wrwg June 6, 2023 01:50
auto_ccs:
- "davidiw@aptoslabs.com"
- "security@aptoslabs.com"
- "wg@aptoslabs.com"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wrwg @davidiw these lines grant you access to Google's ClusterFuzz and notifies you when new issues are created

@gedigi gedigi requested a review from davidiw June 6, 2023 01:55
@gedigi gedigi changed the title add new fuzzer + google oss-fuzz integration script add new fuzzer + google oss-fuzz integration files Jun 6, 2023
@sionescu
Copy link
Contributor

sionescu commented Jun 6, 2023

@gedigi please rebase the branch on main, since it looks like it's pretty old

@gedigi
Copy link
Contributor Author

gedigi commented Jun 6, 2023

@gedigi please rebase the branch on main, since it looks like it's pretty old

rebased and force-pushed.

@gedigi gedigi removed the request for review from brianolson June 6, 2023 02:47
Copy link
Contributor

@rustielin rustielin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lfg

@gedigi gedigi enabled auto-merge (squash) June 6, 2023 23:55
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
Copy link
Contributor

github-actions bot commented Jun 7, 2023

✅ Forge suite compat success on testnet_2d8b1b57553d869190f61df1aaf7f31a8fc19a7b ==> bae6d7f379c2a9372bd3c8e04ade6bfd3cf710e9

Compatibility test results for testnet_2d8b1b57553d869190f61df1aaf7f31a8fc19a7b ==> bae6d7f379c2a9372bd3c8e04ade6bfd3cf710e9 (PR)
1. Check liveness of validators at old version: testnet_2d8b1b57553d869190f61df1aaf7f31a8fc19a7b
compatibility::simple-validator-upgrade::liveness-check : 10302 TPS, 3643 ms latency, 6100 ms p99 latency,no expired txns
2. Upgrading first Validator to new version: bae6d7f379c2a9372bd3c8e04ade6bfd3cf710e9
compatibility::simple-validator-upgrade::single-validator-upgrade : 5948 TPS, 6898 ms latency, 9400 ms p99 latency,no expired txns
3. Upgrading rest of first batch to new version: bae6d7f379c2a9372bd3c8e04ade6bfd3cf710e9
compatibility::simple-validator-upgrade::half-validator-upgrade : 6101 TPS, 6206 ms latency, 8900 ms p99 latency,no expired txns
4. upgrading second batch to new version: bae6d7f379c2a9372bd3c8e04ade6bfd3cf710e9
compatibility::simple-validator-upgrade::rest-validator-upgrade : 8114 TPS, 4631 ms latency, 8300 ms p99 latency,no expired txns
5. check swarm health
Compatibility test for testnet_2d8b1b57553d869190f61df1aaf7f31a8fc19a7b ==> bae6d7f379c2a9372bd3c8e04ade6bfd3cf710e9 passed
Test Ok

@github-actions
Copy link
Contributor

github-actions bot commented Jun 7, 2023

✅ Forge suite land_blocking success on bae6d7f379c2a9372bd3c8e04ade6bfd3cf710e9

performance benchmark : 5495 TPS, 7194 ms latency, 27700 ms p99 latency,(!) expired 178 out of 2346920 txns
Test Ok

@github-actions
Copy link
Contributor

github-actions bot commented Jun 7, 2023

✅ Forge suite framework_upgrade success on aptos-node-v1.3.0_3fc3d42b6cfe27460004f9a0326451bcda840a60 ==> bae6d7f379c2a9372bd3c8e04ade6bfd3cf710e9

Compatibility test results for aptos-node-v1.3.0_3fc3d42b6cfe27460004f9a0326451bcda840a60 ==> bae6d7f379c2a9372bd3c8e04ade6bfd3cf710e9 (PR)
Upgrade the nodes to version: bae6d7f379c2a9372bd3c8e04ade6bfd3cf710e9
framework_upgrade::framework-upgrade::full-framework-upgrade : 5976 TPS, 6721 ms latency, 14700 ms p99 latency,no expired txns
5. check swarm health
Compatibility test for aptos-node-v1.3.0_3fc3d42b6cfe27460004f9a0326451bcda840a60 ==> bae6d7f379c2a9372bd3c8e04ade6bfd3cf710e9 passed
Test Ok

@gedigi gedigi merged commit e267e3e into main Jun 7, 2023
@gedigi gedigi deleted the gdg/fuzzer branch June 7, 2023 17:45
banool pushed a commit that referenced this pull request Jul 7, 2023
This commit introduces a new fuzzer crate that hosts fuzz tests for aptos-core.

The first version of the fuzzer includes these fuzz tests:
- Move Bytecode Verifier CodeUnit and Mixed modules
- Move execute entry function
- Move MoveValue decorate/undecorate
- Move MoveValue deserialize
- Move Value deserialize
- Signed Transaction deserialize
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants