It happens only when Vm is staring for the first time irrespective of the hypervisor. This is due to 6d57393629bb93fbf0944e462c841f245b40f919. Below check on CapacityManagerImpl.java:684 should change from
if (vm.getLastHostId().equals(vm.getHostId())) { to if (vm.getHostId().equals(vm.getLastHostId())) { Last host Id is null when Vm starts for the 1st time. > -----Original Message----- > From: Likitha Shetty [mailto:likitha.she...@citrix.com] > Sent: Thursday, 16 May 2013 6:22 PM > To: dev@cloudstack.apache.org > Cc: Sailaja Mada > Subject: RE: [ACS42] System VM's are failed to start with NPE with latest > master(VMWARE) > > I saw the same issue with Xen. > > Thanks, > Likitha > > >-----Original Message----- > >From: Nitin Mehta [mailto:nitin.me...@citrix.com] > >Sent: Thursday, May 16, 2013 5:54 PM > >To: dev@cloudstack.apache.org > >Cc: Sailaja Mada > >Subject: Re: [ACS42] System VM's are failed to start with NPE with > >latest > >master(VMWARE) > > > >Is this only for vmware ? Did you try other hypervisors since it looks > >generic enough ? > > > >On 16/05/13 5:19 PM, "Sailaja Mada" <sailaja.m...@citrix.com> wrote: > > > >>Hi, > >> > >>With latest master , System VM's are failed to start with NPE. Is > >>there any issue with recent fixes ? ( VMWARE) > >> > >>2013-05-16 17:12:20,523 DEBUG [cloud.capacity.CapacityManagerImpl] > >>(secstorage-1:null) release cpu from host: 1, old used: 0,reserved: 0, > >>actual total: 9572, total with overprovisioning: 9572; new used: > >>0,reserved:0; movedfromreserved: false,moveToReserveredfalse > >>2013-05-16 17:12:20,523 DEBUG [cloud.capacity.CapacityManagerImpl] > >>(secstorage-1:null) release mem from host: 1, old used: 0,reserved: 0, > >>total: 17166258176; new used: 0,reserved:0; movedfromreserved: > >>false,moveToReserveredfalse > >>2013-05-16 17:12:20,524 WARN > >>[storage.secondary.SecondaryStorageManagerImpl] (secstorage-1:null) > >>Exception while trying to start secondary storage vm > >>java.lang.NullPointerException > >> at > >>com.cloud.capacity.CapacityManagerImpl.postStateTransitionEvent(Capac > i > >>t > >>yMa > >>nagerImpl.java:684) > >> at > >>com.cloud.capacity.CapacityManagerImpl.postStateTransitionEvent(Capac > i > >>t > >>yMa > >>nagerImpl.java:90) > >> at > >>com.cloud.utils.fsm.StateMachine2.transitTo(StateMachine2.java:117) > >> at > >>com.cloud.vm.VirtualMachineManagerImpl.stateTransitTo(VirtualMachine > Ma > >>n > >>age > >>rImpl.java:1251) > >> at > >>com.cloud.vm.VirtualMachineManagerImpl.changeState(VirtualMachine > Mana > >ge > >>rIm > >>pl.java:660) > >> at > >>com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachine > Mana > >g > >>erI > >>mpl.java:817) > >> at > >>com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerI > mpl. > >>jav > >>a:547) > >> at > >>com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerI > mpl. > >>jav > >>a:540) > >> at > >>com.cloud.storage.secondary.SecondaryStorageManagerImpl.startSecSto > rag > >>e > >>Vm( > >>SecondaryStorageManagerImpl.java:262) > >> at > >>com.cloud.storage.secondary.SecondaryStorageManagerImpl.allocCapacit > y( > >>S > >>eco > >>ndaryStorageManagerImpl.java:687) > >> at > >>com.cloud.storage.secondary.SecondaryStorageManagerImpl.expandPool > (Sec > >>o > >>nda > >>ryStorageManagerImpl.java:1303) > >> at > >>com.cloud.secstorage.PremiumSecondaryStorageManagerImpl.scanPool( > Premi > >u > >>mSe > >>condaryStorageManagerImpl.java:123) > >> at > >>com.cloud.secstorage.PremiumSecondaryStorageManagerImpl.scanPool( > Premi > >u > >>mSe > >>condaryStorageManagerImpl.java:50) > >> at > >>com.cloud.vm.SystemVmLoadScanner.loadScan(SystemVmLoadScanner.j > ava:10 > >4) > >> at > >>com.cloud.vm.SystemVmLoadScanner.access$100(SystemVmLoadScanner > .java: > >33) > >> at > >>com.cloud.vm.SystemVmLoadScanner$1.reallyRun(SystemVmLoadScanne > r.java > >:81) > >> at > >>com.cloud.vm.SystemVmLoadScanner$1.run(SystemVmLoadScanner.java > :72) > >> at > >>java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > >> at > >>java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java: > 351) > >> at > >>java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) > >> at > >>java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask. > a > >>c > >>ces > >>s$201(ScheduledThreadPoolExecutor.java:165) > >> at > >>java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask. > r > >>u > >>n(S > >>cheduledThreadPoolExecutor.java:267) > >> at > >>java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor. > java: > >>1110) > >> at > >>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor. > >>j > >>ava > >>:603) > >> at java.lang.Thread.run(Thread.java:679) > >>2013-05-16 17:12:20,526 INFO > >>[storage.secondary.SecondaryStorageManagerImpl] (secstorage-1:null) > >>Unable to start secondary storage vm for standby capacity, > >>secStorageVm vm Id : 4, will recycle it and start a new one > >>2013-05-16 17:12:20,529 DEBUG [cloud.vm.VirtualMachineManagerImpl] > >>(secstorage-1:null) VM is already stopped: > >>VM[SecondaryStorageVm|s-4-VM] > >>2013-05-16 17:12:20,537 DEBUG [cloud.capacity.CapacityManagerImpl] > >>(secstorage-1:null) VM state transitted from :Stopped to Expunging > >>with > >>event: ExpungeOperationvm's original host id: null new host id: null > >>host id before state transition: null > >>2013-05-16 17:12:20,540 DEBUG [cloud.vm.VirtualMachineManagerImpl] > >>(secstorage-1:null) Destroying vm VM[SecondaryStorageVm|s-4-VM] > >> > >>Thanks, > >>Sailaja.M