From e0208e35952aca274535e6299a6d800b2a69ad58 Mon Sep 17 00:00:00 2001 From: xloem <0xloem@gmail.com> Date: Mon, 19 Jul 2021 00:09:57 +0000 Subject: [PATCH 1/3] fixes #6786 segfault --- extern/storage-sealing/currentdealinfo.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/extern/storage-sealing/currentdealinfo.go b/extern/storage-sealing/currentdealinfo.go index 44fa68b54..69583f413 100644 --- a/extern/storage-sealing/currentdealinfo.go +++ b/extern/storage-sealing/currentdealinfo.go @@ -69,6 +69,10 @@ func (mgr *CurrentDealInfoManager) dealIDFromPublishDealsMsg(ctx context.Context return dealID, nil, xerrors.Errorf("looking for publish deal message %s: search msg failed: %w", publishCid, err) } + if lookup == nil { + return dealID, nil, xerrors.Errorf("looking for publish deal message %s: lookup nil", publishCid) + } + if lookup.Receipt.ExitCode != exitcode.Ok { return dealID, nil, xerrors.Errorf("looking for publish deal message %s: non-ok exit code: %s", publishCid, lookup.Receipt.ExitCode) } From ad1dd361936c8baf864f241f352999d425794e3a Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Tue, 20 Jul 2021 11:20:20 -0700 Subject: [PATCH 2/3] fix: better error message on missing message --- extern/storage-sealing/currentdealinfo.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/storage-sealing/currentdealinfo.go b/extern/storage-sealing/currentdealinfo.go index 69583f413..ed93512c2 100644 --- a/extern/storage-sealing/currentdealinfo.go +++ b/extern/storage-sealing/currentdealinfo.go @@ -70,7 +70,7 @@ func (mgr *CurrentDealInfoManager) dealIDFromPublishDealsMsg(ctx context.Context } if lookup == nil { - return dealID, nil, xerrors.Errorf("looking for publish deal message %s: lookup nil", publishCid) + return dealID, nil, xerrors.Errorf("looking for publish deal message %s: not found", publishCid) } if lookup.Receipt.ExitCode != exitcode.Ok { From 865e7ca80ac49644a556e87c91506df182afb236 Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Tue, 20 Jul 2021 12:09:50 -0700 Subject: [PATCH 3/3] test(sealing): test message not found --- extern/storage-sealing/currentdealinfo_test.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/extern/storage-sealing/currentdealinfo_test.go b/extern/storage-sealing/currentdealinfo_test.go index ee51d8c75..b28dd461a 100644 --- a/extern/storage-sealing/currentdealinfo_test.go +++ b/extern/storage-sealing/currentdealinfo_test.go @@ -25,7 +25,7 @@ import ( "github.com/stretchr/testify/require" ) -var errNotFound = errors.New("Could not find") +var errNotFound = errors.New("could not find") func TestGetCurrentDealInfo(t *testing.T) { ctx := context.Background() @@ -180,6 +180,12 @@ func TestGetCurrentDealInfo(t *testing.T) { expectedDealID: zeroDealID, expectedError: xerrors.Errorf("looking for publish deal message %s: search msg failed: something went wrong", dummyCid), }, + "search message not found": { + publishCid: dummyCid, + targetProposal: &proposal, + expectedDealID: zeroDealID, + expectedError: xerrors.Errorf("looking for publish deal message %s: not found", dummyCid), + }, "return code not ok": { publishCid: dummyCid, searchMessageLookup: &MsgLookup{