diff --git a/src/modules/judge/cache/linkedlist.go b/src/modules/judge/cache/linkedlist.go index fde1ec55..77773ff9 100644 --- a/src/modules/judge/cache/linkedlist.go +++ b/src/modules/judge/cache/linkedlist.go @@ -90,6 +90,12 @@ func (ll *SafeLinkedList) HistoryData(limit int) ([]*dataobj.HistoryData, bool) currentElement := firstElement for i < limit { nextElement := currentElement.Next() + + if nextElement == nil { + isEnough = false + return vs, isEnough + } + vs[i] = &dataobj.HistoryData{ Timestamp: nextElement.Value.(*dataobj.JudgeItem).Timestamp, Value: dataobj.JsonFloat(nextElement.Value.(*dataobj.JudgeItem).Value), diff --git a/src/modules/tsdb/rrdtool/rrdtool.go b/src/modules/tsdb/rrdtool/rrdtool.go index 3f80b207..f6d4d80e 100644 --- a/src/modules/tsdb/rrdtool/rrdtool.go +++ b/src/modules/tsdb/rrdtool/rrdtool.go @@ -47,7 +47,7 @@ func update(filename string, items []*dataobj.TsdbItem) error { if v > 1e+300 || (v < 1e-300 && v > 0) { continue } - u.Cache(item.Timestamp, int(item.Value)) + u.Cache(item.Timestamp, item.Value) } return u.Update()