Bug 902242 - [REST-API] malformed guid's cause http 500
Summary: [REST-API] malformed guid's cause http 500
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine-restapi
Version: 3.2.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: 3.2.0
Assignee: Ravi Nori
QA Contact: Barak Dagan
URL:
Whiteboard: infra
Depends On: 902073
Blocks: 917401
TreeView+ depends on / blocked
 
Reported: 2013-01-21 08:49 UTC by Michael Pasternak
Modified: 2016-02-10 19:27 UTC (History)
12 users (show)

Fixed In Version: sf9
Doc Type: Bug Fix
Doc Text:
Clone Of: 902073
Environment:
Last Closed:
oVirt Team: Infra
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 11758 0 None None None Never
oVirt gerrit 11805 0 None None None Never

Description Michael Pasternak 2013-01-21 08:49:42 UTC
+++ This bug was initially created as a clone of Bug #902073 +++

Description of problem:
some of the malformed guids are able to cause unexpected error in engine.
example for such a case:
    <quota id="8972844b-45ab-4369-927c-6cfec17fdfb3-FAIL"/>


Version-Release number of selected component (if applicable):


How reproducible:
always

  
Actual results:

2013-01-20 21:07:15,063 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) java.lang.reflect.InvocationTargetException
2013-01-20 21:07:15,064 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-01-20 21:07:15,064 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2013-01-20 21:07:15,064 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2013-01-20 21:07:15,065 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at java.lang.reflect.Method.invoke(Method.java:601)
2013-01-20 21:07:15,065 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.ovirt.engine.api.restapi.types.MappingLocator$MethodInvokerMapper.map(MappingLocator.java:115)
2013-01-20 21:07:15,065 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.ovirt.engine.api.restapi.resource.BackendVmResource$UpdateParametersProvider.getParameters(BackendVmResource.java:369)
2013-01-20 21:07:15,066 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.ovirt.engine.api.restapi.resource.BackendVmResource$UpdateParametersProvider.getParameters(BackendVmResource.java:364)
2013-01-20 21:07:15,066 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.ovirt.engine.api.restapi.resource.AbstractBackendSubResource.doUpdate(AbstractBackendSubResource.java:93)
2013-01-20 21:07:15,066 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.ovirt.engine.api.restapi.resource.AbstractBackendSubResource.performUpdate(AbstractBackendSubResource.java:82)
2013-01-20 21:07:15,067 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.ovirt.engine.api.restapi.resource.BackendVmResource.update(BackendVmResource.java:114)
2013-01-20 21:07:15,067 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.ovirt.engine.api.restapi.resource.BackendVmResource.update(BackendVmResource.java:66)
2013-01-20 21:07:15,067 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-01-20 21:07:15,067 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2013-01-20 21:07:15,068 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2013-01-20 21:07:15,068 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at java.lang.reflect.Method.invoke(Method.java:601)
2013-01-20 21:07:15,068 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:155)
2013-01-20 21:07:15,068 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257)
2013-01-20 21:07:15,069 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222)
2013-01-20 21:07:15,069 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:152)
2013-01-20 21:07:15,070 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:91)
2013-01-20 21:07:15,070 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525)
2013-01-20 21:07:15,071 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502)
2013-01-20 21:07:15,071 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)
2013-01-20 21:07:15,072 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
2013-01-20 21:07:15,072 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
2013-01-20 21:07:15,073 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
2013-01-20 21:07:15,073 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
2013-01-20 21:07:15,073 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
2013-01-20 21:07:15,074 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
2013-01-20 21:07:15,074 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
2013-01-20 21:07:15,074 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
2013-01-20 21:07:15,074 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:489)
2013-01-20 21:07:15,075 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
2013-01-20 21:07:15,075 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
2013-01-20 21:07:15,075 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
2013-01-20 21:07:15,076 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
2013-01-20 21:07:15,076 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
2013-01-20 21:07:15,076 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
2013-01-20 21:07:15,076 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
2013-01-20 21:07:15,077 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
2013-01-20 21:07:15,077 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at java.lang.Thread.run(Thread.java:722)
2013-01-20 21:07:15,078 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) Caused by: java.lang.IllegalArgumentException: Invalid UUID string: 8972844b-45ab-4369-927c-6cfec17fdfb3-FAIL
2013-01-20 21:07:15,079 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at java.util.UUID.fromString(UUID.java:194)
2013-01-20 21:07:15,080 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.ovirt.engine.core.compat.NGuid.<init>(NGuid.java:55)
2013-01-20 21:07:15,080 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.ovirt.engine.core.compat.Guid.<init>(Guid.java:24)
2013-01-20 21:07:15,080 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	at org.ovirt.engine.api.restapi.types.VmMapper.map(VmMapper.java:228)
2013-01-20 21:07:15,081 ERROR [stderr] (http--0_0_0_0_0_0_0_0-8080-1) 	... 41 more
2013-01-20 21:07:15,083 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/api].[org.ovirt.engine.api.restapi.BackendApplication]] (http--0_0_0_0_0_0_0_0-8080-1) Servlet.service() for servlet org.ovirt.engine.api.restapi.BackendApplication threw exception: org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException
	at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:340) [resteasy-jaxrs-2.3.2.Final.jar:]
	at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:214) [resteasy-jaxrs-2.3.2.Final.jar:]
	at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:190) [resteasy-jaxrs-2.3.2.Final.jar:]
	at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:540) [resteasy-jaxrs-2.3.2.Final.jar:]
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) [resteasy-jaxrs-2.3.2.Final.jar:]
	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) [resteasy-jaxrs-2.3.2.Final.jar:]
	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.3.2.Final.jar:]
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.3.2.Final.jar:]
	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.2.Final.jar:]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:489) [jbossweb-7.0.13.Final.jar:]
	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]
	at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
Caused by: java.lang.NullPointerException
	at org.ovirt.engine.api.restapi.resource.BackendVmResource$UpdateParametersProvider.getParameters(BackendVmResource.java:372) [restapi-jaxrs-3.2.0.jar:]
	at org.ovirt.engine.api.restapi.resource.BackendVmResource$UpdateParametersProvider.getParameters(BackendVmResource.java:364) [restapi-jaxrs-3.2.0.jar:]
	at org.ovirt.engine.api.restapi.resource.AbstractBackendSubResource.doUpdate(AbstractBackendSubResource.java:93) [restapi-jaxrs-3.2.0.jar:]
	at org.ovirt.engine.api.restapi.resource.AbstractBackendSubResource.performUpdate(AbstractBackendSubResource.java:82) [restapi-jaxrs-3.2.0.jar:]
	at org.ovirt.engine.api.restapi.resource.BackendVmResource.update(BackendVmResource.java:114) [restapi-jaxrs-3.2.0.jar:]
	at org.ovirt.engine.api.restapi.resource.BackendVmResource.update(BackendVmResource.java:66) [restapi-jaxrs-3.2.0.jar:]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_07]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_07]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_07]
	at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_07]
	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:155) [resteasy-jaxrs-2.3.2.Final.jar:]
	at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) [resteasy-jaxrs-2.3.2.Final.jar:]
	at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) [resteasy-jaxrs-2.3.2.Final.jar:]
	at org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:152) [resteasy-jaxrs-2.3.2.Final.jar:]
	at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:91) [resteasy-jaxrs-2.3.2.Final.jar:]
	at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525) [resteasy-jaxrs-2.3.2.Final.jar:]
	... 20 more


Expected results:


Additional info:

Comment 4 Ravi Nori 2013-03-21 14:18:45 UTC
Hi Oded,

The bug was that, instead of reporting to he user that the UUID is invalid the server was throwing an internal exception. The patch returns a message to the user that the UUID is invalid. 

So what you see is the expected result.

Comment 5 Oded Ramraz 2013-03-21 14:30:38 UTC
Verify according to comment 4

Comment 6 Itamar Heim 2013-06-11 09:08:38 UTC
3.2 has been released

Comment 7 Itamar Heim 2013-06-11 09:08:38 UTC
3.2 has been released

Comment 8 Itamar Heim 2013-06-11 09:08:44 UTC
3.2 has been released

Comment 9 Itamar Heim 2013-06-11 09:37:09 UTC
3.2 has been released


Note You need to log in before you can comment on or make changes to this bug.