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
> 
                                          

Reply via email to