Status: Invalid virtual machine configurationUnable to create snapshot, Unable create non-quiesced snapshot after a retry attempt: Invalid virtual machine configurationA general system error occurred: Fault cause: vim.fault.GenericVmConfigFaultYYYY-MM-DDThh:mm:ss vmx| I125: SNAPSHOT: SnapshotConfigInfoReadEx: Unable to load dict from '/vmfs/volumes/vsan/##/Test-VM.vmx'.YYYY-MM-DDThh:mm:ss vmx| I125: SNAPSHOT: SnapshotConfigInfoReadEx failed for file '/vmfs/volumes/vsan/##/Test-VM.vmx': Dictionary problem (6)YYYY-MM-DDThh:mm:ss [vmfsCorrelator] ###: [vob.vmfs.heartbeat.timedout] YYYY-MM-DDThh:mm:ss [vmfsCorrelator] ###: [esx.problem.vmfs.heartbeat.timedout]YYYY-MM-DDThh:mm:ss [vmfsCorrelator] ###: [vob.vmfs.heartbeat.recovered] Reclaimed heartbeat for volume ###The snapshot dictionary file "<vm_name>.vmsd" gets updated for every snapshot and the data is stored in two places.
The in-memory file gets over-written when the host or VM restarts.
The dictionary file data could get corrupt on either of these places , with possible cause being any storage connectivity triggering this corruption as the in-memory and on-disk file metadata goes out-of-sync, thus causing the snapshot failures.
To address the issue, follow the below steps to recreate the virtual machine snapshot dictionary file:
cd /vmfs/volumes/<DATASTORE>/<vm_name>/
ls -l<vm_name>.vmsd file to <vm_name>.vmsd.old
mv VM_Name.vmsd VM_Name.vmsd.old
In case the issue still persists, reload the virtual machine config (vmx) file .For further information, please refer to below articles:
Reloading a vmx file without removing the virtual machine from inventory
An error occurred while taking a snapshot: Dictionary problem.