diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-04-15 11:15:51 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-04-15 10:17:59 +0000 |
| commit | f44873e33df5bb834265aeced37ef199ce0717c7 (patch) | |
| tree | ad7ffedce387480c457d3ff8dbb82bdafc2b57d5 /syz-manager/stats.go | |
| parent | 011dbba622c6133a460ca0757a71169345ed06d6 (diff) | |
syz-fuzzer: don't sleep after transient executor errors
There is non-0 rate of transient executor errors.
Currently we do full GC, free OS memory and sleep for a second after then.
This was more meaningful when the fuzzer was in the VM as the fuzzer process
consumed lots of memory. Now it consumes only ~20MB, any OOMs are likely
not due to the fuzzer process.
So instead sleep briefly and only after several retries
(I would assume most errors are fixed after 1 retry).
Diffstat (limited to 'syz-manager/stats.go')
| -rw-r--r-- | syz-manager/stats.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/syz-manager/stats.go b/syz-manager/stats.go index c3d37d391..b8e53e8f7 100644 --- a/syz-manager/stats.go +++ b/syz-manager/stats.go @@ -76,7 +76,11 @@ func (mgr *Manager) initStats() { }) // Stats imported from the fuzzer (names must match the the fuzzer names). - stats.Create("executor restarts", "Number of times executor process was restarted", stats.Rate{}) + stats.Create("executor restarts", "Number of times executor process was restarted", + stats.Rate{}, stats.Graph("executor")) + stats.Create("exec retries", + "Number of times a test program was restarted because the first run failed", + stats.Rate{}, stats.Graph("executor")) stats.Create("buffer too small", "Program serialization overflowed exec buffer", stats.NoGraph) stats.Create("no exec requests", "Number of times fuzzer was stalled with no exec requests", stats.Rate{}) stats.Create("no exec duration", "Total duration fuzzer was stalled with no exec requests (ns/sec)", stats.Rate{}) |
