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

--host fails under a long codeaf home: ssh control socket path too long

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

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

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

評価

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

調査の方向性

Start in cmd/codeaf/chatv3_host.go:244-259 and inspect sshControlPath together with enginehost.SocketPathFits. Reproduce with the long HOME setup and run the relevant unit or end-to-end checks. Done means the control path plus 17 bytes fits the platform socket limit or uses a short fallback, and codeaf --host localhost connects.

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

説明

area:remote bug sev:serious

Seen on: dev 837b2b0.

Behaviour

With a long codeaf home path, codeaf --host <machine> fails before connecting: unix_listener: path "…/.codeaf/v3/ssh/ctl-f53e…" too long for Unix domain socket, then error: ssh could not open a session on <machine>. A long home should still connect (or be refused before ssh runs with one plain line). Related: #1442 is the same limit for the engine socket.

Replication

  1. Build dev 837b2b0 (git checkout 837b2b0 && make build, binary bin/codeaf), or install the dev build with curl -fsSL https://agentfield.ai/get/devaf | bash.
  2. Use an isolated profile: export HOME=$(mktemp -d), export OPENROUTER_API_KEY, and keep the default model (~deepseek/deepseek-v4-flash-latest, crew on auto).
  3. On a busy machine set task.max_load to 0 (/settings, Tasks) so the busy-machine gate does not hold tasks.
  4. Make a long home: export HOME=$(mktemp -d)/$(printf 'a%.0s' $(seq 1 60)) and mkdir -p "$HOME".
  5. codeaf --host localhost (with a local ssh server).

Evidence

  • Screen: unix_listener: path "…/.codeaf/v3/ssh/ctl-f53e…" too long for Unix domain socket, error: ssh could not open a session on ….
  • cmd/codeaf/chatv3_host.go:244-259 (sshControlPath): the check expands %C to 40 characters and calls enginehost.SocketPathFits, but OpenSSH binds the control master first to the path plus a random .XXXXXXXXXXXXXXXX suffix, so a path that passes the check can still be too long.

Guessed cause

A guess from reading the code, not a confirmed diagnosis. The fit check does not allow for the temporary suffix OpenSSH adds when it binds the master socket, and there is no short fallback such as $XDG_RUNTIME_DIR or /tmp.

Acceptance

  • e2e: codeaf --host localhost with the long HOME above connects.
  • Unit: sshControlPath returns a path whose length plus 17 bytes fits the platform's socket limit, or a short fallback.

Found while writing the public docs; manual text differences are in #1545.

🤖 Generated with Claude Code

主要言語
Go
スター
115
フォーク
14
平均マージ
9時間 44分
マージ済み PR(30日)
766

環境構築

このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

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

Agent-Field/CodeAF のほかの issue

Agent-Field/CodeAF の issue をすべて見る

似ている issue

Go の issue をもっと見る

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

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