vmware-vmon service fails to start with an error: "Job for vmware-vmon.service failed because the control process exited with error code"
search cancel

vmware-vmon service fails to start with an error: "Job for vmware-vmon.service failed because the control process exited with error code"

book

Article ID: 409579

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

When attempting to start services on the vCenter Server Appliance , the vmware-vmon service fails to start.

Error Snippet:

  • Running service-control --start --all shows the following error:
root@VCFQDN [ /etc ]# service-control --start --all
Operation not cancellable. Please wait for it to finish...
Performing start operation on service lwsmd...
Successfully started service lwsmd
Performing start operation on service vmafdd...
Successfully started service vmafdd
Performing start operation on service vmdird...
Successfully started service vmdird
Performing start operation on service vmcad...
Successfully started service vmcad
Performing start operation on profile: ALL...
YYYY-MM-DDT03:59:28.217Z  RC = 1
Stdout =
Stderr = Job for vmware-vmon.service failed because the control process exited with error code.
See "systemctl status vmware-vmon.service" and "journalctl -xe" for details.

YYYY-MM-DDT03:59:28.217Z  {
    "detail": [
        {
            "id": "install.ciscommon.command.errinvoke",
            "translatable": "An error occurred while invoking external command : '%(0)s'",
            "args": [
                "Stderr: Job for vmware-vmon.service failed because the control process exited with error code.\nSee \"systemctl status vmware-vmon.service\" and \"journalctl -xe\" for details.\n"
            ],
            "localized": "An error occurred while invoking external command : 'Stderr: Job for vmware-vmon.service failed because the control process exited with error code.\nSee \"systemctl status vmware-vmon.service\" and \"journalctl -xe\" for details.\n'"
        }
    ],
    "componentKey": null,
    "problemId": null,
    "resolution": null
}
Service-control failed. Error: {
    "detail": [
        {
            "id": "install.ciscommon.service.failstart",
            "translatable": "An error occurred while starting service '%(0)s'",
            "args": [
                "vmware-vmon"
            ],
            "localized": "An error occurred while starting service 'vmware-vmon'"
        }
    ],
    "componentKey": null,
    "problemId": null,
    "resolution": null
}

 

  • The system journal (journalctl -xe) will display errors similar to the following:

Month Date 03:59:30 VCDQDN systemd[1]: vmware-vmon.service: Found left-over process 11545 (python) in control group while starting unit. Ignoring.
Month Date 03:59:30 VCDQDN systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Month Date 03:59:30 VCDQDN systemd[1]: vmware-vmon.service: Found left-over process 13025 (python) in control group while starting unit. Ignoring.
Month Date 03:59:30 VCDQDN systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Month Date 03:59:30 VCDQDN systemd[1]: vmware-vmon.service: Found left-over process 13468 (python) in control group while starting unit. Ignoring.
Month Date 03:59:30 VCDQDN systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Month Date 03:59:30 VCDQDN vmon.launcher[70071]: /etc/profile: line 66: TMOUT: readonly variable
Month Date 03:59:30 VCDQDN systemd[1]: vmware-vmon.service: Control process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ An ExecStart= process belonging to unit vmware-vmon.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.

Environment

VMware vCenter Server

Cause

The vmware-vmon service fails to start because it attempts to source /etc/profile during startup. If /etc/profile contains a readonly TMOUT variable, this prevents the service from re-exporting the variable, causing the process to exit with an error and the service to fail.

Problematic entries in /etc/profile:

export TMOUT=600
readonly TMOUT

Resolution

  1. Back up the configuration file:
    cp /etc/profile /etc/profile.bak

  2. Edit the configuration file:
    vi /etc/profile

  3. Comment out or remove the TMOUT entries:
    Locate the following lines and add a '#' at the beginning of each:
    # export TMOUT=600
    # readonly TMOUT

  4. Save and exit the vi editor.

  5. Restart all services:
    service-control --stop --all && service-control --start --all