aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2025-08-05 20:35:40 +0200
committerAleksandr Nogikh <nogikh@google.com>2025-08-06 09:55:49 +0000
commit61ad06c3adc5c20856fd641e634887676f3bf23e (patch)
tree340d8151d0ed991b634c61e6f8540fdb218368d2
parent81aa8cec401bfdbde1c8d695368c67352fca64ee (diff)
pkg/manager: fetch boot errors during patch fuzzing
The VM pool expects us to listen on the boot error channel.
-rw-r--r--pkg/manager/diff.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/pkg/manager/diff.go b/pkg/manager/diff.go
index c88e88903..4b4013169 100644
--- a/pkg/manager/diff.go
+++ b/pkg/manager/diff.go
@@ -464,6 +464,23 @@ func (kc *kernelContext) Loop(baseCtx context.Context) error {
kc.pool.Loop(ctx)
return nil
})
+ eg.Go(func() error {
+ for {
+ select {
+ case <-ctx.Done():
+ return nil
+ case err := <-kc.pool.BootErrors:
+ title := "unknown"
+ var bootErr vm.BootErrorer
+ if errors.As(err, &bootErr) {
+ title, _ = bootErr.BootError()
+ }
+ // Boot errors are not useful for patch fuzzing (at least yet).
+ // Fetch them to not block the channel and print them to the logs.
+ log.Logf(0, "%s: boot error: %s", kc.name, title)
+ }
+ }
+ })
return eg.Wait()
}