From 448d098d2ccb0225cf5fdc6b7a6c8cca0438ac77 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 24 Jul 2024 15:51:47 +0200 Subject: 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. --- syz-manager/manager.go | 2 ++ 1 file changed, 2 insertions(+) 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) -- cgit mrf-deployment