[CONTROLLER-1614] [Karaf 4] SFT ClassNotFoundException: org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext Created: 08/Mar/17  Updated: 25/Jul/23  Resolved: 13/Mar/17

Status: Resolved
Project: controller
Component/s: mdsal
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Michael Vorburger Assignee: Unassigned
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: 7924

 Description   

when running SingleFeatureTest (SFT) on a Karaf 4 feature, e.g. by "mvn -o -Dsft.diag.skip=true clean install" in genius/features/features4-genius from https://git.opendaylight.org/gerrit/#/c/51966/ (not sure if this also happens in production Karaf or is SFT specific), then I'm seeing this:

2017-03-08 00:10:02,121 | ERROR | rint Extender: 3 | BlueprintContainerImpl | 14 - org.apache.aries.blueprint.core - 1.6.2 | Unable to start blueprint container for bundle org.opendaylight.controller.sal-binding-broker-impl/1.5.0.SNAPSHOT
org.osgi.service.blueprint.container.ComponentDefinitionException: Error when instantiating bean mappingCodecListenerReg of class org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodecFactory
at org.apache.aries.blueprint.container.BeanRecipe.wrapAsCompDefEx(BeanRecipe.java:361)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BeanRecipe.getInstanceFromStaticFactory(BeanRecipe.java:331)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:280)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:830)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[14:org.apache.aries.blueprint.core:1.6.2]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[14:org.apache.aries.blueprint.core:1.6.2]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_121]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[14:org.apache.aries.blueprint.core:1.6.2]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_121]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_121]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_121]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]
Caused by: java.lang.NoClassDefFoundError: org/opendaylight/yangtools/binding/data/codec/impl/BindingCodecContext
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.create(BindingNormalizedNodeCodecRegistry.java:236)
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.onBindingRuntimeContextUpdated(BindingNormalizedNodeCodecRegistry.java:80)
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.onGlobalContextUpdated(BindingToNormalizedNodeCodec.java:235)
at org.opendaylight.controller.sal.schema.service.impl.GlobalBundleScanningSchemaServiceImpl.registerSchemaContextListener(GlobalBundleScanningSchemaServiceImpl.java:130)
at Proxyb400a362_d74d_453c_8c3c_dfeff9f07e70.registerSchemaContextListener(Unknown Source)
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodecFactory.registerInstance(BindingToNormalizedNodeCodecFactory.java:67)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_121]
at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)
at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980)
at org.apache.aries.blueprint.container.BeanRecipe.getInstanceFromStaticFactory(BeanRecipe.java:329)
... 22 more
Caused by: java.lang.ClassNotFoundException: org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext cannot be found by org.opendaylight.mdsal.binding-dom-codec_0.10.0.SNAPSHOT
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_121]
... 35 more



 Comments   
Comment by Michael Vorburger [ 08/Mar/17 ]

Full SFT log attached to (otherwise probably unrelated) ODLPARENT-76 (https://bugs.opendaylight.org/attachment.cgi?id=1620).

Comment by Michael Vorburger [ 08/Mar/17 ]

There is also this probably related error shown a little later in the same log - it almost looks as if the bundle JAR disappeared during the run of the SFT ?!

2017-03-08 00:10:02,144 | ERROR | 77f-a2b3c56b919e | binding-dom-codec | 183 - org.opendaylight.mdsal.binding-dom-codec - 0.10.0.SNAPSHOT | FrameworkEvent ERROR - org.opendaylight.mdsal.binding-dom-codec
java.io.IOException: Exception in opening zip file: /home/vorburger/dev/ODL/git/genius/features/features4-genius/target/pax/c265af55-7cb4-43a9-9fca-074df8c3f661/data/cache/org.eclipse.osgi/183/0/bundleFile
at org.eclipse.osgi.framework.util.SecureAction.getZipFile(SecureAction.java:305)
at org.eclipse.osgi.storage.bundlefile.ZipBundleFile.basicOpen(ZipBundleFile.java:85)
at org.eclipse.osgi.storage.bundlefile.ZipBundleFile.getZipFile(ZipBundleFile.java:98)
at org.eclipse.osgi.storage.bundlefile.ZipBundleFile.checkedOpen(ZipBundleFile.java:65)
at org.eclipse.osgi.storage.bundlefile.ZipBundleFile.getEntry(ZipBundleFile.java:232)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:562)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:540)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:402)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_121]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.create(BindingNormalizedNodeCodecRegistry.java:236)
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.onBindingRuntimeContextUpdated(BindingNormalizedNodeCodecRegistry.java:80)
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.onGlobalContextUpdated(BindingToNormalizedNodeCodec.java:235)
at org.opendaylight.controller.sal.schema.service.impl.GlobalBundleScanningSchemaServiceImpl.registerSchemaContextListener(GlobalBundleScanningSchemaServiceImpl.java:130)
at Proxyb400a362_d74d_453c_8c3c_dfeff9f07e70.registerSchemaContextListener(Unknown Source)
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodecFactory.registerInstance(BindingToNormalizedNodeCodecFactory.java:67)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_121]
at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BeanRecipe.getInstanceFromStaticFactory(BeanRecipe.java:329)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:280)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:830)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[14:org.apache.aries.blueprint.core:1.6.2]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:724)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:411)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:276)[14:org.apache.aries.blueprint.core:1.6.2]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_121]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)[14:org.apache.aries.blueprint.core:1.6.2]
at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[14:org.apache.aries.blueprint.core:1.6.2]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_121]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_121]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_121]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]
Caused by: java.io.FileNotFoundException: /home/vorburger/dev/ODL/git/genius/features/features4-genius/target/pax/c265af55-7cb4-43a9-9fca-074df8c3f661/data/cache/org.eclipse.osgi/183/0/bundleFile (No such file or directory)
at java.util.zip.ZipFile.open(Native Method)[:1.8.0_121]
at java.util.zip.ZipFile.<init>(ZipFile.java:219)[:1.8.0_121]
at java.util.zip.ZipFile.<init>(ZipFile.java:149)[:1.8.0_121]
at java.util.zip.ZipFile.<init>(ZipFile.java:163)[:1.8.0_121]
at org.eclipse.osgi.framework.util.SecureAction.getZipFile(SecureAction.java:288)
... 49 more

Comment by Robert Varga [ 13/Mar/17 ]

This is resolved, as it was and artifact of the packaging transition.

Generated at Wed Feb 07 19:55:59 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.