ElementsProject / ElementsProject/lightning
fundchannel reports 'Owning subdaemon openingd died (62208)' on peer disconnect after WIRE_OPEN_CHANNEL
- Dominant language
- C
- Stars
- 3.1k
- Forks
- 1k
- Avg merge
- 4d 10h
- Merged PRs (30d)
- 13
Description
### Issue and Steps to Reproduce
When attempting to open a channel to a peer, `fundchannel` fails with the low-level error:
```json
{
"code": -1,
"message": "Owning subdaemon openingd died (62208)",
"data": {
"id": "0322d0e43b3d92d30ed187f4e101a9a9605c3ee5fc9721e6dac3ce3d7732fbb13e",
"method": "fundchannel_start"
}
}
```
Command used:
```bash
lightning-cli --lightning-dir=/home/vp/.lightning-experimental/lightning -k \
fundchannel \
id=0322d0e43b3d92d30ed187f4e101a9a9605c3ee5fc9721e6dac3ce3d7732fbb13e@164.92.106.32:9735 \
amount=all \
announce=true
```
The relevant logs show that the connection succeeds, `openingd` sends `WIRE_OPEN_CHANNEL`, and then the peer connection is lost while waiting for `accept_channel`:
```text
2026-05-04 23:06:40.354373 plugin-spenderp mfc 8, dest 0: connect 0322d0e43b3d92d30ed187f4e101a9a9605c3ee5fc9721e6dac3ce3d7732fbb13e.
2026-05-04 23:06:40.830696 connectd Connected out, starting crypto
2026-05-04 23:06:41.248657 connectd peer_out WIRE_INIT
2026-05-04 23:06:41.318478 connectd peer_in WIRE_INIT
2026-05-04 23:06:41.319001 plugin-spenderp mfc 8, dest 0: connect done.
2026-05-04 23:06:41.371062 plugin-spenderp mfc 8, dest 0: fundchannel_start 0322d0e43b3d92d30ed187f4e101a9a9605c3ee5fc9721e6dac3ce3d7732fbb13e.
2026-05-04 23:06:41.402490 openingd-chan#55 pid 921769, msgfd 95
2026-05-04 23:06:41.403137 openingd-chan#55 funder_channel_start
2026-05-04 23:06:41.403180 openingd-chan#55 Setting their reserve to 128171sat
2026-05-04 23:06:41.403217 openingd-chan#55 peer_out WIRE_OPEN_CHANNEL
2026-05-04 23:06:41.403254 openingd-chan#55 billboard: Funding channel start: offered, now waiting for accept_channel
2026-05-04 23:06:41.986147 openingd-chan#55 Peer connection lost
2026-05-04 23:06:41.986161 chan#55 Owning subdaemon openingd died (62208)
2026-05-04 23:06:41.986173 lightningd peer_disconnected
2026-05-04 23:06:42.026250 plugin-spenderp mfc 8, dest 0: failed! fundchannel_start 0322d0e43b3d92d30ed187f4e101a9a9605c3ee5fc9721e6dac3ce3d7732fbb13e: {"code":-1,"message":"Owning subdaemon openingd died (62208)"}.
```
There is no `peer_in WIRE_ERROR` in this attempt. So this seems to be a remote disconnect after our `open_channel`, but the RPC error returned to the user is the internal wait status / subdaemon death:
```text
Owning subdaemon openingd died (62208)
```
This is confusing because it looks like `openingd` crashed, while the logs indicate the controlled exit path for peer connection loss.
A previous attempt with `announce=false` against another peer gave a clean remote error:
```text
They sent ERROR channel ...: private channels are not accepted
```
So the issue here is not that every peer policy rejection is opaque; this specific case is a disconnect/EOF surfaced as a subdaemon death.
Expected behavior: `fundchannel` should surface something like:
```text
Peer connection lost while waiting for accept_channel
```
or:
```text
Peer disconnected during fundchannel_start after WIRE_OPEN_CHANNEL
```
rather than:
```text
Owning subdaemon openingd died (62208)
```
I think `62208` is the parent-visible wait status for an exit status of `243` (`0xf3`), i.e. the `status_peer_connection_lost` path, but this leaks an implementation detail to the RPC user.
### `getinfo` output
I am running an experimental build. From the current tree:
```text
git describe: v26.04.1-50-ga7f9aae9f
commit: a7f9aae9f
branch: claude/epic-black
```
`lightningd --version` from this checkout prints:
```text
v25.09
```
I can provide the full exported logs if useful.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.