ipfs / ipfs/kubo

Plan: Bitswap Fuzz

Open
#6,973 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Go
Stars
17.1k
Forks
3.2k
Avg merge
3d 18h
Merged PRs (30d)
11

Description

We should write a bitswap fuzzing test plan.

It should:

* Have at least 50 nodes (ideally 100s).
* All peers serving/asking for blocks.
* Randomly canceling requests.
* Randomly re-starting requests after canceling them.
* Canceling blocks within sessions but not the entire session.
* Asking for blocks from multiple sessions, canceling some requests, etc.
* Randomly killing connections.
* Randomly restarting peers.
* Randomly delaying reads from the blockstore (i.e., delay sending a block and see what happens).

Measure:

* Look for crashes.
* Look for requests that should complete but fail.
* Once all the tests are done and canceled, take a goroutine dump and check to make sure we haven't leaked any goroutines.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.