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

lotus state sector f0XX sectorNR not returning DealIDs #12791

Open
5 of 11 tasks
rjan90 opened this issue Dec 16, 2024 · 4 comments
Open
5 of 11 tasks

lotus state sector f0XX sectorNR not returning DealIDs #12791

rjan90 opened this issue Dec 16, 2024 · 4 comments
Labels
good first issue Good for newcomers kind/bug Kind: Bug

Comments

@rjan90
Copy link
Contributor

rjan90 commented Dec 16, 2024

Checklist

  • This is not a security-related bug/issue. If it is, please follow please follow the security policy.
  • I have searched on the issue tracker and the lotus forum, and there is no existing related issue or discussion.
  • I am running the Latest release, the most recent RC(release canadiate) for the upcoming release or the dev branch(master), or have an issue updating to any of these.
  • I did not make any code changes to lotus.

Lotus component

  • lotus daemon - chain sync
  • lotus fvm/fevm - Lotus FVM and FEVM interactions
  • lotus miner/worker - sealing
  • lotus miner - proving(WindowPoSt/WinningPoSt)
  • lotus JSON-RPC API
  • lotus message management (mpool)
  • Other

Lotus Version

lotus version
Daemon:  1.32.0-rc1+mainnet+git.8e1223e44+api1.5.0

Repro Steps

  1. Run lotus state sector f08403 16357
  2. See that the DealIDs outputs - DealIDs: []:
lotus state sector f08403 16357
SectorNumber:  16357
SealProof:  8
SealedCID:  bagboea4b5abcbvcblp7xrqdwryrtm227qckzc45n5hquofb56prjyxchserhd7li
SectorKeyCID:  bagboea4b5abcbjvcqdprbfxuecjdpgawh2seic53bdwbytmyzytpib7s6irqrrln
DealIDs:  []

Activation:  4388758 (26 Oct 24 18:59 UTC, 7 weeks 1 day ago)
Expiration:  6160330 (03 Jul 26 22:05 UTC, in 1 year 28 weeks)

DealWeight:  0
VerifiedDealWeight:  55863918064566272
InitialPledge:  1.24569194263764971 FIL
ExpectedDayReward:  0.001192103847371711 FIL
ExpectedStoragePledge:  0.023587953388417878 FIL

Deadline:  1
Partition:  0
  1. But you can confirm that this sector contains this dealID: 84864966 by seeing in the params section here: https://www.filutils.com/en/message/bafy2bzacechx5v5cs6gi4jat5k65xubjtgllftxljrsolbilurns4bv47i26k

Describe the Bug

The lotus state sector MinerID SectorNR command shows empty DealIDs (DealIDs: []) for sectors that actually contain deals.

Logging Information

e
@rvagg
Copy link
Member

rvagg commented Dec 17, 2024

DDO strikes again, DealIds being deprecated by FIP-0076: https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0076.md#sectoronchaininfo

I believe the solution here is for the command to load the market state, fish around in ProviderSectors to find the information: https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0076.md#state-1

Related to #11997

I'm going to label this good first issue but with the strong caveat that this is not may not be a beginner task, you'd have to have some experience with how the pieces fit together. (Edit: a beginner could definitely pick this up, it's just not super simple, you'd learn a lot in the process but you'd probably need some guidance).

@rvagg rvagg added the good first issue Good for newcomers label Dec 17, 2024
@rjan90 rjan90 moved this from 📌 Triage to 🐱 Todo in FilOz Dec 17, 2024
@rjan90
Copy link
Contributor Author

rjan90 commented Dec 17, 2024

The lotus-miner sectors status <SectorNR> is getting the DealID information correctly, so I suspect following what has been done there is one way of finding the DealID information relatively cheaply as well:

lotus/cli/spcli/sectors.go

Lines 105 to 107 in 1c239ef

fmt.Printf("Deals:\t\t%v\n", status.Deals)
fmt.Printf("Retries:\t%d\n", status.Retries)
if status.LastErr != "" {

@f8-ptrk
Copy link
Contributor

f8-ptrk commented Dec 17, 2024

thats what i thought @rjan90

but i wasn't sure if its maybe local state to the miner and not from the chain

@rvagg
Copy link
Member

rvagg commented Dec 17, 2024

Sadly that doesn't help because it's getting local state out of your datastore, sourced here from the persistent statemachine:

func (m *Sealing) GetSectorInfo(sid abi.SectorNumber) (SectorInfo, error) {
var out SectorInfo
err := m.sectors.Get(uint64(sid)).Get(&out)
return out, err
}

It has its own view of what's going on, and it hasn't been changed to remove the DealIDs, unlike the chain state.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers kind/bug Kind: Bug
Projects
Status: 🐱 Todo
Development

No branches or pull requests

3 participants