aboutsummaryrefslogtreecommitdiffstats
path: root/docs/syzbot.md
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-10-24 13:17:14 +0200
committerGitHub <noreply@github.com>2017-10-24 13:17:14 +0200
commit5009f8ec62e3a28f8847f63c520d2e1329c98d44 (patch)
tree7745fc43b4b6abf5f25f857ec891818e32644985 /docs/syzbot.md
parent3b95a1e30530a12560a7cef5295ab43d3c4b727e (diff)
Update syzbot.md
Diffstat (limited to 'docs/syzbot.md')
-rw-r--r--docs/syzbot.md11
1 files changed, 11 insertions, 0 deletions
diff --git a/docs/syzbot.md b/docs/syzbot.md
index 69d67686d..b86e40a9e 100644
--- a/docs/syzbot.md
+++ b/docs/syzbot.md
@@ -25,3 +25,14 @@ machine, so the reproducer worked for it somehow.
If the reproducer exits quickly, try to run it several times, or in a loop.
There can be some races involved.
+
+## No reproducer at all?
+
+Reproducers are best-effort. `syzbot` always tries to create reproducers, and
+once it has one it adds it to the bug. If there is no reproducer referenced in a
+bug, a reproducer does not exist. There are multiple reasons why `syzbot` can
+fail to create a reproducer: some crashes are caused by subtle races and are
+very hard to reproduce in general; some crashes are caused by global accumulated
+state in kernel (e.g. lockdep reports); some crashes are caused by
+non-reproducible coincidences (e.g. an integer `0x12345` happened to reference an
+existing IPC object) and there is long tail of other reasons.