[App Service] az webapp ssh silently exits on macOS with Python 3.14 and Invoke 2.2.0
メンテナーはふだん 1 日以内に返信
評価
この issue はまだ評価されていません。
説明
Describe the bug
On macOS with Azure CLI 2.89.1 installed by Homebrew, az webapp ssh establishes the App Service tunnel and opens a Paramiko SSH channel, but immediately closes without displaying an error. The command exits with status 0.
With --debug, the interactive session reports buffer overflow. Azure CLI catches the exception in _start_ssh_session, logs it only at INFO/debug level, closes the connection, and returns success.
The bundled Invoke 2.2.0 uses a 4-byte "HH" buffer for TIOCGWINSZ. Python 3.14 detects the 8-byte write on macOS and raises SystemError: buffer overflow. Updating Invoke to 2.2.1 fixes the command.
Upstream: https://github.com/pyinvoke/invoke/issues/1038
Python 3.14 tracking: https://github.com/Azure/azure-cli/issues/32869
Related command
az webapp ssh --resource-group --name
Errors
No error appears normally; the command silently returns with exit status 0.
With --debug:
paramiko.transport: Secsh channel 0 opened.
paramiko.transport: [chan 0] EOF sent (0)
azure.cli.command_modules.appservice.custom: buffer overflow
Client disconnected
websocket close: Connection failure.
az_command_data_logger: exit code: 0
Issue script & Debug output
``shell
az webapp ssh
--resource-group
--name
--debug
The tunnel and SSH channel are established, followed by:
paramiko.transport: Secsh channel 0 opened.
paramiko.transport: [chan 0] EOF sent (0)
azure.cli.command_modules.appservice.custom: buffer overflow
Client disconnected
websocket close: Connection failure.
az_command_data_logger: exit code: 0
Invoke 2.2.0's `invoke/terminals.py` contains:
```python
fmt = "HH"
buf = struct.pack(fmt, 0, 0)
result = fcntl.ioctl(sys.stdout, termios.TIOCGWINSZ, buf)
Invoke 2.2.1 uses the correct 8-byte "HHHH" structure. Installing 2.2.1 into Azure CLI's environment makes the same command work.
Expected behavior
The command should maintain an interactive SSH session. If terminal creation fails, Azure CLI should display the exception and return a nonzero status instead of silently closing with status 0.
Environment Summary
azure-cli 2.89.1
core 2.89.1
telemetry 1.1.0
Installation: Homebrew
Python location: /opt/homebrew/Cellar/azure-cli/2.89.1/libexec/bin/python
Python: 3.14.7
Bundled Invoke: 2.2.0
Fabric: 3.2.2
OS: macOS 26.6.2
Architecture: arm64
Additional context
Homebrew's current Azure CLI 2.89.1 formula depends on Python 3.14 and packages Invoke 2.2.0.
Working dependency update:
"$(brew --prefix azure-cli)/libexec/bin/python" \
-m pip install --ignore-installed "invoke==2.2.1"
Another workaround is az webapp create-remote-connection plus the system SSH client.
Suggested fixes:
- Package a Python 3.14-compatible Invoke version.
- Do not suppress the session exception and report success when SSH failed.
- 主要言語
- Python
- スター
- 4.7k
- フォーク
- 3.5k
- 平均マージ
- 5日 55分
- マージ済み PR(30日)
- 58
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Azure/azure-cli のほかの issue
-
customer-reported Service Attention
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
Azure/azure-cli#34267 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Add support for cli completion in git bash for windows対応中かも @a0x1ab が 9 日前に担当しました。 オープンcustomer-reported Service Attention
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
Azure/azure-cli#34150 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
act-observability-squad Auto-Assign ContainerApp Output Service Attention
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Azure/azure-cli#33149 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
act-codegen-extensibility-squad Auto-Assign Documentation MySQL Possible-Solution Service Attention Similar-Issue
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
Azure/azure-cli#33009 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
act-codegen-extensibility-squad Auto-Assign AzureStackHCI Documentation needs-triage Service Attention
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
Azure/azure-cli#32586 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
Azure/azure-cli の issue をすべて見る
似ている issue
-
Context/namespace resources fail in-cluster: "Invalid kube-config file. No configuration found."オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
bug documentation
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
awslabs/visual-asset-management-system#880 ·
メンテナーはふだん 1 日以内に返信
-
netbox status: needs owner type: documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
netbox-community/netbox#23533 ·
メンテナーはふだん 1 日以内に返信
-
app: scripts status: backlog type: documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
netbox-community/netbox-scripts#68 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
marin-community/marin#10765 ·
メンテナーはふだん 1 日以内に返信