{"action":"created","issue":{"url":"https://api.github.com/repos/BandwidthOnDemand/nsi-pce/issues/15","repository_url":"https://api.github.com/repos/BandwidthOnDemand/nsi-pce","labels_url":"https://api.github.com/repos/BandwidthOnDemand/nsi-pce/issues/15/labels{/name}","comments_url":"https://api.github.com/repos/BandwidthOnDemand/nsi-pce/issues/15/comments","events_url":"https://api.github.com/repos/BandwidthOnDemand/nsi-pce/issues/15/events","html_url":"https://github.com/BandwidthOnDemand/nsi-pce/issues/15","id":172491119,"number":15,"title":"NullPointerException when invalid ERO element specified.","user":{"login":"jmacauley","id":4571566,"avatar_url":"https://avatars.githubusercontent.com/u/4571566?v=3","gravatar_id":"","url":"https://api.github.com/users/jmacauley","html_url":"https://github.com/jmacauley","followers_url":"https://api.github.com/users/jmacauley/followers","following_url":"https://api.github.com/users/jmacauley/following{/other_user}","gists_url":"https://api.github.com/users/jmacauley/gists{/gist_id}","starred_url":"https://api.github.com/users/jmacauley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmacauley/subscriptions","organizations_url":"https://api.github.com/users/jmacauley/orgs","repos_url":"https://api.github.com/users/jmacauley/repos","events_url":"https://api.github.com/users/jmacauley/events{/privacy}","received_events_url":"https://api.github.com/users/jmacauley/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/BandwidthOnDemand/nsi-pce/labels/bug","name":"bug","color":"fc2929"}],"state":"closed","locked":false,"assignee":{"login":"jmacauley","id":4571566,"avatar_url":"https://avatars.githubusercontent.com/u/4571566?v=3","gravatar_id":"","url":"https://api.github.com/users/jmacauley","html_url":"https://github.com/jmacauley","followers_url":"https://api.github.com/users/jmacauley/followers","following_url":"https://api.github.com/users/jmacauley/following{/other_user}","gists_url":"https://api.github.com/users/jmacauley/gists{/gist_id}","starred_url":"https://api.github.com/users/jmacauley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmacauley/subscriptions","organizations_url":"https://api.github.com/users/jmacauley/orgs","repos_url":"https://api.github.com/users/jmacauley/repos","events_url":"https://api.github.com/users/jmacauley/events{/privacy}","received_events_url":"https://api.github.com/users/jmacauley/received_events","type":"User","site_admin":false},"assignees":[{"login":"jmacauley","id":4571566,"avatar_url":"https://avatars.githubusercontent.com/u/4571566?v=3","gravatar_id":"","url":"https://api.github.com/users/jmacauley","html_url":"https://github.com/jmacauley","followers_url":"https://api.github.com/users/jmacauley/followers","following_url":"https://api.github.com/users/jmacauley/following{/other_user}","gists_url":"https://api.github.com/users/jmacauley/gists{/gist_id}","starred_url":"https://api.github.com/users/jmacauley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmacauley/subscriptions","organizations_url":"https://api.github.com/users/jmacauley/orgs","repos_url":"https://api.github.com/users/jmacauley/repos","events_url":"https://api.github.com/users/jmacauley/events{/privacy}","received_events_url":"https://api.github.com/users/jmacauley/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2016-08-22T16:04:23Z","updated_at":"2016-09-30T12:07:41Z","closed_at":"2016-09-30T12:07:41Z","body":"A NullPointerException is generated when an invalid ERO element is specified that attempts for force an impossible path.  In this case the source and destination are on the same network so all other networks are pruned, however, the ERO contains an inter domain STP that makes that path impossible to complete.\r\n\r\nRequest:\r\n\r\n```\r\n2016-08-22 15:24:07,017 DEBUG [grizzly-http-server-0] (net.es.nsi.pce.path.api.FindPathService:98) - *** findPath:\r\n<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n<ns4:local xmlns:ns2=\"http://schemas.es.net/nsi/2013/08/pce/messages\" xmlns:ns4=\"uri\" xmlns:ns3=\"http://schemas.ogf.org/nsi/2013/12/services/point2point\">\r\n    <correlationId>urn:uuid:dd19adc9-7ae4-4ca8-8a8b-77134de02c33</correlationId>\r\n    <replyTo>\r\n        <url>https://agg.netherlight.net/pce/reply</url>\r\n        <mediaType>application/json</mediaType>\r\n    </replyTo>\r\n    <algorithm>TREE</algorithm>\r\n    <startTime>2016-08-22T16:00:00.000+02:00</startTime>\r\n    <endTime>2016-08-22T18:00:00.000+02:00</endTime>\r\n    <serviceType>http://services.ogf.org/nsi/2013/12/descriptions/EVTS.A-GOLE</serviceType>\r\n    <trace index=\"0\">urn:ogf:network:surfnet.nl:1990:nsa:nsi-requester:noId</trace>\r\n    <ns3:p2ps>\r\n        <capacity>101</capacity>\r\n        <directionality>Bidirectional</directionality>\r\n        <symmetricPath>true</symmetricPath>\r\n        <sourceSTP>urn:ogf:network:netherlight.net:2013:production7:microsoft-2?vlan=2-4095</sourceSTP>\r\n        <destSTP>urn:ogf:network:netherlight.net:2013:production7:nordunet-1?vlan=2-4095</destSTP>\r\n        <ero>\r\n            <orderedSTP order=\"0\">\r\n                <stp>urn:ogf:network:netherlight.net:2013:production7:geant-3?vlan=3750-4095</stp>\r\n            </orderedSTP>\r\n        </ero>\r\n        <parameter type=\"protection\">PROTECTED</parameter>\r\n    </ns3:p2ps>\r\n</ns4:local>\r\n```\r\n\r\nException:\r\n\r\n```\r\n2016-08-22 15:24:07,250 ERROR [grizzly-http-server-0] (net.es.nsi.pce.path.api.FindPathService:210) - findPath: findPath P2PS failed\r\njava.lang.NullPointerException\r\n        at net.es.nsi.pce.pf.RouteObject.<init>(RouteObject.java:74)\r\n        at net.es.nsi.pce.pf.DijkstraPCE.apply(DijkstraPCE.java:109)\r\n        at net.es.nsi.pce.pf.SequentialPCE.apply(SequentialPCE.java:31)\r\n        at net.es.nsi.pce.pf.PathfinderCore.findPath(PathfinderCore.java:75)\r\n        at net.es.nsi.pce.path.api.FindPathService.findPath(FindPathService.java:195)\r\n        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n        at java.lang.reflect.Method.invoke(Method.java:483)\r\n        at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)\r\n        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)\r\n        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)\r\n        at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)\r\n        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)\r\n        at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)\r\n        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)\r\n        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)\r\n        at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:317)\r\n        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)\r\n        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)\r\n        at org.glassfish.jersey.internal.Errors.process(Errors.java:315)\r\n        at org.glassfish.jersey.internal.Errors.process(Errors.java:297)\r\n        at org.glassfish.jersey.internal.Errors.process(Errors.java:267)\r\n        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)\r\n        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:298)\r\n        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)\r\n        at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:384)\r\n        at org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:224)\r\n        at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)\r\n        at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)\r\n        at java.lang.Thread.run(Thread.java:745)\r\n```\r\n\r\nResult to clienty:\r\n\r\n```\r\n2016-08-22 15:24:07,276 DEBUG [grizzly-http-server-0] (net.es.nsi.pce.path.api.FindPathService:238) - FindPathService: sent response FAILED to client https://agg.netherlight.net/pce/reply, result = OK\r\n2016-08-22 15:24:07,277 DEBUG [grizzly-http-server-0] (net.es.nsi.pce.path.api.FindPathService:240) - <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n<ns2:findPathResponse xmlns:ns2=\"http://schemas.es.net/nsi/2013/08/pce/messages\" xmlns:ns3=\"http://schemas.ogf.org/nsi/2013/12/services/point2point\">\r\n    <correlationId>urn:uuid:dd19adc9-7ae4-4ca8-8a8b-77134de02c33</correlationId>\r\n    <status>FAILED</status>\r\n    <ns2:findPathError>\r\n        <code>00500</code>\r\n        <label>INTERNAL_ERROR</label>\r\n        <description>An internal error has caused a message processing failure (Issue parsing FindPathErrorType error message).</description>\r\n    </ns2:findPathError>\r\n</ns2:findPathResponse>\r\n```"},"comment":{"url":"https://api.github.com/repos/BandwidthOnDemand/nsi-pce/issues/comments/250728463","html_url":"https://github.com/BandwidthOnDemand/nsi-pce/issues/15#issuecomment-250728463","issue_url":"https://api.github.com/repos/BandwidthOnDemand/nsi-pce/issues/15","id":250728463,"user":{"login":"jmacauley","id":4571566,"avatar_url":"https://avatars.githubusercontent.com/u/4571566?v=3","gravatar_id":"","url":"https://api.github.com/users/jmacauley","html_url":"https://github.com/jmacauley","followers_url":"https://api.github.com/users/jmacauley/followers","following_url":"https://api.github.com/users/jmacauley/following{/other_user}","gists_url":"https://api.github.com/users/jmacauley/gists{/gist_id}","starred_url":"https://api.github.com/users/jmacauley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmacauley/subscriptions","organizations_url":"https://api.github.com/users/jmacauley/orgs","repos_url":"https://api.github.com/users/jmacauley/repos","events_url":"https://api.github.com/users/jmacauley/events{/privacy}","received_events_url":"https://api.github.com/users/jmacauley/received_events","type":"User","site_admin":false},"created_at":"2016-09-30T12:07:41Z","updated_at":"2016-09-30T12:07:41Z","body":"Added check to verify STP specified in ERO is associated with a valid SDP after pruning of graph.  Fixed with update 1757ac4."}}
{"actor":{"display_login":"jmacauley"}}