[YANGTOOLS-298] o.o.y.y.p.r.SharedSchemaContextFactory - Failed to assemble sources org.opendaylight.yangtools.yang.model.repo.api.SchemaResolutionException Created: 09/Sep/14  Updated: 10/Apr/22  Resolved: 11/Sep/14

Status: Resolved
Project: yangtools
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Flavio Fernandes Assignee: Robert Varga
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: 1774

 Description   

Using build:

$ cat version.properties
org.opendaylight.controller.version = 0.1
org.opendaylight.controller.build.scm.version = 5ca5b293f5039ab46cd17d863fbcca3ea6e7b6c6
org.opendaylight.controller.build.user = jenkins-controller
org.opendaylight.controller.build.workspace = **********
org.opendaylight.controller.build.timestamp = 1410263894951
org.opendaylight.controller.build.machine = **********

I get over 2k lines of log dumped upon starting odl.

https://gist.github.com/fdd314e3a39e685236ed

$ ./run.sh -Xmx1024m -XX:MaxPermSize=512m -debug -virt ovsdb
find: configuration/initial.available: No such file or directory
JVM maximum memory was set to -Xmx1024m.
Listening for transport dt_socket at address: 8000
osgi> 2014-09-09 16:46:49 EDT [org.apache.catalina.mbeans.GlobalResourcesLifecycleListener] SEVERE org.apache.catalina.mbeans.GlobalResourcesLifecycleListener createMBeans No global naming context defined for server
2014-09-09 16:46:52.903 EDT [fileinstall-./plugins] INFO o.o.y.y.p.r.SharedSchemaContextFactory - Failed to assemble sources
org.opendaylight.yangtools.yang.model.repo.api.SchemaResolutionException: Failed to resolve required models, resolved sources: [SourceIdentifier [name=sal-remote@2014-01-14], SourceIdentifier [name=sal-remote-augment@2014-7-8], SourceIdentifier [name=ietf-yang-types@2013-07-15]], unsatisfied imports:

{SourceIdentifier [name=ovs-nx-api-config@2014-07-11]=[ModuleImportImpl [name=config, revision=2013-04-05], ModuleImportImpl [name=openflow-switch-connection-provider, revision=2014-03-28]], SourceIdentifier [name=threadpool-impl-fixed@2013-12-01]=[ModuleImportImpl [name=threadpool, revision=2013-04-09], ModuleImportImpl [name=config, revision=2013-04-05], ModuleImportImpl [name=rpc-context, revision=2013-06-17]], SourceIdentifier [name=opendaylight-inventory@2013-08-19]=[ModuleImportImpl [name=yang-ext, revision=2013-07-09], ModuleImportImpl [name=ietf-inet-types, revision=2010-09-24]], SourceIdentifier [name=opendaylight-rest-connector@2014-07-24]=[ModuleImportImpl [name=config, revision=2013-04-05], ModuleImportImpl [name=opendaylight-md-sal-dom, revision=2013-10-28], ModuleImportImpl [name=ietf-inet-types, revision=2010-09-24]], SourceIdentifier [name=openflowjava-nx-api-config@2014-07-11]=[ModuleImportImpl [name=config, revision=2013-04-05], ModuleImportImpl [name=openflow-switch-connection-provider, revision=2014-03-28]], SourceIdentifier [name=netty@2013-11-19]=[ModuleImportImpl [name=config, revision=2013-04-05]], SourceIdentifier [name=ovs-nx-match@2014-04-21]=[ModuleImportImpl [name=openflow-extensible-match, revision=null], ModuleImportImpl [name=openflow-types, revision=null], ModuleImportImpl [name=ietf-yang-types, revision=2010-09-24], ModuleImportImpl [name=yang-ext, revision=2013-07-09]], SourceIdentifier [name=opendaylight-queue-statistics@2013-12-16]=[ModuleImportImpl [name=flow-capable-transaction, revision=null], ModuleImportImpl [name=yang-ext, revision=2013-07-09], ModuleImportImpl [name=flow-node-inventory, revision=2013-08-19], ModuleImportImpl [name=opendaylight-queue-types, revision=2013-09-25]], SourceIdentifier [name=openflow-provider-impl@2014-03-26]=[ModuleImportImpl [name=config, revision=2013-04-05], ModuleImportImpl [name=rpc-context, revision=2013-06-17], ModuleImportImpl [name=openflow-switch-connection-provider, revision=2014-03-28]], SourceIdentifier [name=opendaylight-topology@2013-10-30]=[ModuleImportImpl [name=yang-ext, revision=null], ModuleImportImpl [name=ietf-inet-types, revision=null], ModuleImportImpl [name=network-topology, revision=2013-10-21]], SourceIdentifier [name=ietf-restconf@2013-10-19]=[ModuleImportImpl [name=ietf-inet-types, revision=null]], SourceIdentifier [name=service-function@2014-07-01]=[ModuleImportImpl [name=ietf-inet-types, revision=null]], SourceIdentifier [name=netconf-node-inventory@2014-01-08]=[ModuleImportImpl [name=yang-ext, revision=2013-07-09]], SourceIdentifier [name=opendaylight-group-statistics@2013-11-11]=[ModuleImportImpl [name=yang-ext, revision=2013-07-09], ModuleImportImpl [name=opendaylight-group-types, revision=2013-10-18], ModuleImportImpl [name=flow-capable-transaction, revision=null], ModuleImportImpl [name=flow-node-inventory, revision=null]], SourceIdentifier [name=opendaylight-flow-table-statistics@2013-12-15]=[ModuleImportImpl [name=flow-capable-transaction, revision=null], ModuleImportImpl [name=yang-ext, revision=2013-07-09], ModuleImportImpl [name=flow-node-inventory, revision=2013-08-19], ModuleImportImpl [name=opendaylight-table-types, revision=2013-10-26]], SourceIdentifier [name=odl-netconf-cfg@2014-04-08]=[ModuleImportImpl [name=config, revision=2013-04-05]], SourceIdentifier [name=openflow-provider@2014-03-26]=[ModuleImportImpl [name=config, revision=2013-04-05]], SourceIdentifier [name=opendaylight-sal-binding-broker-impl@2013-10-28]=[ModuleImportImpl [name=config, revision=2013-04-05], ModuleImportImpl [name=opendaylight-md-sal-dom, revision=null], ModuleImportImpl [name=opendaylight-md-sal-common, revision=null]], SourceIdentifier [name=service-function-type@2014-07-01]=[ModuleImportImpl [name=ietf-inet-types, revision=null]], SourceIdentifier [name=opendaylight-statistics-types@2013-09-25]=[ModuleImportImpl [name=ietf-yang-types, revision=2010-09-24]], SourceIdentifier [name=config-logging@2013-07-16]=[ModuleImportImpl [name=config, revision=2013-04-05], ModuleImportImpl [name=rpc-context, revision=2013-06-17]], SourceIdentifier [name=ietf-netconf-monitoring-extension@2013-12-10]=[ModuleImportImpl [name=ietf-netconf-monitoring, revision=null]], SourceIdentifier [name=opendaylight-md-sal-binding@2013-10-28]=[ModuleImportImpl [name=config, revision=2013-04-05]], SourceIdentifier [name=odl-sal-netconf-connector-cfg@2013-10-28]=[ModuleImportImpl [name=config, revision=2013-04-05], ModuleImportImpl [name=threadpool, revision=null], ModuleImportImpl [name=opendaylight-md-sal-dom, revision=null], ModuleImportImpl [name=ietf-inet-types, revision=2010-09-24]], SourceIdentifier [name=ovs-nx-config@2014-07-11]=[ModuleImportImpl [name=config, revision=2013-04-05]], SourceIdentifier [name=opendaylight-topology-inventory@2013-10-30]=[ModuleImportImpl [name=yang-ext, revision=null], ModuleImportImpl [name=ietf-inet-types, revision=null], ModuleImportImpl [name=network-topology, revision=2013-10-21]], SourceIdentifier [name=service-locator@2014-07-01]=[ModuleImportImpl [name=ietf-inet-types, revision=null]], SourceIdentifier [name=threadpool-impl@2013-04-05]=[ModuleImportImpl [name=threadpool, revision=2013-04-09], ModuleImportImpl [name=config, revision=2013-04-05], ModuleImportImpl [name=rpc-context, revision=2013-06-17]], SourceIdentifier [name=opendaylight-topology-view@2013-10-30]=[ModuleImportImpl [name=yang-ext, revision=null], ModuleImportImpl [name=network-topology, revision=2013-10-21]], SourceIdentifier [name=service-node@2014-07-01]=[ModuleImportImpl [name=ietf-inet-types, revision=null]], SourceIdentifier [name=opendaylight-flow-statistics@2013-08-19]=[ModuleImportImpl [name=yang-ext, revision=2013-07-09], ModuleImportImpl [name=opendaylight-flow-types, revision=2013-10-26], ModuleImportImpl [name=opendaylight-table-types, revision=2013-10-26], ModuleImportImpl [name=flow-node-inventory, revision=2013-08-19], ModuleImportImpl [name=flow-capable-transaction, revision=null], ModuleImportImpl [name=ietf-inet-types, revision=2010-09-24]], SourceIdentifier [name=shutdown@2013-12-18]=[ModuleImportImpl [name=config, revision=2013-04-05]], SourceIdentifier [name=opendaylight-port-statistics@2013-12-14]=[ModuleImportImpl [name=flow-capable-transaction, revision=null], ModuleImportImpl [name=yang-ext, revision=2013-07-09]], SourceIdentifier [name=protocol-framework@2014-03-13]=[ModuleImportImpl [name=config, revision=2013-04-05]], SourceIdentifier [name=service-function-forwarder@2014-07-01]=[ModuleImportImpl [name=ietf-inet-types, revision=null]], SourceIdentifier [name=service-function-forwarder-ovs@2014-07-01]=[ModuleImportImpl [name=ietf-inet-types, revision=null]], SourceIdentifier [name=service-function-chain@2014-07-01]=[ModuleImportImpl [name=ietf-inet-types, revision=null]], SourceIdentifier [name=shutdown-impl@2013-12-18]=[ModuleImportImpl [name=config, revision=2013-04-05], ModuleImportImpl [name=rpc-context, revision=2013-06-17]], SourceIdentifier [name=threadpool-impl-flexible@2013-12-01]=[ModuleImportImpl [name=threadpool, revision=2013-04-09], ModuleImportImpl [name=config, revision=2013-04-05], ModuleImportImpl [name=rpc-context, revision=2013-06-17]], SourceIdentifier [name=ovs-nx-action@2014-04-21]=[ModuleImportImpl [name=openflow-action, revision=null], ModuleImportImpl [name=openflow-types, revision=null], ModuleImportImpl [name=yang-ext, revision=2013-07-09]], SourceIdentifier [name=threadpool-impl-scheduled@2013-12-01]=[ModuleImportImpl [name=threadpool, revision=2013-04-09], ModuleImportImpl [name=config, revision=2013-04-05], ModuleImportImpl [name=rpc-context, revision=2013-06-17]], SourceIdentifier [name=packet-fields@2014-06-25]=[ModuleImportImpl [name=ietf-inet-types, revision=null]], SourceIdentifier [name=odl-netconfig-client-cfg@2014-04-08]=[ModuleImportImpl [name=config, revision=2013-04-05]], SourceIdentifier [name=opendaylight-meter-statistics@2013-11-11]=[ModuleImportImpl [name=yang-ext, revision=2013-07-09], ModuleImportImpl [name=flow-node-inventory, revision=2013-08-19], ModuleImportImpl [name=opendaylight-meter-types, revision=2013-09-18], ModuleImportImpl [name=flow-capable-transaction, revision=null]], SourceIdentifier [name=netty-timer@2013-11-19]=[ModuleImportImpl [name=config, revision=2013-04-05], ModuleImportImpl [name=threadpool, revision=2013-04-09]], SourceIdentifier [name=service-function-path@2014-07-01]=[ModuleImportImpl [name=ietf-inet-types, revision=null]]}

at org.opendaylight.yangtools.yang.parser.repo.SharedSchemaContextFactory$2.apply(SharedSchemaContextFactory.java:77) ~[bundlefile:na]
at org.opendaylight.yangtools.yang.parser.repo.SharedSchemaContextFactory$2.apply(SharedSchemaContextFactory.java:61) ~[bundlefile:na]
at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:859) ~[bundlefile:na]
at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:293) ~[bundlefile:na]
at com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:150) ~[bundlefile:na]
at com.google.common.util.concurrent.ExecutionList.add(ExecutionList.java:106) ~[bundlefile:na]
at com.google.common.util.concurrent.AbstractFuture.addListener(AbstractFuture.java:170) ~[bundlefile:na]
at com.google.common.util.concurrent.Futures.transform(Futures.java:613) ~[bundlefile:na]
at com.google.common.util.concurrent.Futures.transform(Futures.java:565) ~[bundlefile:na]
at org.opendaylight.yangtools.yang.parser.repo.SharedSchemaContextFactory.createSchemaContext(SharedSchemaContextFactory.java:126) ~[bundlefile:na]
at org.opendaylight.yangtools.yang.parser.repo.URLSchemaContextResolver.getSchemaContext(URLSchemaContextResolver.java:165) [bundlefile:na]
at org.opendaylight.controller.sal.dom.broker.GlobalBundleScanningSchemaServiceImpl.tryToUpdateSchemaContext(GlobalBundleScanningSchemaServiceImpl.java:236) [bundlefile:na]
at org.opendaylight.controller.sal.dom.broker.GlobalBundleScanningSchemaServiceImpl.start(GlobalBundleScanningSchemaServiceImpl.java:93) [bundlefile:na]
at org.opendaylight.controller.sal.dom.broker.GlobalBundleScanningSchemaServiceImpl.createInstance(GlobalBundleScanningSchemaServiceImpl.java:63) [bundlefile:na]
at org.opendaylight.controller.sal.dom.broker.osgi.SchemaServiceActivator.start(SchemaServiceActivator.java:26) [bundlefile:na]
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711) [org.eclipse.osgi-3.8.1.v20120830-144521.jar:na]
at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_67]
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702) [org.eclipse.osgi-3.8.1.v20120830-144521.jar:na]
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683) [org.eclipse.osgi-3.8.1.v20120830-144521.jar:na]
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) [org.eclipse.osgi-3.8.1.v20120830-144521.jar:na]
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300) [org.eclipse.osgi-3.8.1.v20120830-144521.jar:na]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:1175) [org.apache.felix.fileinstall-3.1.6.jar:na]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:1153) [org.apache.felix.fileinstall-3.1.6.jar:na]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.processAllBundles(DirectoryWatcher.java:1146) [org.apache.felix.fileinstall-3.1.6.jar:na]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:456) [org.apache.felix.fileinstall-3.1.6.jar:na]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:263) [org.apache.felix.fileinstall-3.1.6.jar:na]

...



 Comments   
Comment by Tony Tkacik [ 10/Sep/14 ]

Hi, did your controller started or not? And logs were just polluted?

This are reports from building YANG context and is caused by underlying OSGI framework reporting bundle events in different order,
if we have bundle A and B, where B depends on A
OSGI framework sometimes reports that bundle is resolved for B before
it reports A and all we can do is detect that dependencies are missing at this
time and report it.

Comment by Flavio Fernandes [ 10/Sep/14 ]

Hi!

> Did your controller started or not? And logs were just polluted?

Yes, the controller did start ok. So, besides the log's avalanche, I think
there is no serious breakage.

Comment by Flavio Fernandes [ 10/Sep/14 ]

From the osgi issue described in comment 1, it sounds like the issue could
be in pom/activator, such that required dependencies for yang context are
missing?!?

Comment by Robert Varga [ 11/Sep/14 ]

https://git.opendaylight.org/gerrit/11027

Comment by Tony Tkacik [ 11/Sep/14 ]

Degraded to debug, since it should be debug

Comment by Tony Tkacik [ 11/Sep/14 ]

No Flavio, thing is if you are listening using OSGI BundleTracker for bundle start events, this events may be reordered in way, that they do not hold import resolution.

It is common for example to get reported Openflow bundles started from OSGI, but we still did not get report about ietf-inet-types which are imported from Openflow.

Thing is bundle tracker is not required to honor that reporting order, so we must
have code, which could deal with wrong order, and that code was reporting this situation on INFO level (should be DEBUG as it was in fix).

Comment by Flavio Fernandes [ 11/Sep/14 ]

Understood. Thanks Tony!

Generated at Wed Feb 07 20:52:49 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.