diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2021-12-20 19:14:52 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2021-12-20 21:04:25 +0100 |
| commit | e4bcab16af4969c5f98f2da4e92691c4fa21c999 (patch) | |
| tree | 19055298f886acec163b9371f79775d22705ed8b | |
| parent | 62bd192bb8dd2f349b44af1a78804f988485c977 (diff) | |
syz-manager: don't symbolize reproducer twice
The recent commit 'pkg/mgrconfig: add "interests"' made pkg/repro
symbolize returned reports. But syz-manager symbolizes them as well.
This leads to double symbolization. Don't symbolize second time.
Fixes #2934
| -rw-r--r-- | pkg/report/report.go | 6 | ||||
| -rw-r--r-- | syz-manager/manager.go | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/pkg/report/report.go b/pkg/report/report.go index 9346f0322..4cd19db5f 100644 --- a/pkg/report/report.go +++ b/pkg/report/report.go @@ -67,6 +67,8 @@ type Report struct { guiltyFile string // reportPrefixLen is length of additional prefix lines that we added before actual crash report. reportPrefixLen int + // symbolized is set if the report is symbolized. + symbolized bool } type Type int @@ -220,6 +222,10 @@ func (reporter *Reporter) ContainsCrash(output []byte) bool { } func (reporter *Reporter) Symbolize(rep *Report) error { + if rep.symbolized { + panic("Symbolize is called twice") + } + rep.symbolized = true if err := reporter.impl.Symbolize(rep); err != nil { return err } diff --git a/syz-manager/manager.go b/syz-manager/manager.go index 3779f8365..dc435f39f 100644 --- a/syz-manager/manager.go +++ b/syz-manager/manager.go @@ -846,9 +846,6 @@ func (mgr *Manager) saveFailedRepro(rep *report.Report, stats *repro.Stats) { func (mgr *Manager) saveRepro(res *repro.Result, stats *repro.Stats, hub bool) { rep := res.Report - if err := mgr.reporter.Symbolize(rep); err != nil { - log.Logf(0, "failed to symbolize repro: %v", err) - } opts := fmt.Sprintf("# %+v\n", res.Opts) prog := res.Prog.Serialize() |
