lightninglabs / lightninglabs/pool
pool: daemon crashes if unable to reconcile local order state w/ a replaced pending batch
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 259
- Forks
- 51
- PR merge metrics
- No merged PRs in 30d
Description
Reported by a Lightning Terminal user:
```
[ERR] LITD: Could not start subservers: unable to start account manager: unable to resume account X: unable to subscribe for account updates: checking pending batch failed: error removing pending batch artifacts: error abandoning channels from previous pending batch: error locating channel outpoint: no channel output found in batch tx for matched order Y
```
The start of the failed code path is here: https://github.com/lightninglabs/pool/blob/master/auctioneer/client.go#L579-L587
We go to abandon the channel shims we have have created: https://github.com/lightninglabs/pool/blob/3e49f4c5c83b5451181d7b895831580cd113eda3/funding/manager.go#L999-L1005
Ultimately failing here when it can't find an output its looking for in the batch execution transaction: https://github.com/lightninglabs/pool/blob/3e49f4c5c83b5451181d7b895831580cd113eda3/funding/batch.go#L95-L105
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in auctioneer/client.go at the account-resume path, then trace the pending-batch cleanup in funding/manager.go and the missing-output handling in funding/batch.go. Reproduce or test the replaced pending-batch state and define done as allowing the daemon to recover without crashing when the expected channel output is absent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100