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

Adjust Fuzz honest multi-instance to avoid intermittent failures #277

Merged
merged 1 commit into from
May 27, 2024

Conversation

masih
Copy link
Member

@masih masih commented May 24, 2024

FuzzHonestMultiInstance_AsyncAgreement intermittently fails on CI, most likely due to taking too long to complete a test.

To avoid intermittent failures:

  • change the honest multi instance tests to cover incremental network sizes, up to 4
  • reduce the length of randomly generated EC chains at each instance as this should not affect the test quality for what it is testing. But it should make it run faster due to less GC.

Additionally, add static corpus that failed locally after extended fuzz time to the fuzz test.

Fixes #251

@codecov-commenter
Copy link

codecov-commenter commented May 24, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 72.00%. Comparing base (add8260) to head (96e0f1d).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #277   +/-   ##
=======================================
  Coverage   72.00%   72.00%           
=======================================
  Files          32       32           
  Lines        2390     2390           
=======================================
  Hits         1721     1721           
  Misses        537      537           
  Partials      132      132           

Copy link

Fuzz test failed on commit 9b03360. To troubleshoot locally, download the seed corpus using GitHub CLI by running:

gh run download 9229354426 -n testdata

Aleternatively, download directly from here.

Copy link

Fuzz test failed on commit cf85d02. To troubleshoot locally, download the seed corpus using GitHub CLI by running:

gh run download 9229469451 -n testdata

Aleternatively, download directly from here.

`FuzzHonestMultiInstance_AsyncAgreement` intermittently fails on CI,
most likely due to taking too long to complete a test.

To avoid intermittent failures:
* change the honest multi instance tests to cover incremental network
  sizes, up to 4
* reduce the length of randomly generated EC chains at each instance as
  this should not affect the test quality for what it is testing. But it
  should make it run faster due to less GC.

Additionally, add static corpus that failed locally after extended fuzz
time to the fuzz test.

Fixes #251
@masih masih force-pushed the masih/y-fuzz-test-fail branch 2 times, most recently from 96e0f1d to 10c5d22 Compare May 24, 2024 21:15
@masih
Copy link
Member Author

masih commented May 24, 2024

I have fuzzed the changes here in CI, specifically for FuzzHonestMultiInstance_AsyncAgreement at fuzz time of 20 minutes and it looks good, see here.

That gives me confidence that the change here would resolve the issue without affecting coverage.

@masih masih requested review from Stebalien, anorth and Kubuxu May 24, 2024 21:17
@masih masih marked this pull request as ready for review May 24, 2024 21:20
@masih masih changed the title Fuzz honest multi-instance with incremental network sizes Adjust Fuzz honest multi-instance to avoid intermittent failures May 24, 2024
@masih masih enabled auto-merge May 25, 2024 19:34
@masih masih added this pull request to the merge queue May 27, 2024
Merged via the queue into main with commit c3b8eec May 27, 2024
4 checks passed
@masih masih deleted the masih/y-fuzz-test-fail branch May 27, 2024 14:12
@anorth
Copy link
Member

anorth commented May 27, 2024

We could probably skip network sizes 1 and 2, and maybe 3. 4 is much more useful, and anything a bit larger would be handy too. But I understand the duration limitations. A quick look at optimising could be worthwhile.

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.

Investigate fuzzing process hung or terminated unexpectedly
4 participants