lightninglabs / lightninglabs/pool

pool: daemon crashes if unable to reconcile local order state w/ a replaced pending batch

Open
#365 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

batch bug orders recovery
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.