aboutsummaryrefslogtreecommitdiffstats
path: root/syz-hub
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-01-30 11:02:17 +0100
committerDmitry Vyukov <dvyukov@google.com>2017-01-30 11:02:17 +0100
commit8b2c1cb5bbde0ed2b055645d04ee3a2874569805 (patch)
tree3427131ab938143f867d0bc0882a35f19eaacb08 /syz-hub
parent4ee789185bc215d62e9cfa92e23a8de2760789cb (diff)
syz-hub: don't flush global corpus after every addition
We already flush in addInputs, no need to flush in addInput. Also add some logging on start as it can be slow.
Diffstat (limited to 'syz-hub')
-rw-r--r--syz-hub/state/state.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/syz-hub/state/state.go b/syz-hub/state/state.go
index 94a18b3ea..eb718cd73 100644
--- a/syz-hub/state/state.go
+++ b/syz-hub/state/state.go
@@ -48,10 +48,12 @@ func Make(dir string) (*State, error) {
os.MkdirAll(st.dir, 0750)
var err error
+ Logf(0, "reading corpus...")
st.Corpus, err = db.Open(filepath.Join(st.dir, "corpus.db"))
if err != nil {
Fatalf("failed to open corpus database: %v", err)
}
+ Logf(0, "read %v programs", len(st.Corpus.Records))
for key, rec := range st.Corpus.Records {
if _, err := prog.CallSet(rec.Val); err != nil {
Logf(0, "bad file in corpus: can't parse call set: %v", err)
@@ -88,11 +90,16 @@ func Make(dir string) (*State, error) {
if st.seq < mgr.seq {
st.seq = mgr.seq
}
+ Logf(0, "reading %v corpus...", mgr.name)
mgr.Corpus, err = db.Open(filepath.Join(mgr.dir, "corpus.db"))
if err != nil {
return nil, fmt.Errorf("failed to open manager corpus database %v: %v", mgr.dir, err)
}
+ Logf(0, "read %v programs", len(mgr.Corpus.Records))
}
+ Logf(0, "purging corpus...")
+ st.purgeCorpus()
+ Logf(0, "done, %v programs", len(st.Corpus.Records))
return st, err
}
@@ -202,9 +209,6 @@ func (st *State) addInput(mgr *Manager, input []byte) {
mgr.Corpus.Save(sig, nil, 0)
if _, ok := st.Corpus.Records[sig]; !ok {
st.Corpus.Save(sig, input, st.seq)
- if err := st.Corpus.Flush(); err != nil {
- Logf(0, "failed to flush corpus database: %v", err)
- }
}
}