Merge pull request #4114 from filecoin-project/fix/fork-after-cron
Run fork function after cron for null block safety
This commit is contained in:
commit
4631cee564
@ -209,6 +209,18 @@ func (sm *StateManager) ApplyBlocks(ctx context.Context, parentEpoch abi.ChainEp
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := parentEpoch; i < epoch; i++ {
|
for i := parentEpoch; i < epoch; i++ {
|
||||||
|
if i > parentEpoch {
|
||||||
|
// run cron for null rounds if any
|
||||||
|
if err := runCron(); err != nil {
|
||||||
|
return cid.Undef, cid.Undef, err
|
||||||
|
}
|
||||||
|
|
||||||
|
pstate, err = vmi.Flush(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return cid.Undef, cid.Undef, xerrors.Errorf("flushing vm: %w", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// handle state forks
|
// handle state forks
|
||||||
// XXX: The state tree
|
// XXX: The state tree
|
||||||
newState, err := sm.handleStateForks(ctx, pstate, i, cb, ts)
|
newState, err := sm.handleStateForks(ctx, pstate, i, cb, ts)
|
||||||
@ -223,18 +235,6 @@ func (sm *StateManager) ApplyBlocks(ctx context.Context, parentEpoch abi.ChainEp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if i > parentEpoch {
|
|
||||||
// run cron for null rounds if any
|
|
||||||
if err := runCron(); err != nil {
|
|
||||||
return cid.Cid{}, cid.Cid{}, err
|
|
||||||
}
|
|
||||||
|
|
||||||
newState, err = vmi.Flush(ctx)
|
|
||||||
if err != nil {
|
|
||||||
return cid.Undef, cid.Undef, xerrors.Errorf("flushing vm: %w", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
vmi.SetBlockHeight(i + 1)
|
vmi.SetBlockHeight(i + 1)
|
||||||
pstate = newState
|
pstate = newState
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user