Uploaded image for project: 'yangtools'
  1. yangtools
  2. YANGTOOLS-1202

Caused by: java.lang.ExceptionInInitializerError: No YangXPathParserFactory found

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Medium Medium
    • None
    • None
    • xpath
    • None

      ODL Release - Aluminium SR0/SR1

      While trying to instantiate YangParserFactory using the following method -

      private static final @NonNull YangParserFactory PARSER_FACTORY;

      static {
      final Iterator<@NonNull YangParserFactory> it = ServiceLoader.load(YangParserFactory.class).iterator();
      if (!it.hasNext())

      { throw new IllegalStateException("No YangParserFactory found"); }

      PARSER_FACTORY = it.next();
      }

       the below exception is encountered at the line - PARSER_FACTORY = it.next();

      The objective is to parse yang files for a DOM related implementation by doing the following -

      final YangParser parser = PARSER_FACTORY.createParser();
      parser.addSource(YangTextSchemaSource.forResource("/META-INF/yang/config@2020-12-08.yang"));
      final EffectiveModelContext schemaContext = parser.buildEffectiveModel();

      However, as mentioned above, an error occurs while instantiating the provider.

      2020-12-22T10:13:12,134 | ERROR | opendaylight-cluster-data-akka.actor.default-dispatcher-25 | OneForOneStrategy | 47 - com.typesafe.akka.slf4j - 2.5.31 | org.opendaylight.yangtools.yang.model.parser.api.YangParserFactory: Provider org.opendaylight.yangtools.yang.parser.impl.YangParserFactoryImpl could not be instantiated
      java.util.ServiceConfigurationError: org.opendaylight.yangtools.yang.model.parser.api.YangParserFactory: Provider org.opendaylight.yangtools.yang.parser.impl.YangParserFactoryImpl could not be instantiated
      at java.util.ServiceLoader.fail(Unknown Source) ~[?:?]
      at java.util.ServiceLoader$ProviderImpl.newInstance(Unknown Source) ~[?:?]
      at java.util.ServiceLoader$ProviderImpl.get(Unknown Source) ~[?:?]
      at java.util.ServiceLoader$3.next(Unknown Source) ~[?:?]
      at org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.impl.access.dom.ExampleConfig.<clinit>(ExampleConfig.java:63) ~[?:?]
      at org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.impl.access.dom.NetconfDomAccessorImpl.<init>(NetconfDomAccessorImpl.java:59) ~[?:?]
      at org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.impl.access.NetconfCommunicatorManager.getNetconfDomAccessor(NetconfCommunicatorManager.java:114) ~[?:?]
      at org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.impl.access.NetconfAccessorImpl.getNetconfDomAccessor(NetconfAccessorImpl.java:105) ~[?:?]
      at org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.Onf14NetworkElementFactory.create(Onf14NetworkElementFactory.java:39) ~[?:?]
      at org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.DeviceManagerNetconfConnectHandler.onEnterConnected(DeviceManagerNetconfConnectHandler.java:94) ~[?:?]
      at org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.impl.NetconfNodeStateServiceImpl.lambda$enterConnectedState$0(NetconfNodeStateServiceImpl.java:394) ~[?:?]
      at java.util.concurrent.CopyOnWriteArrayList.forEach(Unknown Source) ~[?:?]
      at org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.impl.NetconfNodeStateServiceImpl.enterConnectedState(NetconfNodeStateServiceImpl.java:392) ~[?:?]
      at org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.impl.NetconfNodeStateServiceImpl.handleDataTreeChange(NetconfNodeStateServiceImpl.java:475) ~[?:?]
      at org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.impl.NetconfNodeStateServiceImpl.onDataTreeChangedHandler(NetconfNodeStateServiceImpl.java:549) ~[?:?]
      at org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.impl.NetconfNodeStateServiceImpl$L1.onDataTreeChanged(NetconfNodeStateServiceImpl.java:571) ~[?:?]
      at org.opendaylight.mdsal.binding.dom.adapter.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:37) ~[bundleFile:?]
      at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataTreeChanged(DataTreeChangeListenerActor.java:83) ~[bundleFile:?]
      at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:44) ~[bundleFile:?]
      at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:24) ~[bundleFile:2.5.31]
      at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:20) ~[bundleFile:2.5.31]
      at scala.PartialFunction.applyOrElse(PartialFunction.scala:187) ~[bundleFile:?]
      at scala.PartialFunction.applyOrElse$(PartialFunction.scala:186) ~[bundleFile:?]
      at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20) ~[bundleFile:2.5.31]
      at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:241) ~[bundleFile:?]
      at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:242) ~[bundleFile:?]
      at akka.actor.Actor.aroundReceive(Actor.scala:539) ~[bundleFile:2.5.31]
      at akka.actor.Actor.aroundReceive$(Actor.scala:537) ~[bundleFile:2.5.31]
      at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:227) ~[bundleFile:2.5.31]
      at akka.actor.ActorCell.receiveMessage(ActorCell.scala:614) [bundleFile:2.5.31]
      at akka.actor.ActorCell.invoke(ActorCell.scala:583) [bundleFile:2.5.31]
      at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268) [bundleFile:2.5.31]
      at akka.dispatch.Mailbox.run(Mailbox.scala:229) [bundleFile:2.5.31]
      at akka.dispatch.Mailbox.exec(Mailbox.scala:241) [bundleFile:2.5.31]
      at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [bundleFile:2.5.31]
      at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [bundleFile:2.5.31]
      at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [bundleFile:2.5.31]
      at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [bundleFile:2.5.31]
      Caused by: java.lang.ExceptionInInitializerError: No YangXPathParserFactory found
      at org.opendaylight.yangtools.yang.parser.rfc7950.reactor.ServiceLoaderState$XPath.lambda$static$0(ServiceLoaderState.java:32) ~[bundleFile:?]
      at java.util.Optional.orElseThrow(Unknown Source) ~[?:?]
      at org.opendaylight.yangtools.yang.parser.rfc7950.reactor.ServiceLoaderState$XPath.<clinit>(ServiceLoaderState.java:32) ~[bundleFile:?]
      at org.opendaylight.yangtools.yang.parser.rfc7950.reactor.RFC7950Reactors.vanillaReactorBuilder(RFC7950Reactors.java:327) ~[bundleFile:?]
      at org.opendaylight.yangtools.yang.parser.rfc7950.reactor.RFC7950Reactors.defaultReactorBuilder(RFC7950Reactors.java:290) ~[bundleFile:?]
      at org.opendaylight.yangtools.yang.parser.impl.DefaultReactors.defaultReactorBuilder(DefaultReactors.java:70) ~[bundleFile:?]
      at org.opendaylight.yangtools.yang.parser.impl.DefaultReactors$DefaultReactor.<clinit>(DefaultReactors.java:39) ~[bundleFile:?]
      at org.opendaylight.yangtools.yang.parser.impl.DefaultReactors.defaultReactor(DefaultReactors.java:60) ~[bundleFile:?]
      at org.opendaylight.yangtools.yang.parser.impl.YangParserFactoryImpl.<init>(YangParserFactoryImpl.java:43) ~[bundleFile:?]
      at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
      at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
      at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
      at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:?]
      ... 37 more

            pendurty Ravi Pendurty
            pendurty Ravi Pendurty
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: