[google/syzkaller] 34dab4: vm: fix blocking select on nil outc channel in ins...

0 views
Skip to first unread message

Chuyang Wang

unread,
Jun 9, 2026, 11:33:22 AMJun 9
to syzk...@googlegroups.com
Branch: refs/heads/gh-readonly-queue/master/pr-7451-c36c07f6c1f2230a36374cbd22235f635e8f9284
Home: https://github.com/google/syzkaller
Commit: 34dab4be5c118c76aea929f2aa0c188548615110
https://github.com/google/syzkaller/commit/34dab4be5c118c76aea929f2aa0c188548615110
Author: Chuyang Wang <chuy...@google.com>
Date: 2026-06-09 (Tue, 09 Jun 2026)

Changed paths:
M vm/vm.go
M vm/vm_test.go

Log Message:
-----------
vm: fix blocking select on nil outc channel in instance.Run

In mon.monitorExecution(), the monitor loops over a select statement
reading from the errc and outc channels. If a multiplexed VM finishes
execution, outc is closed and errc is written to.

If the monitor reads the outc closure first, it sets mon.outc = nil.
When it subsequently receives the exit status on errc, it calls
extractErrors(), which triggers waitForOutput(). If mon.outc is nil,
reading from it blocks permanently, causing a 10-second stall (or
3-second stall in tests) until the timeout expires.

Fix this by returning early from waitForOutput() if mon.outc is nil.



To unsubscribe from these emails, change your notification settings at https://github.com/google/syzkaller/settings/notifications

Chuyang Wang

unread,
Jun 9, 2026, 11:46:44 AMJun 9
to syzk...@googlegroups.com
Branch: refs/heads/master
Reply all
Reply to author
Forward
0 new messages