aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-09-22 13:16:24 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-09-22 13:16:24 +0200
commit324664de571ae91344a03c3b1412a0db06e5b3b8 (patch)
tree6c16cb17a17f5d065e8e739c5bf967f09b067837 /pkg
parent913d592f973a0155647473eaa032711fe956f8a5 (diff)
pkg/repro: fix nil target in prog
Diffstat (limited to 'pkg')
-rw-r--r--pkg/repro/repro.go14
1 files changed, 8 insertions, 6 deletions
diff --git a/pkg/repro/repro.go b/pkg/repro/repro.go
index 3d5672dae..32a48f87a 100644
--- a/pkg/repro/repro.go
+++ b/pkg/repro/repro.go
@@ -334,7 +334,7 @@ func (ctx *context) extractProgBisect(entries []*prog.LogEntry, baseDuration tim
if err != nil {
return nil, err
}
- if entries == nil {
+ if len(entries) == 0 {
return nil, nil
}
@@ -345,20 +345,22 @@ func (ctx *context) extractProgBisect(entries []*prog.LogEntry, baseDuration tim
ctx.reproLog(3, "bisect: trying to concatenate")
// Concatenate all programs into one.
- var prog prog.Prog
+ prog := &prog.Prog{
+ Target: entries[0].P.Target,
+ }
for _, entry := range entries {
prog.Calls = append(prog.Calls, entry.P.Calls...)
}
// Execute the program without fault injection.
dur := duration(len(entries)) * 3 / 2
- crashed, err := ctx.testProg(&prog, dur, opts)
+ crashed, err := ctx.testProg(prog, dur, opts)
if err != nil {
return nil, err
}
if crashed {
res := &Result{
- Prog: &prog,
+ Prog: prog,
Duration: dur,
Opts: opts,
}
@@ -375,13 +377,13 @@ func (ctx *context) extractProgBisect(entries []*prog.LogEntry, baseDuration tim
if entry.FaultCall < 0 || entry.FaultCall >= len(entry.P.Calls) {
opts.FaultCall = calls + len(entry.P.Calls) - 1
}
- crashed, err := ctx.testProg(&prog, dur, opts)
+ crashed, err := ctx.testProg(prog, dur, opts)
if err != nil {
return nil, err
}
if crashed {
res := &Result{
- Prog: &prog,
+ Prog: prog,
Duration: dur,
Opts: opts,
}