diff options
| author | Andrey Konovalov <andreyknvl@google.com> | 2019-05-27 19:03:42 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2019-05-27 20:03:37 +0200 |
| commit | 6bd615015dc05e75bc8979aab3bc710abd1fdffb (patch) | |
| tree | 333b2571bc2ba570616d6f31860163992b0b7658 /pkg | |
| parent | d53d0cd242d453b353b1815c2a15df59297bb873 (diff) | |
pkg/repro: don't double-reverse log entries
For extractProgSingle() lastEntries are already reversed, so no need to
call reverseEntries().
Also for extractProgBisect() there's no point in reversing the entries,
as the idea is to try connecting multiple programs in chronological order.
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/repro/repro.go | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/pkg/repro/repro.go b/pkg/repro/repro.go index 592761b9e..abd0dd973 100644 --- a/pkg/repro/repro.go +++ b/pkg/repro/repro.go @@ -277,7 +277,7 @@ func (ctx *context) extractProg(entries []*prog.LogEntry) (*Result, error) { for _, timeout := range ctx.timeouts { // Execute each program separately to detect simple crashes caused by a single program. // Programs are executed in reverse order, usually the last program is the guilty one. - res, err := ctx.extractProgSingle(reverseEntries(lastEntries), timeout) + res, err := ctx.extractProgSingle(lastEntries, timeout) if err != nil { return nil, err } @@ -292,7 +292,7 @@ func (ctx *context) extractProg(entries []*prog.LogEntry) (*Result, error) { } // Execute all programs and bisect the log to find multiple guilty programs. - res, err = ctx.extractProgBisect(reverseEntries(entries), timeout) + res, err = ctx.extractProgBisect(entries, timeout) if err != nil { return nil, err } @@ -758,14 +758,6 @@ func chunksToStr(chunks [][]*prog.LogEntry) string { return log } -func reverseEntries(entries []*prog.LogEntry) []*prog.LogEntry { - last := len(entries) - 1 - for i := 0; i < len(entries)/2; i++ { - entries[i], entries[last-i] = entries[last-i], entries[i] - } - return entries -} - func encodeEntries(entries []*prog.LogEntry) []byte { buf := new(bytes.Buffer) for _, ent := range entries { |
