[MDSAL-466] OSGi bundle scanner updates SchemaContext during shutdown Created: 12/Aug/19  Updated: 15/Aug/19  Resolved: 14/Aug/19

Status: Resolved
Project: mdsal
Component/s: DOM runtime
Affects Version/s: 5.0.0, 4.0.3
Fix Version/s: 5.0.0, 4.0.4, 3.0.11

Type: Bug Priority: Highest
Reporter: Robert Varga Assignee: Robert Varga
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
blocks INTDIST-105 Need mdsal-4.0.4 integrated Resolved
Relates
relates to MDSAL-461 ClassCastException on the same class ... Resolved

 Description   

https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/genius-csit-1node-upstream-only-sodium/274/odl_1/karaf_1_10983_threads_after.log.gz

is showing the following:

"Framework stop" #1122 daemon prio=5 os_prio=0 tid=0x00007f239c00c000 nid=0x3838 runnable [0x00007f236c0ea000]
   java.lang.Thread.State: RUNNABLE
	at [...]
com.google.common.util.concurrent.Futures.transformAsync(Futures.java:471)
	at org.opendaylight.yangtools.yang.parser.repo.SharedSchemaContextFactory.createSchemaContext(SharedSchemaContextFactory.java:103)
	at org.opendaylight.yangtools.yang.parser.repo.SharedSchemaContextFactory.createEffectiveModelContext(SharedSchemaContextFactory.java:74)
	at org.opendaylight.yangtools.yang.parser.repo.YangTextSchemaContextResolver.getSchemaContext(YangTextSchemaContextResolver.java:239)
	at org.opendaylight.yangtools.yang.parser.repo.YangTextSchemaContextResolver.getSchemaContext(YangTextSchemaContextResolver.java:205)
	at org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext.tryToCreateSchemaContext(ModuleInfoBackedContext.java:179)
	at org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext.getSchemaContext(ModuleInfoBackedContext.java:123)
	at org.opendaylight.mdsal.binding.dom.codec.osgi.impl.OsgiModuleInfoRegistry.updateService(OsgiModuleInfoRegistry.java:49)
	- locked <0x0000000082912bf8> (a org.opendaylight.mdsal.binding.dom.codec.osgi.impl.OsgiModuleInfoRegistry)
	at org.opendaylight.mdsal.binding.dom.codec.osgi.impl.OsgiModuleInfoRegistry$ObjectRegistrationWrapper.close(OsgiModuleInfoRegistry.java:88)
	at org.opendaylight.mdsal.binding.dom.codec.osgi.impl.ModuleInfoBundleTracker.removedBundle(ModuleInfoBundleTracker.java:118)
	at org.opendaylight.mdsal.binding.dom.codec.osgi.impl.ModuleInfoBundleTracker.removedBundle(ModuleInfoBundleTracker.java:34)
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerRemoved(BundleTracker.java:495)
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerRemoved(BundleTracker.java:415)
	at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341)
	at org.osgi.util.tracker.BundleTracker.close(BundleTracker.java:192)
	at org.opendaylight.mdsal.binding.dom.codec.osgi.impl.Activator.stop(Activator.java:53)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:835)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:1)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.stop(BundleContextImpl.java:828)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.stopWorker0(EquinoxBundle.java:947)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.stopWorker(EquinoxBundle.java:314)
	at org.eclipse.osgi.container.Module.doStop(Module.java:636)
	at org.eclipse.osgi.container.Module.stop(Module.java:498)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.decStartLevel(ModuleContainer.java:1675)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1594)
	- locked <0x0000000080adf690> (a java.lang.Object)
	at org.eclipse.osgi.container.SystemModule.stopWorker(SystemModule.java:270)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.stopWorker(EquinoxBundle.java:147)
	at org.eclipse.osgi.container.Module.doStop(Module.java:636)
	at org.eclipse.osgi.container.Module.stop(Module.java:498)
	at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)
	at java.lang.Thread.run(Thread.java:748)


 Comments   
Comment by Robert Varga [ 12/Aug/19 ]

This is flushed out by the sources being unregistered.

Comment by Robert Varga [ 13/Aug/19 ]

The fix is also backported to 3.0.x branch.

Comment by Robert Varga [ 14/Aug/19 ]

We are still seeing this.

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