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

[Bug]: fw doctor Watchtower smoke test probes localhost, so all endpoints fail when Watchtower is bound to FW_HOST

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

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

評価

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

調査の方向性

bin/fwの3649行目と3672行目付近を読み、次にweb/smoke_test.pyの116行目と184~187行目付近を読んでください。fw doctorがどのように_doctor_wt_urlを解決し、スモークテストの引数を渡すかを追ってください。Watchtowerがループバック以外のFW_HOSTにバインドされているときに、スモークテストが検証済みURLを調べて成功すれば完了です。スモークテストのベースURL引数とfw doctorの呼び出しについて、テストを追加するか実行してください。

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

説明

area:doctor bug severity:medium status:accepted triaged
Bug Description

fw doctor first finds Watchtower at its real address: bin/fw:3649 resolves _watchtower_url (identity-verified) and checks ${_doctor_wt_url}/health. It then runs the smoke test with the port only:

  • bin/fw:3672: python3 "$FRAMEWORK_ROOT/web/smoke_test.py" --port "$_doctor_wt_port" --json
  • web/smoke_test.py:116: base = f"http://localhost:{port}"
  • web/smoke_test.py:184-187: the only arguments are --port, --test-client and --json; there is no way to pass a host.

When Watchtower is started with FW_HOST=<a non-loopback address> (as documented, to avoid listening on 0.0.0.0), it does not listen on localhost, so every probe is refused while the health check just passed.

Steps to Reproduce
  1. FW_HOST=<a LAN or VPN address of the host> fw watchtower start --port 3010
  2. curl -s -o /dev/null -w '%{http_code}' http://<that address>:3010/ returns 200.
  3. fw doctor prints WARN Watchtower smoke: 53/53 endpoints failed, each with <urlopen error [Errno 111] Connection refused>.
  4. python3 web/smoke_test.py --port 3010 --json gives the same 53 failures.
Expected Behavior

The smoke test probes the same base URL that fw doctor has just verified (for example a --base-url argument fed with $_doctor_wt_url, defaulting to localhost when absent).

Actual Behavior

WARN Watchtower smoke: 53/53 endpoints failed on every fw doctor run, while all pages answer 200 at the real address. A permanent false warning hides a real smoke failure.

fw doctor output

AI Agent

Claude Code

Operating System

Linux

Additional Context

1.8.11 (e42aa41bf), vendored consumer, Linux (Ubuntu 20.04, systemd 245), Claude Code. Watchtower started with FW_HOST set to a VPN address, as the operator's rule requires.

主要言語
Shell
スター
16
フォーク
6
平均マージ
6時間 24分
マージ済み PR(30日)
5

環境構築

はじめの一歩

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

DimitriGeelen/agentic-engineering-framework のほかの issue

DimitriGeelen/agentic-engineering-framework の issue をすべて見る

似ている issue

Shell/Bash の issue をもっと見る

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

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