Alena Prokharchyk created CLOUDSTACK-6934: ---------------------------------------------
Summary: NPE at VolumeOrchestrator.java:868 during vm expunge when vm has volumes in Allocated state (not created on storage yet) Key: CLOUDSTACK-6934 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6934 Project: CloudStack Issue Type: Bug Security Level: Public (Anyone can view this level - this is the default.) Affects Versions: 4.4.0 Reporter: Alena Prokharchyk Assignee: Alena Prokharchyk Fix For: 4.5.0 Steps to reproduce: 1) Deploy 2 vms; VM2 should be deployed with startVm=false option. 2) Stop VM1. Detach the Root disks from VM1 and VM2; attach the root disk of VM2 to VM1. 3) Try to expunge the VM1 now. NPE happens on INFO [o.a.c.f.j.i.AsyncJobMonitor] (Work-Job-Executor-2:ctx-228bd156 job-890/job-892) Remove job-892 from job monitoring WARN [c.c.v.UserVmManagerImpl] (UserVm-Scavenger-1:ctx-d72384e8) Unable to expunge VM[User|i-2-24-st] java.lang.NullPointerException at org.apache.cloudstack.engine.orchestration.VolumeOrchestrator.disconnectVolumesFromHost(VolumeOrchestrator.java:868) at com.cloud.vm.VirtualMachineManagerImpl.advanceExpunge(VirtualMachineManagerImpl.java:528) at com.cloud.vm.VirtualMachineManagerImpl.advanceExpunge(VirtualMachineManagerImpl.java:464) at com.cloud.vm.UserVmManagerImpl.expunge(UserVmManagerImpl.java:1670) at com.cloud.vm.UserVmManagerImpl.expungeVm(UserVmManagerImpl.java:3691) NPE happens because in the code we assume that when VM has not null hostId/lastHostId (indicating it had been running at some point), then its volumes should have not null storagepoolId. This assumption is incorrect, and we should check storagePoolId of the volume first before attempting to disconnect it from the host. -- This message was sent by Atlassian JIRA (v6.2#6252)