fix(utmctl): attach help promises unimplemented serial redirection
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- Meno di un'ora
- Idoneità per principianti
- 75/100
- Tipo di issue
- Documentazione
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- swift
- Ambito
- cli, documentation
Direzione di ricerca
Leggi l’implementazione del comando attach in utmctl/UTMCtl.swift, righe 449–489, e confronta il suo output con l’abstract del comando e la tabella dei comandi di scripting. Aggiorna la guida e la documentazione per descrivere la rilevazione degli endpoint e chiarire che il reindirizzamento seriale interattivo non è disponibile. Verifica che la formulazione corrisponda al comportamento osservabile del comando.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
The attach command's help and scripting documentation describe interactive serial input/output redirection, but the command only prints an endpoint and returns. This report concerns the misleading advertised behavior; it does not assume that completing the unfinished interactive terminal feature is required. Users following the help cannot use the calling terminal as the VM console through this command.
Steps to reproduce
- Run
utmctl attach --helpusing the bundled CLI in the runtime below. - For the runtime comparison, start a QEMU ARM64 UEFI VM with one Pseudo-TTY serial device, 768 MiB memory, one CPU, no guest disks, no network interfaces, and no display devices. The observed fixture used UTM's default serial configuration for a script-created VM.
- Resolve that VM's UUID with
utmctl list, then runutmctl attach <VM-UUID>through a desktop Terminal authorized to control UTM, with stdout and stderr captured. - Observe that the command exits and returns to its caller without redirecting serial input/output. As a control, open the printed PTTY endpoint directly, send
verfollowed by carriage return, and read the firmware response.
All four steps were executed. The VM was a disposable firmware-only fixture and was stopped and deleted afterward.
Expected behavior
The command help should accurately describe the supported behavior before the user runs it. The current help promises that serial input/output will be redirected to the calling terminal. If interactive attachment remains intentionally unavailable, the help and scripting command table should make the endpoint-discovery behavior and limitation clear.
Actual behavior
The help overview reads:
Redirect the serial input/output to this terminal.
On the running fixture, attach returned exit status 0 with empty stderr and the following stdout. The device suffix is illustrative; the observed live endpoint has been generalized.
WARNING: attach command is not implemented yet!
PTTY: /dev/ttysNNN
The command returned instead of opening an interactive serial session. Direct read/write of the returned endpoint successfully produced UEFI Interactive Shell v2.2, EDK II, and UEFI v2.70, followed by the shell prompt. The serial device itself was usable.
Evidence
- Expected source: Fresh installed
attach --helpoutput above and the official scripting command table, whoseattachrow describes serial redirection. - Failure source: Fresh execution against the running firmware fixture returned the warning and endpoint above. The Attach implementation resolves the VM and serial ports, prints the warning and endpoint, then returns without a terminal session; its command abstract still advertises redirection.
- Evidence provenance: observed
- Local verification: reproduced
- Reproduction completeness: complete
The initial CLI release announcement described printing serial connections, so endpoint discovery appears intentional. This supports correcting the advertised behavior without assuming an interactive implementation is a regression. The closed native control interface proposal also explicitly deferred attach; it did not implement or request correction of the misleading help.
Runtime or environment
- UTM: 5.0.8, build 128, bundled macOS CLI; latest published stable release at verification.
- Host: Apple Silicon arm64, macOS 27.0.1, build 26A434.
- Source: The checked latest release tag
v5.0.8and current default branch resolve to the same revision linked in Evidence. The default-branch source was inspected, not built or executed separately. - Guest: QEMU aarch64 UEFI firmware only; no installed guest OS. Configuration readback confirmed the started state, memory, CPU count, and zero disks, NICs, and displays.
Restoration check
Run the same help and command on a running VM with a working PTTY. The advertised behavior and observable command result should agree: endpoint discovery must not promise an interactive console, or an advertised interactive session must actually accept input and display the firmware response through the calling terminal. Preserve the direct endpoint control to distinguish an unavailable serial device from this mismatch.
Triage assessment
- Impact level: P3
- Assessment status: supported
- Impact basis: This is an inaccurate help/documentation description of intentionally unfinished behavior. The observed command still provides endpoint discovery; this report does not require adding a new interactive capability.
- Workaround status: available
- Workaround basis: Direct read/write of the printed PTTY successfully exchanged a firmware command and response in this run; the official serial guide documents connecting to that endpoint with a terminal tool.
- Lingua principale
- Swift
- Stelle
- 35.9k
- Fork
- 1.9k
- Merge medio
- 2g 20h
- PR unite (30g)
- 23
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di utmapp/UTM
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
utmapp/UTM#7933 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Document that SPICE clipboard on Windows ARM requires virtio-ramfb (display backend dependency)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
utmapp/UTM#7677 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
a:false-positive
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno
-
Idle CPU stays at ~8% after the "Text wasn't inserted" card is shown onceForse già presa @nickbecker l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
altic-dev/FluidVoice#1217 ·
I maintainer di solito rispondono entro 1 giorno
-
BrainBar Watcher chart: unavailable-flow tooltip/accessibility drops the health reason for .attention/.stoppedForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
EtanHey/brainlayer#1439 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
alejandrobujan/tendedero#98 ·
I maintainer di solito rispondono entro 2 giorni
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
vorssaint/vorssaint-utils#3368 ·
I maintainer di solito rispondono entro 1 giorno