Thomas Watson created ARIES-1238:
------------------------------------

             Summary: Fix for ARIES-1216 can cause NPE if classToProxy is a 
class from the boot loader
                 Key: ARIES-1238
                 URL: https://issues.apache.org/jira/browse/ARIES-1238
             Project: Aries
          Issue Type: Bug
          Components: Proxy
            Reporter: Thomas Watson


I'm not entirely sure on the scenario to reproduce this.  But I was getting an 
NPE when the classToProxy is a class from the boot strap class loader.  In my 
scenario I think that class is java.util.Properties:

org.osgi.service.blueprint.container.ComponentDefinitionException: Error 
setting property: PropertyDescriptor <name: props, getter: null, setter: [class 
bp.test.client.TestBean.setProps(class java.util.Properties)]
        at 
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:941)
        at 
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)
        at 
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)
        at 
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)
        at 
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
        at 
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
        at java.util.concurrent.FutureTask.run(FutureTask.java:273)
        at 
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)
        at 
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)
        at 
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)
        at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:681)
        at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:378)
        at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:482)
        at java.util.concurrent.FutureTask.run(FutureTask.java:273)
        at 
org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)
        at 
org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:482)
        at java.util.concurrent.FutureTask.run(FutureTask.java:273)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:189)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:303)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:626)
        at java.lang.Thread.run(Thread.java:804)
Caused by: java.lang.NullPointerException
        at 
org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:117)
        at 
org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingInterceptingProxy(AbstractProxyManager.java:75)
        at 
org.apache.aries.proxy.impl.AbstractProxyManager.createInterceptingProxy(AbstractProxyManager.java:53)
        at 
org.apache.aries.blueprint.container.BeanRecipe.addInterceptors(BeanRecipe.java:767)
        at 
org.apache.aries.blueprint.container.BeanRecipe.wrap(BeanRecipe.java:843)
        at 
org.apache.aries.blueprint.container.AggregateConverter.convert(AggregateConverter.java:149)
        at 
org.apache.aries.blueprint.container.BlueprintRepository.convert(BlueprintRepository.java:402)
        at 
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.convert(ReflectionUtils.java:394)
        at 
org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescriptor.internalSet(ReflectionUtils.java:628)
        at 
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.set(ReflectionUtils.java:378)
        at 
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:939)
        ... 23 more




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to