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

test_announce_and_connect_via_dns binds a fixed port that other tests' nodes can be handed

オープン 初心者向け
#9,642 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

@ksedgwic がすでに取り組んでいます。

2026年10月21日 から。

  • #9643 @ksedgwic による — オープン

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
83/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
c, python
領域
testing

調査の方向性

統合テストコード内で test_announce_and_connect_via_dns と reserve_unused_port() ヘルパーを見つけてください。テストで最初のノードの bind-addr と announce-addr をどのように設定しているかを確認し、そのポートに共有のポート予約を使用してください。対象のテストを実行し、固定ポートによる bind の競合なしにノードが起動することを確認してください。

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

説明

test_announce_and_connect_via_dns fails intermittently because its first node cannot bind port 12345 and never starts:

lightningd-1 2026-10-19T16:39:14.533Z **BROKEN** connectd: Failed to bind socket for 127.0.0.1:12345: Address already in use
TimeoutError: Unable to find "[re.compile('Server started with public key')]" in logs.

Seen on master at 898688817 in Test CLN liquid Full Integration, run 39278670232 (2026-10-19, https://github.com/ElementsProject/lightning/actions/runs/39278670232).

Cause: the test hard-codes 12345 for the first node's bind-addr and announce-addr. Every other node in the suite gets its ports from reserve_unused_port(), which draws from the range below the OS ephemeral floor (1024 to 32767 on Linux) and coordinates only its own allocations through lock files. A node of a test running on another worker can be handed 12345, and this test's node then fails to start. connectd sets SO_REUSEADDR, so this is a live listener, not a lingering socket.

Fix: reserve the port through reserve_unused_port() as well, so the pool knows about it.

Part of #9222.

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

環境構築

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

はじめの一歩

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

ElementsProject/lightning のほかの issue

ElementsProject/lightning の issue をすべて見る

似ている issue

C の issue をもっと見る

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

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