Skip to content

Fix run_cvd abort on graceful guest VM shutdown - #2954

Open
SuperStrongDinosaur wants to merge 1 commit into
google:mainfrom
SuperStrongDinosaur:FixCuttlefishLauncherCrashOnGracefulGuestVMShutdown
Open

Fix run_cvd abort on graceful guest VM shutdown#2954
SuperStrongDinosaur wants to merge 1 commit into
google:mainfrom
SuperStrongDinosaur:FixCuttlefishLauncherCrashOnGracefulGuestVMShutdown

Conversation

@SuperStrongDinosaur

Copy link
Copy Markdown
Collaborator

When a guest VM shuts down cleanly, crosvm exits and MonitorLoop() finishes. However, child_sock_->Shutdown() was called before setting running to false. This caused ReadMonitorSocketLoop() to treat socket closure as an error, making ProcessMonitor exit with status 1 and causing run_cvd to abort(). The leftover stale sockets caused cvd fleet to report Unreachable and cvd restart to fail with "Connection refused".

Fix this by setting running.store(false) right after MonitorLoop() finishes, so ReadMonitorSocketLoop() recognizes socket closure as intentional and returns OK.

Test: verified monitor process exits cleanly with code 0 on guest shutdown.

BUG=b/538490772
BUG=b/534717429

@SuperStrongDinosaur SuperStrongDinosaur added the kokoro:run Run e2e tests. label Aug 3, 2026
@GoogleCuttlefishTesterBot GoogleCuttlefishTesterBot removed the kokoro:run Run e2e tests. label Aug 3, 2026
@SuperStrongDinosaur
SuperStrongDinosaur force-pushed the FixCuttlefishLauncherCrashOnGracefulGuestVMShutdown branch from 6e4f16d to 6e4e933 Compare August 3, 2026 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants