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