fixed crashing for missing fragment issue

This commit is contained in:
Todd Gruben 2014-06-24 09:54:10 -05:00
parent 009128078a
commit 833b3d6592
2 changed files with 7 additions and 1 deletions

View file

@ -323,12 +323,14 @@ func (d *Database) GetFragmentForBitmap(slice *Slice, bitmap *Bitmap) (*Fragment
//defer d.mutex.Unlock()
frame, err := d.getFrame(bitmap.FrameType)
if err != nil {
log.Println("Missing FrameType", bitmap.FrameType, d.Name, slice)
log.Println(err)
return nil, err
}
//log.Println(frame, slice)
fsi, err := d.GetFrameSliceIntersect(frame, slice)
if err != nil {
log.Println("Missing frame,slice", frame, slice)
log.Println(err)
return nil, err
}

View file

@ -272,9 +272,13 @@ func (qt *SetQueryTree) getLocation(d *db.Database) (*db.Location, error) {
slice, err := d.GetSliceForProfile(qt.profile_id)
if err != nil {
//I should check GetFragmentForBitmap for possible errors but for now i'll just hardcode
return nil, NewFragmentNotFound(d.Name, qt.bitmap.FrameType, db.GetSlice(qt.profile_id))
return nil, NewFragmentNotFound(d.Name, "b.n", db.GetSlice(qt.profile_id))
}
fragment, err := d.GetFragmentForBitmap(slice, qt.bitmap)
if err != nil {
log.Println("NOT FOUND:", slice, qt.bitmap)
return nil, err
}
return fragment.GetLocation(), nil
}