diff options
| author | Taras Madan <tarasmadan@google.com> | 2025-08-21 11:35:15 +0200 |
|---|---|---|
| committer | Taras Madan <tarasmadan@google.com> | 2025-08-28 11:36:44 +0000 |
| commit | 6c8b90a1abc330c4e05307ddb268b084a02cd2a3 (patch) | |
| tree | 0aeeab06948096b0a8b6c60495e3a4dba4291258 /pkg/manager | |
| parent | 443c11c765c0bf86d91595bf5edd50af4476fdc6 (diff) | |
vm: extract all the crashes from the log
Diffstat (limited to 'pkg/manager')
| -rw-r--r-- | pkg/manager/diff.go | 7 | ||||
| -rw-r--r-- | pkg/manager/repro.go | 1 |
2 files changed, 6 insertions, 2 deletions
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 { |
