[CONTROLLER-880] NullPointer Exception on Neutron Port Create when fixed-ips is not specified in the port Created: 22/Sep/14  Updated: 19/Oct/17  Resolved: 05/May/15

Status: Resolved
Project: controller
Component/s: adsal
Affects Version/s: Helium
Fix Version/s: None

Type: Bug
Reporter: Vina Ermagan Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 2026

 Comments   
Comment by Vina Ermagan [ 22/Sep/14 ]

Neutron POST Port results in a NullPointer exception if no fixed-ips are specified. The code however checks forthe size of the list, and is intended to accept fixed-ips with size zero.

Exception logs here:

2014-09-19 15:36:25,801 | ERROR | -bio-8080-exec-6 | ContainerResponse | 251 - com.sun.jersey.jersey-server - 1.17.0 | The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
java.lang.NullPointerException
at org.opendaylight.controller.networkconfig.neutron.implementation.NeutronPortInterface.addPort(NeutronPortInterface.java:236)
at org.opendaylight.controller.networkconfig.neutron.northbound.NeutronPortsNorthbound.createPorts(NeutronPortsNorthbound.java:279)[305:org.opendaylight.controller.networkconfig.neutron.northbound:0.4.2.Helium-RC1-6-v201409220013]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_51]
at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_51]
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)[252:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)[252:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)[252:com.sun.jersey.servlet:1.17.0]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)[185:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:610)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:339)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)[238:org.apache.catalina:7.0.53.v201406061610]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_51]
at java.lang.Thread.run(Thread.java:744)[:1.7.0_51]
2014-09-19 15:36:25,806 | ERROR | -bio-8080-exec-6 | [JAXRSNeutron] | 245 - org.apache.juli.extras - 7.0.53.v201406060720 | Servlet.service() for servlet [JAXRSNeutron] in context with path [/controller/nb/v2/neutron] threw exception
java.lang.NullPointerException
at org.opendaylight.controller.networkconfig.neutron.implementation.NeutronPortInterface.addPort(NeutronPortInterface.java:236)
at org.opendaylight.controller.networkconfig.neutron.northbound.NeutronPortsNorthbound.createPorts(NeutronPortsNorthbound.java:279)[305:org.opendaylight.controller.networkconfig.neutron.northbound:0.4.2.Helium-RC1-6-v201409220013]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_51]
at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_51]
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)[251:com.sun.jersey.jersey-server:1.17.0]
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)[252:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)[252:com.sun.jersey.servlet:1.17.0]
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)[252:com.sun.jersey.servlet:1.17.0]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)[185:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:610)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:339)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)[238:org.apache.catalina:7.0.53.v201406061610]
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)[238:org.apache.catalina:7.0.53.v201406061610]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_51]
at java.lang.Thread.run(Thread.java:744)[:1.7.0_51]
line 8:6 mismatched input '"fixed_ips"' expecting '}'
line 8:6 mismatched input '"fixed_ips"' expecting '}'

Comment by Carol Sanders [ 05/May/15 ]

This bug is part of the project to Move all ADSAL associated component bugs to ADSAL.

Generated at Wed Feb 07 19:54:07 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.