From 798b1ebde9178a5da2001274d7cc70cc1206740b Mon Sep 17 00:00:00 2001 From: whyrusleeping Date: Mon, 30 Sep 2019 17:55:35 -0600 Subject: [PATCH] Add some more error annotations --- chain/state/statetree.go | 2 +- chain/stmgr/call.go | 5 +++-- chain/store/store.go | 7 ++++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/chain/state/statetree.go b/chain/state/statetree.go index 0fa9f1490..736857b25 100644 --- a/chain/state/statetree.go +++ b/chain/state/statetree.go @@ -108,7 +108,7 @@ func (st *StateTree) GetActor(addr address.Address) (*types.Actor, error) { if err == hamt.ErrNotFound { return nil, types.ErrActorNotFound } - return nil, err + return nil, xerrors.Errorf("hamt find failed: %w", err) } st.actorcache[addr] = &act diff --git a/chain/stmgr/call.go b/chain/stmgr/call.go index 143524f39..ef5fa220b 100644 --- a/chain/stmgr/call.go +++ b/chain/stmgr/call.go @@ -3,6 +3,7 @@ package stmgr import ( "context" "fmt" + "github.com/filecoin-project/go-lotus/chain/actors" "github.com/filecoin-project/go-lotus/chain/types" "github.com/filecoin-project/go-lotus/chain/vm" @@ -29,7 +30,7 @@ func (sm *StateManager) CallRaw(ctx context.Context, msg *types.Message, bstate fromActor, err := vmi.StateTree().GetActor(msg.From) if err != nil { - return nil, err + return nil, xerrors.Errorf("call raw get actor: %s", err) } msg.Nonce = fromActor.Nonce @@ -54,7 +55,7 @@ func (sm *StateManager) Call(ctx context.Context, msg *types.Message, ts *types. state, err := sm.TipSetState(ts.Cids()) if err != nil { - return nil, err + return nil, xerrors.Errorf("getting tipset state: %w", err) } r := vm.NewChainRand(sm.cs, ts.Cids(), ts.Height(), nil) diff --git a/chain/store/store.go b/chain/store/store.go index bc35eda66..533ee224c 100644 --- a/chain/store/store.go +++ b/chain/store/store.go @@ -5,9 +5,10 @@ import ( "crypto/sha256" "encoding/json" "fmt" - "github.com/filecoin-project/go-lotus/build" "sync" + "github.com/filecoin-project/go-lotus/build" + amt "github.com/filecoin-project/go-amt-ipld" "github.com/filecoin-project/go-lotus/chain/types" @@ -97,7 +98,7 @@ func (cs *ChainStore) Load() error { ts, err := cs.LoadTipSet(tscids) if err != nil { - return err + return xerrors.Errorf("loading tipset: %w", err) } cs.heaviest = ts @@ -262,7 +263,7 @@ func (cs *ChainStore) LoadTipSet(cids []cid.Cid) (*types.TipSet, error) { for _, c := range cids { b, err := cs.GetBlock(c) if err != nil { - return nil, err + return nil, xerrors.Errorf("get block %s: %w", c, err) } blks = append(blks, b)