Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

fundchannel reports 'Owning subdaemon openingd died (62208)' on peer disconnect after WIRE_OPEN_CHANNEL

オープン
#9,108 コメント 8 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
c

調査の方向性

WIRE_OPEN_CHANNEL の後に fundchannel_start を openingd 内で追跡し、status_peer_connection_lost と親プロセスの wait-status 処理に焦点を当てます。提供された lightning-cli コマンドとログで peer の切断を再現します。完了条件は、既存のリモート ERROR の動作を維持したまま、RPC が数値の subdaemon wait status ではなく peer connection loss のメッセージを報告することです。

索引モデルが issue の本文から書いたものです。

説明

Issue and Steps to Reproduce

When attempting to open a channel to a peer, fundchannel fails with the low-level error:

{
   "code": -1,
   "message": "Owning subdaemon openingd died (62208)",
   "data": {
      "id": "0322d0e43b3d92d30ed187f4e101a9a9605c3ee5fc9721e6dac3ce3d7732fbb13e",
      "method": "fundchannel_start"
   }
}

Command used:

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:

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:

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:

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:

Peer connection lost while waiting for accept_channel

or:

Peer disconnected during fundchannel_start after WIRE_OPEN_CHANNEL

rather than:

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:

git describe: v26.04.1-50-ga7f9aae9f
commit: a7f9aae9f
branch: claude/epic-black

lightningd --version from this checkout prints:

v25.09

I can provide the full exported logs if useful.

主要言語
C
スター
3.1k
フォーク
1k
平均マージ
4日 2時間
マージ済み PR(30日)
45

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ElementsProject/lightning のほかの issue

ElementsProject/lightning の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。