Skip to content

[Windows] aiox-core conductor loop --help nunca retorna e spawna loop-host órfão #76

Description

@csrodrigos-create

Sintoma

aiox-core conductor loop --help nunca retorna — em vez de imprimir o help e sair, o processo
fica vivo indefinidamente (parece iniciar/travar o próprio loop). Um --help disparado por uma
sessão de diagnóstico sobreviveu 20+ min e passou a escrever o loop-host.json do projeto,
poluindo o estado do conductor com um loop-host órfão host_kind: cli que não pertence a nenhum
pane. Efeito de segunda ordem: como um loop-host fresco pré-existe, o ensure_loop_host /
single-instance guard do wave launch pode recusar/deferir ao órfão em vez de o pane legítimo
(GUI) assumir.

Ambiente

  • OS: Windows 11 (x64) · Cockpit: aiox-cockpit.exe vivo (daemon --listen + GUI) · Antivírus: não avaliado nesta sessão
  • Binário: C:\Users\<user>\.aiox\bin\aiox-core.exe (17,37 MB, 2026-08-19) — sem version resource embedado (Rust; --version sai vazio mas RETORNA)
  • CLIs: .aiox\bin não está no PATH desta sessão (invocação por path absoluto)

O que o diagnóstico encontrou

  • conductor loop --help reproduzido travando por 2 vias independentes:
    1. pid órfão sobrevivente de sessão anterior (... conductor loop --help), vivo 20+ min, heartbeatando o loop-host.json do projeto a cada ~1s.
    2. teste próprio via job com timeout de 20s → não retornou (HANG CONFIRMED).
  • --version NÃO reproduziu hang nesta sessão (retornou <15s). O relato original de >120s foi
    provavelmente contenção de lock enquanto o loop órfão do --help girava.
  • Um conductor loop --root <outro-projeto> legítimo coexistia e heartbeatava normal (1s) — o
    hang é específico da forma --help do subcomando, não do conductor loop em si.

Passos para reproduzir

  1. Em terminal, rodar aiox-core conductor loop --help.
  2. Observar: não imprime help nem retorna; processo fica vivo.
  3. Inspecionar o state dir do projeto cuja cwd/root foi resolvida → .sdc-conductor/loop-host.json
    passa a ser reescrito por esse pid (host_kind: cli), mtime avançando a cada segundo.

Classificação [Confiança]

Sugestão de correção

Fazer conductor loop (e subcomandos) tratarem --help/-h como pedido de ajuda (short-circuit
antes de qualquer side-effect de inicializar o loop / escrever heartbeat).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions