aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-07-24 15:51:47 +0200
committerAlexander Potapenko <glider@google.com>2024-07-24 14:25:55 +0000
commit448d098d2ccb0225cf5fdc6b7a6c8cca0438ac77 (patch)
treedf8a6c679179e1c8f1ffa657adc56637d0947324
parent7aa0abe886655b290b463f14a16c1afbeadfe8e7 (diff)
syz-manager: fix deadlock in run-tests mode
If we did not start preloadCorpus, then loadCorpus hangs waiting for results on corpusPreload channel. Close the channel if we are not going to load/use the corpus.
-rw-r--r--syz-manager/manager.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/syz-manager/manager.go b/syz-manager/manager.go
index b7c69558a..d3e2261e9 100644
--- a/syz-manager/manager.go
+++ b/syz-manager/manager.go
@@ -260,6 +260,8 @@ func RunManager(cfg *mgrconfig.Config) {
mgr.initStats()
if mode == ModeFuzzing || mode == ModeCorpusTriage {
go mgr.preloadCorpus()
+ } else {
+ close(mgr.corpusPreload)
}
mgr.initHTTP() // Creates HTTP server.
go mgr.corpusInputHandler(corpusUpdates)