Hi Timothy,

I poked around using PackageAdmin and there don't appear to be any bundles 
exporting org.bouncycastle.openssl when this exception occurs.  I'm kind of 
wondering why anyone would care what the common superclass of Exception and 
PEMReader was.

Is there any description of how this weaving proxying works and which classes 
it applies to?

Looking at the stack trace a bit more I wonder if this problem is entirely 
generated by the weaving.  The karaf blueprint plan involved has this:

    <bean id="keyPairProvider" 
class="org.apache.sshd.server.keyprovider.SimpleGeneratorHostKeyProvider">
        <property name="path" value="${hostKey}"/>
    </bean>

The user code in the stack trace is:

>>        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)

> 

AbstractGeneratorHostKeyProvider is the superclass of 
SimpleGeneratorHostKeyProvider and neither mention PEMReader.  The other 
subclass of AbstractGeneratorHostKeyProvider is PEMGeneratorHostKeyProvider 
which does use PEMReader.  Looking at the class file for 
AbstractGeneratorHostKeyProvider in emacs I don't see PEMReader.  So I would 
guess that the reference to PEMReader might have been added by the weaving.

I don't have the time to pursue this further, and it looks like it could 
involve a lot of work to make reliable.  I think I will have to try patching 
application 0.3 so it works.

thanks
david jencks



On May 23, 2011, at 1:37 AM, Timothy Ward wrote:

> 
> 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