Session Details
Date: 01-01-2025
Time: IST 20:00 (UTC 14:30)
Link: PR #31549
Difficulty: Medium
Motivation:
This PR expands the CheckGlobals utility that was introduced in bitcoin/bitcoin#31486 and should help with fuzz stability (bitcoin/bitcoin#29018).
System time shouldn't be used when running a fuzz test, as it is likely to introduce instability (non-determinism). This PR identifies and fixes the targets that were calling system time without setting mock time at the start of an iteration.
RemovingSetMockTime() from any one of these targets should result in a crash and a message describing the issue.
Questions:
- What is fuzzing and Why is it used ?
- What is stability in fuzz tests ?
- Why replacing
Systemtime is important for stability of fuzz tests?
- How is
SetMockTime() improving the stability of the fuzz tests?
- How is the code Identifying the pieces of code using
Systemtime in there code ?
Learnings:
tests
fuzz
Session Details
Date: 01-01-2025
Time: IST 20:00 (UTC 14:30)
Link: PR #31549
Difficulty: Medium
Motivation:
This PR expands the CheckGlobals utility that was introduced in bitcoin/bitcoin#31486 and should help with fuzz stability (bitcoin/bitcoin#29018).
System time shouldn't be used when running a fuzz test, as it is likely to introduce instability (non-determinism). This PR identifies and fixes the targets that were calling system time without setting mock time at the start of an iteration.
RemovingSetMockTime() from any one of these targets should result in a crash and a message describing the issue.
Questions:
Systemtimeis important for stability of fuzz tests?SetMockTime()improving the stability of the fuzz tests?Systemtimein there code ?Learnings:
tests
fuzz