ElementsProject / ElementsProject/lightning

onchaind crash: “Could not find resolution for output 2” on anchors + lost_state channel

Open
#8,880 9 comments 0 reactions 0 assignees View on GitHub
QA
Dominant language
C
Stars
3.1k
Forks
1k
Avg merge
4d 10h
Merged PRs (30d)
13

Description

### Summary

Core Lightning `v25.12.1` onchaind crashes for an `anchors + static_remotekey` channel with:

> `STATUS_FAIL_INTERNAL_ERROR: Could not find resolution for output 2`

even though that output belongs to the remote and is already spent.

### Environment

- Core Lightning version: `v25.12.1`
- Build: [package or self-built from source, include git commit if you have it]
- Network: bitcoin mainnet
- Backend: bitcoind (no txindex, pruned? yes/no)
- Host: Raspberry Pi (64‑bit, OS: [your distro/version])

### Channel details

- Peer id: `03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f`
- `short_channel_id`: `928319x1161x0`
- `funding_txid`: `004dee0b164d82f5ecf716a70f659e206644f46ae0a3bfc5f4aeeaf1d32dbc4d`, `vout`: 0
- `channel_type.names`: `["static_remotekey/even","anchors/even"]`
- `lost_state`: `true`
- `state`: `ONCHAIN`
- `status`: `["ONCHAIN:Owning subdaemon onchaind died (61952)"]`

Relevant `listpeerchannels` snippet:

```json
{
"channels": [
{
"peer_id": "03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f",
"channel_type": {
"bits":,[2][3]
"names": ["static_remotekey/even", "anchors/even"]
},
"state": "ONCHAIN",
"lost_state": true,
"scratch_txid": "84bbfec75a53ab60785d66c4f9a7f096793c610fb0c93ac5bdfbf5c5bb95eb33",
"short_channel_id": "928319x1161x0",
"channel_id": "4dbc2dd3f1eaaef4c5bfa3e06af44466209e650fa716f7ecf5824d160bee4d00",
"funding_txid": "004dee0b164d82f5ecf716a70f659e206644f46ae0a3bfc5f4aeeaf1d32dbc4d",
"funding_outnum": 0,
"close_to_addr": "bc1pt27ne5sn5zkfzfj7ls0rs2dhqwxmudksur6a8l5pt4k0yjrut7ys35swky",
"opener": "local",
"closer": "local",
"features": ["option_static_remotekey", "option_anchors"],
"status": [
"ONCHAIN:Owning subdaemon onchaind died (61952)"
]
}
]
}

Logs around the crash

... INFO lightningd: Server started with public key 02577b9cde9daca28d01c27b323dfa38ddc1114258b7091aba45f9c00eb61678e0 ...

lightning_onchaind: Could not find resolution for output 2 (version v25.12.1)
...
**BROKEN** 03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f-onchaind-chan#1:
STATUS_FAIL_INTERNAL_ERROR: Could not find resolution for output 2
**BROKEN** 03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f-chan#1:
Owning subdaemon onchaind died (61952)

Commitment transaction

This is the on-chain tx spending the funding outpoint:

txid: d9be1412596fab9b9c0417010393c2493f208220dac0efb2bb5f76be020d6db3

blockheight: 934855

Output 2 (index 2) has since been spent on-chain.

The spending transaction is not recognized by my Bitcoin Core wallet, so output 2 appears to be remote‑owned.

Output 4 (belonging to me) have not shown up in CLN listfunds

Channel transitions through CHANNELD_NORMAL → AWAITING_UNILATERAL → FUNDING_SPEND_SEEN → ONCHAIN.

onchaind logs “Could not find resolution for output 2”, then:

STATUS_FAIL_INTERNAL_ERROR: Could not find resolution for output 2

Marks the channel as **BROKEN** and exits, leading to status ONCHAIN:Owning subdaemon onchaind died (61952).

lost_state is true on this channel.

Questions

Is onchaind expected to handle anchors + lost_state channels without aborting when there is a remote‑only output like this?

Is there a known fix or patch for this scenario in a newer CLN release?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.