xcodes runtimes install returns immediately with 'Finished' when run without TTY (SSH non-interactive)
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện xcodes runtimes install "iOS 18.1" qua SSH mà không có TTY, sau đó lần theo đường đi của lệnh runtimes install trong repository. So sánh hành vi của nó với việc cấp phát TTY bắt buộc và xác định là hoàn tất khi quá trình tải xuống hoàn thành mà không có TTY hoặc trả về một lỗi rõ ràng khác 0 thay vì Finished với mã thoát 0.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description
When running xcodes runtimes install via SSH without a TTY (e.g., through Ansible or ssh user@host 'command'), the command returns immediately with "Finished" output and exit code 0, even though the runtime download has not started or completed.
Steps to Reproduce
-
SSH into a macOS host without allocating a TTY:
ssh user@host '/opt/homebrew/bin/xcodes runtimes install "iOS 18.1"' -
Observe that the command returns immediately with:
Finished -
Verify that no runtime was actually installed:
xcrun simctl list runtimesShows no iOS 18.1 runtime.
Expected Behavior
The command should block and download the runtime, showing progress, even when run without a TTY. Or, if TTY is required, it should fail with a clear error message rather than silently claiming success.
Actual Behavior
- Returns immediately (< 2 seconds)
- Outputs "Finished"
- Exit code: 0
- No runtime is downloaded/installed
Workaround
Force TTY allocation when running via SSH:
ssh -tt user@host '/opt/homebrew/bin/xcodes runtimes install "iOS 18.1"'
Or in Ansible:
vars:
ansible_ssh_common_args: "-o RequestTTY=force"
Environment
- xcodes version: 1.6.2
- macOS version: 26.1
- Xcode version: Xcode 16.1
- Installation method: Homebrew
Additional Context
This issue makes it difficult to automate runtime installation via configuration management tools like Ansible, which don't allocate TTYs by default. The command should either work without a TTY or fail clearly instead of silently succeeding without doing anything.
- Ngôn ngữ chính
- Swift
- Star
- 4.8k
- Fork
- 182
- Merge trung bình
- 2 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 1
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của XcodesOrg/xcodes
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
-
Bad CPU type in executable Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
-
Partially downloaded/damaged Xcode archives aren't checked before moved to download location Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 64/100
Tất cả issue của XcodesOrg/xcodes
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
googleapis/google-cloud-swift#1151 ·
-
`--app` focus through the daemon can pick an off-screen window and refuse with `axElementNotFound` Đang mởclawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:other issue-rating: 🦞 diamond lobster no-stale P1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
-
code health
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
apple/coreai-models#288 ·
-
task
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
vsanthanam/JBird#429 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100