diff --git a/carlog/carlog.go b/carlog/carlog.go index e7984a8..e36b9dd 100644 --- a/carlog/carlog.go +++ b/carlog/carlog.go @@ -1393,7 +1393,17 @@ func (j *CarLog) genTopCar() error { } if j.dataEnd != 0 { - return xerrors.Errorf("cannot generate top car - already generated") + if len(j.layerOffsets) != 0 { + return xerrors.Errorf("cannot generate top car - already generated, have layers") + } + if j.dataLen != j.dataEnd { + return xerrors.Errorf("cannot generate top car - data length mismatch") + } + if j.dataPos.pos != j.dataEnd { + return xerrors.Errorf("cannot generate top car - data position mismatch") + } + + log.Errorw("resuming top car generation", "dataLen", j.dataLen, "dataEnd", j.dataEnd, "dataPos", j.dataPos.pos, "dataStart", j.dataStart, "dataPath", j.DataPath, "indexPath", j.IndexPath) } j.dataEnd = j.dataLen diff --git a/rbstor/group_worker.go b/rbstor/group_worker.go index cfedf36..01bb572 100644 --- a/rbstor/group_worker.go +++ b/rbstor/group_worker.go @@ -38,11 +38,12 @@ func (r *rbs) workerExecTask(toExec task) { r.lk.Unlock() err := g.Finalize(context.TODO()) if err != nil { - log.Errorf("finalizing group: %s", err) + log.Errorw("finalizing group", "error", err, "group", toExec.group) } r.sendSub(toExec.group, iface.GroupStateFull, iface.GroupStateVRCARDone) + log.Errorw("finalize fallthrough to genCommP", "group", toExec.group) fallthrough case taskTypeGenCommP: