Alena Prokharchyk created CLOUDSTACK-6660:
---------------------------------------------

             Summary: updateVm: IndexOutOfBounds exception on at 
com.cloud.vm.UserVmManagerImpl.updateVirtualMachine(UserVmManagerImpl.java:1857)
 when root volume is detached
                 Key: CLOUDSTACK-6660
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6660
             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: Nitin Mehta
            Priority: Critical
             Fix For: 4.4.0


Steps to reproduce: 

1) Deploy vm
2) stop it, detach the root volume
3) Call updateVm 

following happens:

WARN  [c.c.a.d.ParamGenericValidationWorker] (API-Job-Executor-3:job-8460 
ctx-d7ca344b) Received unknown parameters for command addResourceDetail. 
Unknown parameters : ctxdetails
INFO  [o.a.c.f.j.i.AsyncJobMonitor] (API-Job-Executor-3:job-8460) Remove 
job-8460 from job monitoring
ERROR [c.c.a.ApiServer] (1779549015@qtp-216823969-0:ctx-af15255c ctx-d5afe83f 
ctx-815989c5) unhandled exception executing api command: 
[Ljava.lang.String;@1abf5125
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.rangeCheck(ArrayList.java:635)
        at java.util.ArrayList.get(ArrayList.java:411)
        at 
com.cloud.vm.UserVmManagerImpl.updateVirtualMachine(UserVmManagerImpl.java:1857)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at 
org.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:106)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
        at 
com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:51)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
        at 
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at com.sun.proxy.$Proxy201.updateVirtualMachine(Unknown Source)
        at 
org.apache.cloudstack.api.command.admin.vm.UpdateVMCmdByAdmin.execute(UpdateVMCmdByAdmin.java:44)
        at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:119)
        at com.cloud.api.ApiServer.queueCommand(ApiServer.java:683)



Nitin, its your code. Please make sure everywhere you access the Root volume, 
check if its present, and do updates only when it is.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to