In VMware Cloud Director, this error is encountered when attempting to view or manage a specific Virtual Machine through the Tenant UI.
java.lang.NullPointerException error similar to: [ ########-####-####-####-############ ] class java.lang.NullPointerException./opt/vmware/vcloud-director/logs/vcloud-container-debug.log
java.lang.NullPointerException at com.vmware.ssdc.backend.services.impl.DiskManagerImpl.getDiskByFabricObjectId(DiskManagerImpl.java:1936) at jdk.internal.reflect.GeneratedMethodAccessor2531.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:234) at com.sun.proxy.$Proxy529.getDiskByFabricObjectId(Unknown Source) at com.vmware.ssdc.backend.services.impl.VmManagerImpl.annotateNamedDisksInVm(VmManagerImpl.java:2535) at com.vmware.ssdc.backend.services.impl.VmManagerImpl.getStoredVmDisks(VmManagerImpl.java:1555) at com.vmware.ssdc.backend.services.impl.VmManagerImpl.populateVmSpecFromStoredVmConfig(VmManagerImpl.java:1512) at com.vmware.ssdc.backend.services.impl.VmManagerImpl.populateVmSpec(VmManagerImpl.java:1326) at com.vmware.ssdc.backend.services.impl.VmManagerImpl.loadVmSpec(VmManagerImpl.java:1032) at com.vmware.ssdc.backend.services.impl.VmManagerImpl.loadVmSpecs(VmManagerImpl.java:1100)VMware Cloud Director 10.6.x
The issue is caused by a synchronization inconsistency between the VMware Cloud Director database and the underlying vCenter Server inventory. Specifically, a Named Disk have been detached/deleted from the VCD UI or database (via automated internal processes or external APIs), but the device entry remains attached to the VM configuration within vCenter.
When VCD attempts to load the VM specification, it cannot find the referenced disk in its own database, leading to a NullPointerException.
Follow these steps to identify and remove the inconsistent disk device.
Power off the VM: Log in to the vCenter Server and power off the affected VM.
Identify the problematic disk:
Verify Disk Status in VCD:
logical_disk table (replace the name with your disk ID):vcloud=# select id, name, logical_disk_type, creation_status from logical_disk where name ='<disk_id_from_step_2>';Remove the device from vCenter:
Synchronize and Verify:
This inconsistency is frequently observed when automation scripts or third-party backup solutions delete Named Disks without properly updating the VM configuration at the hypervisor level.