WinterTechForum / skybar

Skybar: Live code coverage engine
11 stars 3 forks source link

SkybarRegistry class cannot be found while starting up #19

Open DhivyaSC opened 7 years ago

DhivyaSC commented 7 years ago

We are using skybar agent during the start up of a container in the Jboss Fuse server and running into NoClassDefFound Issue for the SkybarRegistry class. Here is the JVM parameter used when starting the container. Any help or insights in this would be greatly appreciated -Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m -javaagent:/apps/rpdm/skybar/skybar-1.0-SNAPSHOT-all.jar -Dskybar.webUi.port=4321 -Dskybar.source.fsPath=/apps/rpdm/skybar/wb-svc-cdd-admin/src/main/java -Dskybar.include=com/scb/cic/wb/cdd/admin/controller Stack Trace : 2017-09-20 19:19:27,536 | ERROR | rint Extender: 2 | BlueprintContainerImpl | 15 - org.apache.aries.blueprint.core - 1.4.4 | Unable to start blueprint container for bundle wb-svc-cdd-admin/1.0.0.SNAPSHOT org.osgi.service.blueprint.container.ComponentDefinitionException: Error when instantiating bean bowbAdminController of class com.scb.cic.wb.cdd.admin.controller.BOWBAdminController at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:333)[15:org.apache.aries.blueprint.core:1.4.4] at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:806)[15:org.apache.aries.blueprint.core:1.4.4] at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[15:org.apache.aries.blueprint.core:1.4.4] at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[15:org.apache.aries.blueprint.core:1.4.4] at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_112] at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[15:org.apache.aries.blueprint.core:1.4.4] at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:247)[15:org.apache.aries.blueprint.core:1.4.4] at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[15:org.apache.aries.blueprint.core:1.4.4] at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:682)[15:org.apache.aries.blueprint.core:1.4.4] at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:377)[15:org.apache.aries.blueprint.core:1.4.4] at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[15:org.apache.aries.blueprint.core:1.4.4] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_112] at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_112] at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)[15:org.apache.aries.blueprint.core:1.4.4] at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[15:org.apache.aries.blueprint.core:1.4.4] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_112] at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_112] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_112] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_112] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_112] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_112] at java.lang.Thread.run(Thread.java:745)[:1.8.0_112] Caused by: java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: org/wtf/skybar/registry/SkybarRegistry at com.scb.cic.wb.cdd.admin.controller.BOWBAdminController.(BOWBAdminController.java) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[:1.8.0_112] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)[:1.8.0_112] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.8.0_112] at java.lang.reflect.Constructor.newInstance(Constructor.java:423)[:1.8.0_112] at org.apache.aries.blueprint.utils.ReflectionUtils.newInstance(ReflectionUtils.java:331) at org.apache.aries.blueprint.container.BeanRecipe.newInstance(BeanRecipe.java:960) at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:331) ... 21 more Caused by: java.lang.NoClassDefFoundError: org/wtf/skybar/registry/SkybarRegistry ... 29 more Caused by: java.lang.ClassNotFoundException: org.wtf.skybar.registry.SkybarRegistry not found by wb-svc-cdd-admin [303] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1556)[org.apache.felix.framework-4.4.1.jar:] at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:77)[org.apache.felix.framework-4.4.1.jar:] at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1993) at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_112] ... 29 more

dhagberg commented 7 years ago

I'm guessing that it must not be playing well with the ClassLoader complexity in an OSGI environment. Since SkybarRegistry /should/ be loaded by the root classloader it should be found in all the children but I think OSGI changes the ClassLoader rules a bit so that might not always be the case -- I just don't remember what its rules are.