[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-1070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13577473#comment-13577473
 ] 

Rohit Yadav commented on CLOUDSTACK-1070:
-----------------------------------------

Kelven, I fixed CLOUDSTACK-1237 and found that adding the component in xml is 
not the right fix. It was already having the @Component annotation.
The problem was no adapter was returned as getName() was not implemented by the 
implementing adapter which should return one of the static class's attributes.
I found that it was sort of a regression due to the baremetal merge.

                
> javelin: NPE on executing registerIso API
> -----------------------------------------
>
>                 Key: CLOUDSTACK-1070
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-1070
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>    Affects Versions: 4.1.0
>            Reporter: Prasanna Santhanam
>            Assignee: Kelven Yang
>             Fix For: 4.1.0
>
>
> Following NPE was noticed when registering an damn-small linux ISO on javelin 
> running with devcloud
> 2013-01-26 13:11:24,889 DEBUG [cloud.api.ApiServlet] 
> (1572716377@qtp-588170311-2:null) ===START===  127.0.0.1 -- GET  
> account=test-GNFNS4&apiKey=yJ-FacgjPkYyQxwt28hAkf9aNjIOEiAAUiG0CAa8NP24A4Bdn2f9DvxoFLE4fnY16FBIJnakC4itJDEmBwKaQg&command=registerIso&displaytext=Test+ISO+2&domainid=ceef2d20-678a-11e2-a987-691e5966f392&isextractable=True&isfeatured=True&ispublic=True&name=ISO+2&ostypeid=ce611ba2-678a-11e2-a987-691e5966f392&response=json&url=http%3A%2F%2Fiso.linuxquestions.org%2Fdownload%2F504%2F1819%2Fhttp%2Fgd4.tuwien.ac.at%2Fdsl-4.4.10.iso&zoneid=588cd04f-a451-484b-adbf-7ebc686d32ef&signature=4iLl5oM%2FAq0wLX8kFOG9xd0n8%2Bg%3D
> 2013-01-26 13:11:24,936 ERROR [cloud.api.ApiServer] 
> (1572716377@qtp-588170311-2:null) unhandled exception executing api command: 
> registerIso
> java.lang.NullPointerException
>       at 
> com.cloud.utils.component.AdapterBase.getAdapterByName(AdapterBase.java:57)
>       at 
> com.cloud.template.TemplateManagerImpl.getAdapter(TemplateManagerImpl.java:222)
>       at 
> com.cloud.template.TemplateManagerImpl.registerIso(TemplateManagerImpl.java:235)
>       at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
>       at 
> org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689)
>       at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
>       at 
> org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
>       at 
> com.cloud.event.ActionEventInterceptor.AroundAnyMethod(ActionEventInterceptor.java:41)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
>       at 
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
>       at 
> org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
>       at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
>       at 
> org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
>       at 
> com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:43)
>       at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
>       at 
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
>       at 
> org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
>       at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>       at 
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
>       at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>       at 
> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>       at 
> org.apache.cloudstack.api.command.user.iso.RegisterIsoCmd.execute(RegisterIsoCmd.java:165)
>       at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
>       at 
> org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689)
>       at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
>       at 
> com.cloud.utils.db.TransactionContextBuilder.invoke(TransactionContextBuilder.java:60)
>       at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>       at 
> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>       at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:159)
>       at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
>       at 
> org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689)
>       at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
>       at 
> org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
>       at 
> com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:43)
>       at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
>       at 
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
>       at 
> org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
>       at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>       at 
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
>       at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>       at 
> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>       at com.cloud.api.ApiServer.queueCommand(ApiServer.java:513)
>       at com.cloud.api.ApiServer.handleRequest(ApiServer.java:362)
>       at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:302)
>       at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
>       at 
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>       at 
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>       at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>       at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
>       at 
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>       at 
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>       at org.mortbay.jetty.Server.handle(Server.java:326)
>       at 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>       at 
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
>       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
>       at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>       at 
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
>       at 
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> 2013-01-26 13:11:24,940 DEBUG [cloud.api.ApiServlet] 
> (1572716377@qtp-588170311-2:null) ===END===  127.0.0.1 -- GET  
> account=test-GNFNS4&apiKey=yJ-FacgjPkYyQxwt28hAkf9aNjIOEiAAUiG0CAa8NP24A4Bdn2f9DvxoFLE4fnY16FBIJnakC4itJDEmBwKaQg&command=registerIso&displaytext=Test+ISO+2&domainid=ceef2d20-678a-11e2-a987-691e5966f392&isextractable=True&isfeatured=True&ispublic=True&name=ISO+2&ostypeid=ce611ba2-678a-11e2-a987-691e5966f392&response=json&url=http%3A%2F%2Fiso.linuxquestions.org%2Fdownload%2F504%2F1819%2Fhttp%2Fgd4.tuwien.ac.at%2Fdsl-4.4.10.iso&zoneid=588cd04f-a451-484b-adbf-7ebc686d32ef&signature=4iLl5oM%2FAq0wLX8kFOG9xd0n8%2Bg%3D
> 2013-01-26 13:11:24,946 DEBUG [cloud.api.ApiServlet] 
> (1572716377@qtp-588170311-2:null) ===START===  127.0.0.1 -- GET  apiKey=yJ-

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to