From 6c8b90a1abc330c4e05307ddb268b084a02cd2a3 Mon Sep 17 00:00:00 2001 From: Taras Madan Date: Thu, 21 Aug 2025 11:35:15 +0200 Subject: vm: extract all the crashes from the log --- pkg/manager/diff.go | 7 +++++-- pkg/manager/repro.go | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'pkg/manager') diff --git a/pkg/manager/diff.go b/pkg/manager/diff.go index 57340314e..8b57e5807 100644 --- a/pkg/manager/diff.go +++ b/pkg/manager/diff.go @@ -675,7 +675,7 @@ func (kc *kernelContext) runInstance(ctx context.Context, inst *vm.Instance, cmd := fmt.Sprintf("%v runner %v %v %v", executorBin, inst.Index(), host, port) ctxTimeout, cancel := context.WithTimeout(ctx, kc.cfg.Timeouts.VMRunningTime) defer cancel() - _, rep, err := inst.Run(ctxTimeout, kc.reporter, cmd, + _, reps, err := inst.Run(ctxTimeout, kc.reporter, cmd, vm.WithExitCondition(vm.ExitTimeout), vm.WithInjectExecuting(injectExec), vm.WithEarlyFinishCb(func() { @@ -685,7 +685,10 @@ func (kc *kernelContext) runInstance(ctx context.Context, inst *vm.Instance, kc.serv.StopFuzzing(inst.Index()) }), ) - return rep, err + if len(reps) > 0 { + return reps[0], err + } + return nil, err } func (kc *kernelContext) triageProgress() float64 { diff --git a/pkg/manager/repro.go b/pkg/manager/repro.go index e7034b186..184945c5c 100644 --- a/pkg/manager/repro.go +++ b/pkg/manager/repro.go @@ -31,6 +31,7 @@ type Crash struct { Manual bool FullRepro bool // used by the diff fuzzer to do a full scale reproduction *report.Report + TailReports []*report.Report } func (c *Crash) FullTitle() string { -- cgit mrf-deployment