Closed bug report

0.1.421: workspace never starts; pre-upgrade home tar fails with 'file changed as we read it' (tar exit 1 under set -e)

Drew Owens · 14d ago ·closed by Kyle Bergstedt

ah 0.1.421 (insiders tier, build 276261da, built Oct 26, build_dirty: true) · macOS 26.3.1 (25D2128) · workspace Adom-Workspace-6a0f713bf2

What happened

I updated to the 0.1.421 insider release. Since then the workspace never starts on launch: the VS Code tab sits on "Starting AI Environment..." indefinitely, with no error shown. It worked before the update.

When I start the container manually, I get a Start Failed dialog:

=== Container Start ===
  Starting workspace......

  ✗ Error: limactl ["sudo", "sh", "-c", "set -e; D='/var/lib/machines/Adom-Workspace-6a0f713bf2'; mkdir -p '/var/lib/adom-upgrade'; cd \"$D\"; L=''; for p in './home/adom/project' './home/adom/.ssh' './home/adom/.gnupg' './home/adom/.gitconfig' './home/adom/.git-credentials' './home/adom/.bash_history' './home/adom/.adom' './home/adom/.claude' './home/adom/.claude.json' './home/adom/.claude.json.backup' './home/adom/.config/gh' './home/adom/.codex' './home/adom/.kimi-code' './home/adom/.gemini' './home/adom/.local/share/keyrings' './home/adom/.copilot'; do [ -e \"$p\" ] && L=\"$L $p\"; done; rm -f '/var/lib/adom-upgrade/Adom-Workspace-6a0f713bf2.tar'; if [ -n \"$L\" ]; then tar -cf '/var/lib/adom-upgrade/Adom-Workspace-6a0f713bf2.tar' --numeric-owner $L; else tar -cf '/var/lib/adom-upgrade/Adom-Workspace-6a0f713bf2.tar' --files-from /dev/null; fi; du -h '/var/lib/adom-upgrade/Adom-Workspace-6a0f713bf2.tar' | cut -f1"] exited Some(1): tar: ./home/adom/project: file changed as we read it

GET /workspace/health at the same time:

machine_running: true
distro_running: true
code_server_alive_in_machine: false
code_server_listening_in_machine: false
editor_will_load: false

Likely cause

The pre-upgrade step that tars the user's home into /var/lib/adom-upgrade/ runs while the workspace machine is running (machine_running: true). Anything writing under ~/project at that moment (code-server, an AI thread, the adom auto-update hook/cron writing adom_modules/) changes the directory mid-read.

GNU tar treats "file changed as we read it" as a warning but exits 1. Under set -e that becomes a hard failure, so the start aborts before code-server comes up. ~/project is almost always live, so this can fail on every start rather than once.

Suggested fixes

  1. Take the snapshot while the machine is stopped, before it boots.
  2. Or accept tar's exit 1 and keep exit 2 fatal: tar --warning=no-file-changed -cf ... $L || [ $? -eq 1 ].
  3. Surface a failed start on the auto-start path. Right now the pane spins on "Starting AI Environment..." forever, and the error only appears on a manual start.

Side note: this archive includes .ssh, .gnupg, .git-credentials and the AI tool logins. It's worth making sure it stays root-only and is deleted once the upgrade is done.

Screenshots: the Start Failed dialog, and the stuck "Starting AI Environment..." pane.

2

3

1 Reply

Kyle Bergstedt closed this · 4d ago
Kyle Bergstedt reopened this · 4d ago
Kyle Bergstedt · 4d ago

fixed in 0.1.429: the upgrade no longer tars a live home; it stops the machine, moves it aside and carries the whole home across, rolling back on failure

Kyle Bergstedt closed this · 4d ago

Log in to reply.