Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-276

NullPointer Exception thrown when a Subnet is Created

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • adsal
    • None
    • Operating System: All
      Platform: All

    • 666

    Description

      2014-04-06 13:04:04.572 7225 DEBUG requests.packages.urllib3.connectionpool [-] "POST /controller/nb/v2/neutron/subnets HTTP/1.1" 500 3200 _make_request /usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py:344
      2014-04-06 13:04:04.573 7225 ERROR neutron.plugins.ml2.managers [req-0d0c61c1-c3f0-4ba8-a1c7-82807cc67f85 None] Mechanism driver 'opendaylight' failed in create_subnet_postcommit
      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers Traceback (most recent call last):
      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers File "/opt/stack/neutron/neutron/plugins/ml2/managers.py", line 158, in _call_on_drivers
      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers getattr(driver.obj, method_name)(context)
      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers File "/opt/stack/neutron/neutron/plugins/ml2/drivers/mechanism_odl.py", line 148, in create_subnet_postcommit

      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers File "/opt/stack/neutron/neutron/openstack/common/excutils.py", line 82, in _exit_
      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers six.reraise(self.type_, self.value, self.tb)
      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers File "/opt/stack/neutron/neutron/plugins/ml2/drivers/mechanism_odl.py", line 290, in sync_single_resource
      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers [400])
      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers File "/opt/stack/neutron/neutron/plugins/ml2/drivers/mechanism_odl.py", line 325, in sendjson
      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers r.raise_for_status()
      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers File "/usr/local/lib/python2.7/dist-packages/requests/models.py", line 773, in raise_for_status
      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers raise HTTPError(http_error_msg, response=self)
      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers HTTPError: 500 Server Error: Internal Server Error
      2014-04-06 13:04:04.573 7225 TRACE neutron.plugins.ml2.managers

      This bug is caused by https://review.openstack.org/#/c/52983/

      The ML2 Mechanism Driver for ODL sends the two new fields - "ipv6_address_mode" and "ipv6_ra_mode" - which contain no data, they are marked as "null". Jersey fails to deserialise the object correctly and returns an HTTP 500 error with the following NullPointer exception...

      2014-04-06 13:04:04 UTC [com.sun.jersey.spi.container.ContainerResponse] SEVERE com.sun.jersey.spi.container.ContainerResponse mapMappableContainerException The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
      java.lang.NullPointerException
      at org.opendaylight.controller.networkconfig.neutron.NeutronSubnet.gatewayIP_Pool_overlap(NeutronSubnet.java:256)
      at org.opendaylight.controller.networkconfig.neutron.northbound.NeutronSubnetsNorthbound.createSubnets(NeutronSubnetsNorthbound.java:207)
      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 com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
      at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
      at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
      at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
      at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
      at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
      at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
      at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
      at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
      at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
      at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
      at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
      at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
      at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
      at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:336)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:744)

      2014-04-06 13:04:04 UTC [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/controller/nb/v2/neutron].[JAXRSNeutron]] SEVERE org.apache.catalina.core.StandardWrapperValve invoke Servlet.service() for servlet [JAXRSNeutron] in context with path [/controller/nb/v2/neutron] threw exception
      java.lang.NullPointerException
      at org.opendaylight.controller.networkconfig.neutron.NeutronSubnet.gatewayIP_Pool_overlap(NeutronSubnet.java:256)
      at org.opendaylight.controller.networkconfig.neutron.northbound.NeutronSubnetsNorthbound.createSubnets(NeutronSubnetsNorthbound.java:207)
      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 com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
      at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
      at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
      at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
      at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
      at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
      at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
      at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
      at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
      at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
      at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
      at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
      at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
      at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
      at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:336)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:744)

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            dave@dtucker.co.uk Dave Tucker
            dave@dtucker.co.uk Dave Tucker
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: