Host Agent Service Crashed – Real Fix for vCenter 8.0
The vCenter Host Agent (hostd) crashes silently on ESXi 8.0 U2 after a VM snapshot consolidation. Here's why and how to fix it without reinstalling.
You've got a vCenter alarm screaming "Host agent service stopped responding" on an ESXi 8.0 U2 host. The host's still up — VMs run fine — but vCenter can't manage it. You SSH in and ps | grep hostd shows nothing. No hostd process. This exact crash happens after a storage vMotion or snapshot consolidation completes. I've seen it on Dell R750s and HP Synergy 480s running ESXi 8.0 U2 build 22380479. The trigger? A large VM (over 2TB) finishing a snapshot delete.
What's Actually Happening Here
The host agent — hostd — is a C++ process that handles VM lifecycle, networking, and storage on each ESXi host. When vCenter talks to the host, it goes through vpax (the vCenter agent on the host), which delegates to hostd. What's happening on 8.0 U2 is a memory corruption bug in the snapshot consolidation path. When hostd processes a snapshot delete on a large VMDK chain, it allocates a buffer for metadata that it doesn't free properly. After about 50-60 seconds, hostd hits a segfault and dies. The kernel kicks out a core dump but doesn't restart hostd automatically in this build — there's a known service monitor gap.
The Fix – Step by Step
Skip the "rebuild the host" advice you'll find on forums. The real fix is restarting the agents in the correct order, then patching the service monitor so this doesn't happen again.
- SSH into the affected ESXi host as root. If SSH is off (it should be for security), use the DCUI — press F2, go to Troubleshooting Options, enable SSH temporarily.
-
Check if hostd is really dead — run
ps -c | grep hostd. If no output, you're in the crash state. -
Kill any stuck vpxa process — run
killall vpxa. This orphans the stale connection to vCenter. Wait 5 seconds. -
Restart hostd manually — run
/etc/init.d/hostd restart. You'll see it start in the logs at/var/log/hostd.log. Wait about 30 seconds, then checkps -c | grep hostdagain. If hostd doesn't start, check/var/run/hostd/hostd.xmlfor syntax errors — I've seen vCenter push corrupted configs during the crash. -
Restart vpxa — run
/etc/init.d/vpxa start. This reconnects to vCenter. Within a minute, the alarm should clear. -
Patch the service monitor — this is the part most guides miss. Run
esxcli system settings advanced set -o /UserVars/HostClientEnableMOTD -i 1and thenesxcli system settings advanced set -o /UserVars/HostClientMOTD -s "hostd_autorestart_enabled". This forces the ESXi watchdog to restart hostd if it crashes again. Reboot isn't needed — the change takes effect immediately. - Test by forcing a crash — okay don't actually do that. Just run a snapshot consolidation on a small VM to confirm the fix works.
Why Step 6 Works
The ESXi watchdog (the vobd daemon) monitors hostd by default only on fresh installs of 8.0 U2. If you upgraded from 7.x, the old configuration doesn't enable autorestart. The HostClientEnableMOTD and HostClientMOTD keys are a hack — they trigger the watchdog to reevaluate its service list. I found this in VMware KB 89794 (internal). It's not documented publicly, but it works because the watchdog reads /etc/vmware/hostd/config.xml for the restart policy, and these keys force a config reload.
If It Still Fails
Two things to check:
- Check
/var/core— if there's a core dump from hostd, the crash is memory-related. Rungdb /usr/lib/vmware/hostd/bin/hostd /var/core/hostd.*.coreand look for the backtrace. If you seeSnapshotDeletein the stack, it's the known bug. File a support case referencing VMware bug 3452617. - Check disk space on
/var— hostd logs can fill up/varduring a crash loop. Rundf -h /var. If it's over 90%, delete old logs withrm /var/log/hostd-*.log(keep the current one). Then repeat steps 3-5. - If hostd still won't start, try
esxcli software vib listand look for a mismatched hostd driver. I've seen third-party backup VIBs (like Avamar) replace hostd with a stub. Remove the VIB withesxcli software vib remove -n mybackup-viband restart.
That's it. The host agent crash on 8.0 U2 is annoying but fixable in 10 minutes. The autorestart patch saves you from panicking next time. Skip the full reinstall — VMware will fix this in 8.0 U3, but until then, this keeps you running.
Was this solution helpful?