With ESX 9.0 release, the operating system supports updating certain user world entities without rebooting the host. This update is termed as Live Update which can be applied to a live system without rebooting it thus making the update process efficient and faster. The user world entities for which, Live patching is currently supported for user world daemons, application binaries and security policy files.
Remediating process has two stages:
Remediation of a live patch which updates the above user world entities on a running ESX could fail for multiple reasons. This article outlines failure scenarios and corresponding mitigations for restoring ESX's stability.
Patching User World Daemons:
These are the applications that run in the background and provide some services in the ESX operation system. The patches to these daemons are applied by overlaying the existing executable file, with a newer one. and when such daemon binaries are patched it requires a daemon/service restart. The remediation process updates the daemon application binary and the running daemon is patched with the following steps:
The following log message appears in var/run/log/syslog.log when this error occurs:
syslog.log error messageYYYY-MM-DDTHH:MM:SS Db(15) daemon_apply_published.py[1000081850]: restartDaemon: <DAEMON_NAME> Stop failed |
Following messages appear in the vCenter UI when the remediation process encounters this error:
Stop failureLive Patch - Daemon patching failed. Failure occurred during the stop call for <DAEMON_NAME>. Manual remediation recommended. Please refer to KB article: KB 375947. |
The following message appears in var/run/log/syslog.log when this error occurs:
Failure to start the patched daemonYYYY-MM-DDTHH:MM:SS Db(15) daemon_apply_published.py[1000081775]: restartDaemon: <DAEMON_NAME> Start failed.YYYY-MM-DDTHH:MM:SS Db(15) daemon_apply_published.py[1000081775]: rollbackDaemon: Previous version of <DAEMON_NAME> started. |
The following message will appear on the vCenter UI when this error is encountered:
Patched daemon start failureLive Patch - Daemon patching failed. Failure occurred during the start of patched version of <DAEMON_NAME>. Restarted unpatched version. Please refer to KB article: KB 375947." |
Failure to launch the unpatched daemon binary:
The following message appears in var/run/log/syslog.log when this error occurs:
Rollback failureYYYY-MM-DDTHH:MM:SS Db(15) daemon_apply_published.py[1000081356]: rollbackDaemon: <DAEMON_NAME> rollback failed. |
The following message will appear on the vCenter UI when this error is encountered:
Failure to start unpatched daemonLive Patch - Daemon patching failed. Failure occurred during restarting unpatched version of <DAEMON_NAME>. Manual remediation recommended. Please refer to KB article: KB 375947. |
Recommended action: Please refer to Failure to start the unpatched daemon binary section in the resolution below.
Patching Applications:
Besides daemons, any application can be patched. In contrast to daemons, applications are usually short running and are lunched by daemon or from a user. While applying the patch, the functionality of the patched application is verified and a failure is raised if the new version cannot be launched.
If there is a running instance of the patched binary, this instance is not re-started! For instance, if there is an open ssh session, this session must be closed to get the host into a compliant state. Following errors could be encountered during the patching of an application:
The following message appears in var/run/log/syslog.log when this error occurs:
Application binary patch failure - syslogYYYY-MM-DDTHH:MM:SS Db(15) daemon_helper_apply_published.py[1000343537]: verifyDaemonHelper: <DAEMON_HELPER_APPLICATION_NAME> verification failed |
The following message will appear on the vCenter UI when this error is encountered:
Helper Daemon verify failureLive Patch - Daemon helper patching failed. Verification of the helper binary <HELPER_DAEMON_NAME> failed (command '<VERIFY_CMD>'). Manual remediation recommended. Please refer to KB article: KB 375947. |
The following message appears in var/run/log/syslog.log when this error occurs:
Helper application related Daemon restart failureYYYY-MM-DDTHH:MM:SS Db(15) daemon_helper_apply_published.py[1000343586]: rollbackDaemon: <DAEMON_NAME> rollback failed. |
The following message will be shown on vCenter UI:
Dependent daemon - unpatched version launch failureLive Patch - Daemon patching failed. Failure occurred during restarting unpatched version of <DAEMON_NAME>. Manual remediation recommended. Please refer to KB article: KB 375947. |
Host being reported as "Non-compliant" after the patch was successfully applied.
Host reporting Non-CompliantFollowing daemon helpers are not compliant, as unpatched instance(s) are still running: <APPLICATION_LIST>. Please refer to KB article: KB 375947. |
Patching Security Policy files:
Access domains specifies the rules to extend/restrict the access permissions to certain system components/services of the user world. The specifics of these access/restriction is provided as a access domain file which can be live patched. When the access domain files are live patched, it triggers reloading all the system wide access permissions thus apply the newly patched security policies.
VMK access Live patch failure messageLoading default security policies has failed. |
Patching Libraries:
Applications and daemons often make use of shared libraries at runtime to perform various functions. In VCF 9.1, we introduce support for live patching of these libraries. Live patching allows a new, updated version of a library to be installed while the system is running. However, once a patched library is deployed, any applications or daemons that were already running before the update will still be using the old version of the library that was loaded into memory at startup.
To ensure these applications and daemons begin using the newly patched library, they must be stopped and restarted after the patch is applied. Restarting forces the application to reload the updated library into memory. If any running instances cannot be restarted automatically—for example, if there is an active SSH session or a critical daemon that cannot be interrupted—these processes will continue using the outdated library, leaving the host in a non-compliant state. In such cases, actions such as closing active sessions or manually restarting services are required to bring the host into compliance and ensure that all processes are using the patched version of the library.
Following errors could be encountered during the patching of an library when old version of application/daemon is still running:
1. When daemons/application are missing from remediation list:
YYYY-MM-DDTHH:MM:SS +lifecycle [processID] [esx@[hostID]] Library [library name] impacts the following binaries, which are not listed as part of the patch: [app name] |
The following libraries are incompatible with remediation: [library name] due to missing daemons/apps [app name] cids:[cid] |
2. When 3rd party daemons/application are running on the host consuming patched library:
YYY-MM-DDTHH:MM:SS +DEBUG lifecycle [processID] [esx@[hostID]] Library [library name] is linked to third party application [3rd Party binary name] in vib [vib name] from vendor [Vendor Name] version [vib version], running cartelID [cid] |
The following libraries are noncompliant with remediation: Third-partv vib [binary name]: binPath=[binary location] name=[vib name] vendor=[vendor name] version=[vib version] is consuming library [library name] |
3. If the old applications continue to run with old libraries.
YYY-MM-DDTHH:MM:SS +DEBUG lifecycle [processID] [esx@[hostID]] There are instances of application ([app name]) that are still running and are non-compliant |
The Live Patch image has been applied to the host, and new processes will run patched code. However, some application(s) continue to run unpatched processes that were started before the patch was applied. Please refer to KB article 375947: [app name] |
Patching firewall rules:
Firewall rules define the set of network security policies that control how applications can communicate over the network. These policies specify what types of traffic are allowed or restricted, such as permitting specific ports, protocols, or IP ranges. The detailed configuration of these access and restriction policies is provided through a firewall ruleset file.
In VCF 9.1, this firewall ruleset file can be live patched, meaning an updated version of the file can be applied without requiring a full system reboot. When a live patch to the firewall ruleset is deployed, it automatically triggers a system-wide firewall reload. This reload ensures that all running applications and services immediately begin operating under the newly updated security policies, enforcing the latest access controls without disrupting overall system availability.
Loading default firewall rules has failed. |
Other general errors/exceptions encountered during remediation process:
Encountering exception during patching processLive Patch - Daemon patching failed. Failure occurred due to an unexpected exception:<EXCEPTION_TYPE>. Manual remediation recommended. Please refer to KB article: KB 375947. |
Recommended action:
VMware vSphere ESX 9.x
This section provides details on how to recover the ESX host from incomplete upgrades.
Following section details the recovery steps for errors/exceptions encountered during the apply stage of remediation process.
Failure to start the patched daemon binary: This indicates that the daemon was not patched (remediation failure) and the remediation process rolled back the host to the earlier state by launching the unpatched version of the daemon successful. In this case the recommended action is:
Migrate the existing workloads using vMotion or stop all VMs on the host.
Perform a full system upgrade through the standard upgrade process.