diff options
| author | Sabyrzhan Tasbolatov <snovitoll@gmail.com> | 2024-09-17 01:10:32 +0500 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-09-23 08:03:41 +0000 |
| commit | 49f9c2d289d546c97aae87130574abe5b963b72a (patch) | |
| tree | ff45b7339ce694a523b3df2a657bebd4f1510557 /syz-ci | |
| parent | 6f888b7530906167ecb1f5a35e060fec736d6d32 (diff) | |
pkg/build: handle OOM-killed build error
Handle SIGKILL (exit code = 137) on osutil.Run() during Linux kernel image
building and return build.InfraError without reporting.
Fixes: https://github.com/google/syzkaller/issues/5317
Diffstat (limited to 'syz-ci')
| -rw-r--r-- | syz-ci/jobs.go | 2 | ||||
| -rw-r--r-- | syz-ci/manager.go | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/syz-ci/jobs.go b/syz-ci/jobs.go index a2cd3c656..096e5df9f 100644 --- a/syz-ci/jobs.go +++ b/syz-ci/jobs.go @@ -524,7 +524,7 @@ func (jp *JobProcessor) bisect(job *Job, mgrcfg *mgrconfig.Config) error { res, err := bisect.Run(cfg) resp.Log = trace.Bytes() if err != nil { - var infraErr *bisect.InfraError + var infraErr *build.InfraError if errors.As(err, &infraErr) { resp.Flags |= dashapi.BisectResultInfraError } diff --git a/syz-ci/manager.go b/syz-ci/manager.go index b508cb1d8..cdbd6b40f 100644 --- a/syz-ci/manager.go +++ b/syz-ci/manager.go @@ -384,6 +384,8 @@ func (mgr *Manager) build(kernelCommit *vcs.Commit) error { case errors.As(err, &verboseError): rep.Report = []byte(verboseError.Title) rep.Output = verboseError.Output + case errors.As(err, &build.InfraError{}): + return err default: rep.Report = []byte(err.Error()) } |
