Uploaded image for project: 'Aries'
  1. Aries
  2. ARIES-1151

NullPointerException in BundleWiringImpl.findClassOrResourceByDelegation

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • blueprint-core-1.1.0
    • None
    • Blueprint
    • None
    • linux, karaf

    Description

      There is a weird NPE happening under the following conditions:

      1) The bundle wires Apache Camel using blueprint.xml. If I remove camel from blueprint.xml, the issue doesn't occur
      2) The bundle starts fine for the first time
      3) The bundle restarts successfully by hand if it's not being redeployed
      4) The bundle fails to restart during hot deployment in Karaf following with NPE (specifically "install mvn:..." and "dev:watch *" features used for hot deployment, other methods not tested)

      The workaround is to uninstall the old bundle and install new bundle (PID changes)

      Hope this is good enough to isolate the issue.

      Full stack trace:

      2014-01-21 11:25:17,424 | ERROR | Thread-72 | BlueprintContainerImpl | container.BlueprintContainerImpl 393 | 7 - org.apache.aries.blueprint.core - 1.1.0 | Unable to start blueprint container for bundle blah-blah-blah 
      org.osgi.service.blueprint.container.ComponentDefinitionException: java.lang.NullPointerException 
              at org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:115)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[7:org.apache.aries.blueprint.core:1.1.0] 
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_21] 
              at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_21] 
              at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:933)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[7:org.apache.aries.blueprint.core:1.1.0]
              at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[7:org.apache.aries.blueprint.core:1.1.0] 
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_21] 
              at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_21] 
              at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.BlueprintRepository.createInstance(BlueprintRepository.java:230)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.BlueprintRepository.create(BlueprintRepository.java:155)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.BlueprintContainerImpl.processProcessors(BlueprintContainerImpl.java:514)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:353)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:261)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:259)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:222)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[11:org.apache.aries.util:1.1.0] 
              at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[11:org.apache.aries.util:1.1.0] 
              at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[11:org.apache.aries.util:1.1.0] 
              at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[11:org.apache.aries.util:1.1.0] 
              at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[11:org.apache.aries.util:1.1.0] 
              at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)[org.apache.felix.framework-4.0.3.jar:] 
              at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)[org.apache.felix.framework-4.0.3.jar:] 
              at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)[org.apache.felix.framework-4.0.3.jar:] 
              at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4244)[org.apache.felix.framework-4.0.3.jar:] 
              at org.apache.felix.framework.Felix.startBundle(Felix.java:1923)[org.apache.felix.framework-4.0.3.jar:] 
              at org.apache.felix.framework.Felix.updateBundle(Felix.java:2235)[org.apache.felix.framework-4.0.3.jar:] 
              at org.apache.felix.framework.BundleImpl.update(BundleImpl.java:962)[org.apache.felix.framework-4.0.3.jar:] 
              at org.apache.karaf.shell.dev.watch.BundleWatcher.run(BundleWatcher.java:112)[29:org.apache.karaf.shell.dev:2.3.3] 
              at java.lang.Thread.run(Thread.java:722)[:1.7.0_21] 
      Caused by: java.lang.NullPointerException 
              at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1432)[org.apache.felix.framework-4.0.3.jar:] 
              at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)[org.apache.felix.framework-4.0.3.jar:] 
              at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843) 
              at java.lang.ClassLoader.loadClass(ClassLoader.java:410)[:1.7.0_21] 
              at java.lang.ClassLoader.loadClass(ClassLoader.java:356)[:1.7.0_21] 
              at java.lang.Class.forName0(Native Method)[:1.7.0_21] 
              at java.lang.Class.forName(Class.java:266)[:1.7.0_21] 
              at org.apache.aries.proxy.impl.interfaces.ProxyClassLoader.isInvalid(ProxyClassLoader.java:109)[10:org.apache.aries.proxy.impl:1.0.1] 
              at org.apache.aries.proxy.impl.interfaces.InterfaceProxyGenerator.getProxyInstance(InterfaceProxyGenerator.java:84)[10:org.apache.aries.proxy.impl:1.0.1] 
              at org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:72)[10:org.apache.aries.proxy.impl:1.0.1] 
              at org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingInterceptingProxy(AbstractProxyManager.java:75)[10:org.apache.aries.proxy.impl:1.0.1] 
              at org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingProxy(AbstractProxyManager.java:40)[10:org.apache.aries.proxy.impl:1.0.1] 
              at org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.createProxy(AbstractServiceReferenceRecipe.java:306)[7:org.apache.aries.blueprint.core:1.1.0] 
              at org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:99)[7:org.apache.aries.blueprint.core:1.1.0] 
              ... 35 more
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            yavalek Valentin Mayamsin
            Votes:
            2 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: