Uploaded image for project: 'ONOS'
  1. ONOS
  2. ONOS-3380

Ocassionally get NPE when reading devices NetCfg after posting a new device config

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 1.12.0
    • Component/s: None
    • Labels:
      None
    • Environment:
    • Story Points:
      2
    • Epic Link:
    • Sprint:
      Emu Sprint 4 (11/23-12/18)

      Description

      On a 7 node cluster, roughly 14 seconds after a write on node 2 then another on node 4 we try to read the Network Config from each node.
      Nodes 1,3, and 7 all had the same exception, the other 4 nodes succeded.

      From ONOS1:

      2015-11-17 10:12:23,341 | INFO  | event-dispatch-0 | DeviceManager                    | 143 - org.onosproject.onos-core-net - 1.4.0.SNAPSHOT | Detected Device network config event CONFIG_ADDED
      2015-11-17 10:12:37,396 | WARN  | qtp1685228026-53 | ServerErrorMapper                | 142 - org.onosproject.onos-rest - 1.4.0.SNAPSHOT | Unhandled REST exception
      java.lang.NullPointerException
      	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:210)[44:com.google.guava:18.0.0]
      	at com.google.common.collect.ImmutableCollection$ArrayBasedBuilder.add(ImmutableCollection.java:339)[44:com.google.guava:18.0.0]
      	at com.google.common.collect.ImmutableSet$Builder.add(ImmutableSet.java:480)[44:com.google.guava:18.0.0]
      	at org.onosproject.net.config.impl.NetworkConfigManager.lambda$getConfigs$93(NetworkConfigManager.java:180)
      	at java.lang.Iterable.forEach(Iterable.java:75)[:1.8.0_60]
      	at org.onosproject.net.config.impl.NetworkConfigManager.getConfigs(NetworkConfigManager.java:180)
      	at org.onosproject.rest.resources.NetworkConfigWebResource.produceSubjectJson(NetworkConfigWebResource.java:127)[142:org.onosproject.onos-rest:1.4.0.SNAPSHOT]
      	at org.onosproject.rest.resources.NetworkConfigWebResource.lambda$produceJson$14(NetworkConfigWebResource.java:122)[142:org.onosproject.onos-rest:1.4.0.SNAPSHOT]
      	at java.lang.Iterable.forEach(Iterable.java:75)[:1.8.0_60]
      	at org.onosproject.rest.resources.NetworkConfigWebResource.produceJson(NetworkConfigWebResource.java:121)[142:org.onosproject.onos-rest:1.4.0.SNAPSHOT]
      	at org.onosproject.rest.resources.NetworkConfigWebResource.lambda$download$13(NetworkConfigWebResource.java:54)[142:org.onosproject.onos-rest:1.4.0.SNAPSHOT]
      	at java.lang.Iterable.forEach(Iterable.java:75)[:1.8.0_60]
      	at org.onosproject.rest.resources.NetworkConfigWebResource.download(NetworkConfigWebResource.java:52)[142:org.onosproject.onos-rest:1.4.0.SNAPSHOT]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_60]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_60]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_60]
      	at java.lang.reflect.Method.invoke(Method.java:497)[:1.8.0_60]
      	at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)[112:com.sun.jersey.jersey-server:1.19.0]
      	at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)[112:com.sun.jersey.jersey-server:1.19.0]
      	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)[112:com.sun.jersey.jersey-server:1.19.0]
      	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)[112:com.sun.jersey.jersey-server:1.19.0]
      	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)[112:com.sun.jersey.jersey-server:1.19.0]
      	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)[112:com.sun.jersey.jersey-server:1.19.0]
      	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)[112:com.sun.jersey.jersey-server:1.19.0]
      	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)[112:com.sun.jersey.jersey-server:1.19.0]
      	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)[112:com.sun.jersey.jersey-server:1.19.0]
      	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)[112:com.sun.jersey.jersey-server:1.19.0]
      	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)[112:com.sun.jersey.jersey-server:1.19.0]
      	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)[113:com.sun.jersey.servlet:1.19.0]
      	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)[113:com.sun.jersey.servlet:1.19.0]
      	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)[113:com.sun.jersey.servlet:1.19.0]
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)[79:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0.0]
      	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69)[94:org.ops4j.pax.web.pax-web-jetty:3.1.4]
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:522)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240)[94:org.ops4j.pax.web.pax-web-jetty:3.1.4]
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)[94:org.ops4j.pax.web.pax-web-jetty:3.1.4]
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.server.Server.handle(Server.java:370)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)[85:org.eclipse.jetty.aggregate.jetty-all-server:8.1.15.v20140411]
      	at java.lang.Thread.run(Thread.java:745)[:1.8.0_60]
      

        Attachments

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

          Activity

            People

            Assignee:
            madan Madan Jampani
            Reporter:
            jhall Jon Hall
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: