Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Sealing Issue]SectorInfo could not be obtained through StateSectorGetInfo #6669

Closed
llifezou opened this issue Jul 3, 2021 · 1 comment
Closed

Comments

@llifezou
Copy link
Contributor

llifezou commented Jul 3, 2021

Describe the problem
In the process of testing SubmitCommitAggregate, I encountered the problem that SectorInfo could not be obtained through StateSectorGetInfo.

Version
v1.10.0
2k local test

Sectors status
2021-07-01 18:44:46 +0800 CST: [event;sealing.SectorSubmitCommitAggregate] {"User":{}}
2021-07-01 18:49:00 +0800 CST: [event;sealing.SectorCommitFailed] {"User":{}}
aggregate error: sending message failed: GasEstimateMessageGas error: estimating gas used: message execution failed: exit 16, reason: aggregate seal verify failed: failed to verify aggregated PoRep: Rust panic: no unwind information (RetCode=16)
2021-07-01 18:50:00 +0800 CST: [event;sealing.SectorRetryComputeProof] {"User":{}}

Lotus miner logs
miner report an error: "proof validation failed, sector not found in sector set after cron"

After handleSubmitCommitAggregate aggregation is successfully executed, when it is executed to handleCommitWait, because si is nil.

si, err := m.api.StateSectorGetInfo(ctx.Context(), m.maddr, sector.SectorNumber, mw.TipSetTok)
	if err != nil {
		return ctx.Send(SectorCommitFailed{xerrors.Errorf("proof validation failed, calling StateSectorGetInfo: %w", err)})
	}
	if si == nil { // todo
		return ctx.Send(SectorCommitFailed{xerrors.Errorf("proof validation failed, sector not found in sector set after cron")})
	}

I'm not sure what caused this, I haven't encountered this problem before. and under what circumstances will ProveCommitSector cause SectorInfo to be nil?

@llifezou llifezou changed the title [Sealing Issue] [Sealing Issue]SectorInfo could not be obtained through StateSectorGetInfo Jul 3, 2021
@arajasek
Copy link
Contributor

arajasek commented Jul 3, 2021

well the sector becomes active after the call to ConfirmSectorProofsValid succeeds which happens during cron. That can fail for any number of reasons (insufficient funds / invalid proof).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants