When upgrading vCenter Server from 7.x to 8.x, the process fails during Stage 2 while starting new services. The vpxd service crashes during the firstboot phase, specifically when the system attempts to automatically resolve naming conflicts in the inventory.
Symptoms:
Upgrade fails at the "starting new vCenter Server services" phase. (50%)
Error message: "An error occurred while starting service 'vpxd'".
Found in vpxd_firstboot.py_stderr.log: ERROR starting vpxd rc: 2, stdout: , stderr: Start service request failed. Error: Service crashed while starting.
A core dump file is generated at /var/core/core.vpxd.xxxx.
Backtrace analysis reveals a crash in BaseResGroup::RenameInt while attempting to rename a duplicate object :
e.g., changing
newName = "NAME_OF_DUPLICATE_OBJECT"
currentName = "NAME_OF_DUPLICATE_OBJECT (1)"
vCenter Server 7.0 upgrading to vCenter Server 8.0
The vpxd service crashes during the post-migration initialization because it encounters duplicate object names (such as Resource Pools or Folders) in the vSphere inventory. While vCenter 8.x logic attempts to automatically resolve these collisions by appending a numeric suffix, a code defect in the RenameInt function triggers a segmentation fault when handling certain inventory objects during this transition.
To resolve this issue, you must ensure naming uniqueness in the source vCenter inventory before starting the upgrade:
Revert to Snapshot: Revert the vCenter Server Appliance to the pre-upgrade snapshot and power it on.
Identify Duplicates: Search the vSphere inventory for the duplicate object names identified in the crash backtrace (e.g., newName = "NAME_OF_DUPLICATE_OBJECT").
Rename Objects: Manually rename the duplicate objects to unique values (e.g., append a functional suffix like _App or _DB).
Verify Inventory: Use the vSphere Client or PowerCLI to ensure no two objects of the same type share the same parent and name.
Retry Upgrade: Restart the vCenter 8.x upgrade process.