Hi David, In order to support weaving, and to dramatically improve proxying performance, it was necessary to change the proxying API away from one that required you to use reflection. This was a breaking change for all clients but has improved proxy performance by nearly ten times, and made the implementation much more flexible. As a result, yes, you do need to upgrade every component to use the new proxy code.
I'm afraid I'm out of the office for a week and can't put a fix in, but I would look at using the Bundle Wiring API to follow package imports and locate the correct bundle to load the class resource from. I can look at this next week if you like. Regards, Tim > From: [email protected] > Subject: Problem with proxy 0.4-SNAPSHOT? > Date: Mon, 23 May 2011 00:01:21 -0700 > To: [email protected] > > It appears that to use application 3.1-SNAPSHOT you need to upgrade all the > other aries components. Is this really the case or is there > over-enthusiastic lets-use-the-newest-version going on? > > I've had to upgrade to proxy 0.4-SNAPSHOT and am getting this error: > > geronimo> 2011-05-22 22:24:12,684 ERROR [ProxyWeavingHook] There was a > serious error trying to weave the class > org.apache.sshd.common.keyprovider.FileKeyPairProvider. See the associated > exception for more information. > java.lang.RuntimeException: The class null and > org/bouncycastle/openssl/PEMReader do not have a common super class. > at > org.apache.aries.proxy.impl.weaving.OSGiFriendlyClassWriter.getCommonSuperClass(OSGiFriendlyClassWriter.java:112) > at org.objectweb.asm.ClassWriter.a(Unknown Source) > at org.objectweb.asm.Frame.a(Unknown Source) > at org.objectweb.asm.Frame.a(Unknown Source) > at org.objectweb.asm.MethodWriter.visitMaxs(Unknown Source) > at org.objectweb.asm.tree.MethodNode.accept(Unknown Source) > at org.objectweb.asm.commons.JSRInlinerAdapter.visitEnd(Unknown > Source) > at org.objectweb.asm.MethodAdapter.visitEnd(Unknown Source) > at org.objectweb.asm.ClassReader.accept(Unknown Source) > at org.objectweb.asm.ClassReader.accept(Unknown Source) > at > org.apache.aries.proxy.impl.weaving.WovenProxyGenerator.getWovenProxy(WovenProxyGenerator.java:52) > at > org.apache.aries.proxy.impl.weaving.ProxyWeavingHook.weave(ProxyWeavingHook.java:62) > at > org.eclipse.osgi.internal.baseadaptor.weaving.WovenClassImpl.call(WovenClassImpl.java:129) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHookPrivileged(ServiceRegistry.java:1239) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHooksPrivileged(ServiceRegistry.java:1222) > at > org.eclipse.osgi.internal.baseadaptor.weaving.WovenClassImpl.callHooks(WovenClassImpl.java:154) > at > org.eclipse.osgi.internal.baseadaptor.weaving.WeavingHookConfigurator.processClass(WeavingHookConfigurator.java:68) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:596) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:567) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:490) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:478) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216) > at > org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) > at > org.apache.sshd.server.keyprovider.AbstractGeneratorHostKeyProvider.static_init_adba91ec_bc37_40fd_b525_04d6fddc476d0(AbstractGeneratorHostKeyProvider.java:44) > at > org.apache.sshd.server.keyprovider.AbstractGeneratorHostKeyProvider.<clinit>(AbstractGeneratorHostKeyProvider.java) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at > org.apache.aries.blueprint.utils.ReflectionUtils.newInstance(ReflectionUtils.java:270) > at > org.apache.aries.blueprint.container.BeanRecipe.newInstance(BeanRecipe.java:842) > at > org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:269) > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:708) > at > org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:71) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:79) > at > org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:60) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:98) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:813) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:787) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:768) > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:722) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:98) > at > org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:220) > at > org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:154) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:641) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:332) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:228) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:680) > 2011-05-22 22:24:12,703 ERROR [BlueprintContainerImpl] Unable to start > blueprint container for bundle org.apache.karaf.shell.ssh > org.osgi.service.blueprint.container.ComponentDefinitionException: Error when > instanciating bean keyPairProvider of class class > org.apache.sshd.server.keyprovider.SimpleGeneratorHostKeyProvider > at > org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:271) > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:708) > at > org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:71) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:79) > at > org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:60) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:98) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:813) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:787) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:768) > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:722) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:98) > at > org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:220) > at > org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:154) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:641) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:332) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:228) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:680) > Caused by: java.lang.ClassFormatError: Unexpected error from weaving hook. > at > org.eclipse.osgi.internal.baseadaptor.weaving.WeavingHookConfigurator.processClass(WeavingHookConfigurator.java:74) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:596) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:567) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:490) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:478) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216) > at > org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) > at > org.apache.sshd.server.keyprovider.AbstractGeneratorHostKeyProvider.static_init_adba91ec_bc37_40fd_b525_04d6fddc476d0(AbstractGeneratorHostKeyProvider.java:44) > at > org.apache.sshd.server.keyprovider.AbstractGeneratorHostKeyProvider.<clinit>(AbstractGeneratorHostKeyProvider.java) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at > org.apache.aries.blueprint.utils.ReflectionUtils.newInstance(ReflectionUtils.java:270) > at > org.apache.aries.blueprint.container.BeanRecipe.newInstance(BeanRecipe.java:842) > at > org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:269) > ... 25 more > Caused by: org.osgi.framework.hooks.weaving.WeavingException: There was a > serious error trying to weave the class > org.apache.sshd.common.keyprovider.FileKeyPairProvider. See the associated > exception for more information. > at > org.apache.aries.proxy.impl.weaving.ProxyWeavingHook.weave(ProxyWeavingHook.java:75) > at > org.eclipse.osgi.internal.baseadaptor.weaving.WovenClassImpl.call(WovenClassImpl.java:129) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHookPrivileged(ServiceRegistry.java:1239) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHooksPrivileged(ServiceRegistry.java:1222) > at > org.eclipse.osgi.internal.baseadaptor.weaving.WovenClassImpl.callHooks(WovenClassImpl.java:154) > at > org.eclipse.osgi.internal.baseadaptor.weaving.WeavingHookConfigurator.processClass(WeavingHookConfigurator.java:68) > ... 46 more > Caused by: java.lang.RuntimeException: The class null and > org/bouncycastle/openssl/PEMReader do not have a common super class. > at > org.apache.aries.proxy.impl.weaving.OSGiFriendlyClassWriter.getCommonSuperClass(OSGiFriendlyClassWriter.java:112) > at org.objectweb.asm.ClassWriter.a(Unknown Source) > at org.objectweb.asm.Frame.a(Unknown Source) > at org.objectweb.asm.Frame.a(Unknown Source) > at org.objectweb.asm.MethodWriter.visitMaxs(Unknown Source) > at org.objectweb.asm.tree.MethodNode.accept(Unknown Source) > at org.objectweb.asm.commons.JSRInlinerAdapter.visitEnd(Unknown > Source) > at org.objectweb.asm.MethodAdapter.visitEnd(Unknown Source) > at org.objectweb.asm.ClassReader.accept(Unknown Source) > at org.objectweb.asm.ClassReader.accept(Unknown Source) > at > org.apache.aries.proxy.impl.weaving.WovenProxyGenerator.getWovenProxy(WovenProxyGenerator.java:52) > at > org.apache.aries.proxy.impl.weaving.ProxyWeavingHook.weave(ProxyWeavingHook.java:62) > ... 51 more > > After fixing the code to show the original class names I get: > > java.lang.RuntimeException: The class java/lang/Exception and > org/bouncycastle/openssl/PEMReader do not have a common super class. > at > org.apache.aries.proxy.impl.weaving.OSGiFriendlyClassWriter.getCommonSuperClass(OSGiFriendlyClassWriter.java:113) > at org.objectweb.asm.ClassWriter.a(Unknown Source) > at org.objectweb.asm.Frame.a(Unknown Source) > at org.objectweb.asm.Frame.a(Unknown Source) > at org.objectweb.asm.MethodWriter.visitMaxs(Unknown Source) > at org.objectweb.asm.tree.MethodNode.accept(Unknown Source) > at org.objectweb.asm.commons.JSRInlinerAdapter.visitEnd(Unknown > Source) > at org.objectweb.asm.MethodAdapter.visitEnd(Unknown Source) > at org.objectweb.asm.ClassReader.accept(Unknown Source) > at org.objectweb.asm.ClassReader.accept(Unknown Source) > at > org.apache.aries.proxy.impl.weaving.WovenProxyGenerator.getWovenProxy(WovenProxyGenerator.java:52) > at > org.apache.aries.proxy.impl.weaving.ProxyWeavingHook.weave(ProxyWeavingHook.java:62) > at > org.eclipse.osgi.internal.baseadaptor.weaving.WovenClassImpl.call(WovenClassImpl.java:129) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHookPrivileged(ServiceRegistry.java:1239) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHooksPrivileged(ServiceRegistry.java:1222) > at > org.eclipse.osgi.internal.baseadaptor.weaving.WovenClassImpl.callHooks(WovenClassImpl.java:154) > at > org.eclipse.osgi.internal.baseadaptor.weaving.WeavingHookConfigurator.processClass(WeavingHookConfigurator.java:68) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:596) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:567) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:490) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:478) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216) > at > org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) > at > org.apache.sshd.server.keyprovider.AbstractGeneratorHostKeyProvider.static_init_39c85b92_f2db_471a_9068_6cf8deb0066d0(AbstractGeneratorHostKeyProvider.java:44) > at > org.apache.sshd.server.keyprovider.AbstractGeneratorHostKeyProvider.<clinit>(AbstractGeneratorHostKeyProvider.java) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at > org.apache.aries.blueprint.utils.ReflectionUtils.newInstance(ReflectionUtils.java:270) > at > org.apache.aries.blueprint.container.BeanRecipe.newInstance(BeanRecipe.java:842) > at > org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:269) > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:708) > at > org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:71) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:79) > at > org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:60) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:98) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:813) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:787) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:768) > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:722) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:98) > at > org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:220) > at > org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:154) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:641) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:332) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:228) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:680) > 2011-05-22 23:53:41,008 ERROR [BlueprintContainerImpl] Unable to start > blueprint container for bundle org.apache.karaf.shell.ssh > org.osgi.service.blueprint.container.ComponentDefinitionException: Error when > instanciating bean keyPairProvider of class class > org.apache.sshd.server.keyprovider.SimpleGeneratorHostKeyProvider > at > org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:271) > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:708) > at > org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:71) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:79) > at > org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:60) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:98) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:813) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:787) > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:768) > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:722) > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:98) > at > org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:220) > at > org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:154) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:641) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:332) > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:228) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:680) > Caused by: java.lang.ClassFormatError: Unexpected error from weaving hook. > at > org.eclipse.osgi.internal.baseadaptor.weaving.WeavingHookConfigurator.processClass(WeavingHookConfigurator.java:74) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:596) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:567) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:490) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:478) > at > org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216) > at > org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) > at > org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) > at > org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) > at > org.apache.sshd.server.keyprovider.AbstractGeneratorHostKeyProvider.static_init_39c85b92_f2db_471a_9068_6cf8deb0066d0(AbstractGeneratorHostKeyProvider.java:44) > at > org.apache.sshd.server.keyprovider.AbstractGeneratorHostKeyProvider.<clinit>(AbstractGeneratorHostKeyProvider.java) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at > org.apache.aries.blueprint.utils.ReflectionUtils.newInstance(ReflectionUtils.java:270) > at > org.apache.aries.blueprint.container.BeanRecipe.newInstance(BeanRecipe.java:842) > at > org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:269) > ... 25 more > Caused by: org.osgi.framework.hooks.weaving.WeavingException: There was a > serious error trying to weave the class > org.apache.sshd.common.keyprovider.FileKeyPairProvider. See the associated > exception for more information. > at > org.apache.aries.proxy.impl.weaving.ProxyWeavingHook.weave(ProxyWeavingHook.java:75) > at > org.eclipse.osgi.internal.baseadaptor.weaving.WovenClassImpl.call(WovenClassImpl.java:129) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHookPrivileged(ServiceRegistry.java:1239) > at > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyHooksPrivileged(ServiceRegistry.java:1222) > at > org.eclipse.osgi.internal.baseadaptor.weaving.WovenClassImpl.callHooks(WovenClassImpl.java:154) > at > org.eclipse.osgi.internal.baseadaptor.weaving.WeavingHookConfigurator.processClass(WeavingHookConfigurator.java:68) > ... 46 more > Caused by: java.lang.RuntimeException: The class java/lang/Exception and > org/bouncycastle/openssl/PEMReader do not have a common super class. > at > org.apache.aries.proxy.impl.weaving.OSGiFriendlyClassWriter.getCommonSuperClass(OSGiFriendlyClassWriter.java:113) > at org.objectweb.asm.ClassWriter.a(Unknown Source) > at org.objectweb.asm.Frame.a(Unknown Source) > at org.objectweb.asm.Frame.a(Unknown Source) > at org.objectweb.asm.MethodWriter.visitMaxs(Unknown Source) > at org.objectweb.asm.tree.MethodNode.accept(Unknown Source) > at org.objectweb.asm.commons.JSRInlinerAdapter.visitEnd(Unknown > Source) > at org.objectweb.asm.MethodAdapter.visitEnd(Unknown Source) > at org.objectweb.asm.ClassReader.accept(Unknown Source) > at org.objectweb.asm.ClassReader.accept(Unknown Source) > at > org.apache.aries.proxy.impl.weaving.WovenProxyGenerator.getWovenProxy(WovenProxyGenerator.java:52) > at > org.apache.aries.proxy.impl.weaving.ProxyWeavingHook.weave(ProxyWeavingHook.java:62) > ... 51 more > > I'd guess that the situation hinted at in the javadoc is occurring: > > /** > * We provide an implementation that doesn't cause class loads to occur. It > may > * not be sufficient because it expects to find the common parent using a > single > * classloader, though in fact the common parent may only be loadable by > another > * bundle from which an intermediate class is loaded > */ > > > I'm not sure how to proceed here. Any suggestions? > > thanks > david jencks >
