[ 
https://issues.apache.org/jira/browse/FELIX-2348?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pierre De Rop updated FELIX-2348:
---------------------------------

    Attachment: FELIX-2348.patch

attached a proposed patch, which registers the original resource filter into 
actual resource dependency.

> DM/ ResourceAdapter NPE
> -----------------------
>
>                 Key: FELIX-2348
>                 URL: https://issues.apache.org/jira/browse/FELIX-2348
>             Project: Felix
>          Issue Type: Bug
>          Components: Dependency Manager
>            Reporter: Pierre De Rop
>         Attachments: FELIX-2348.patch
>
>
> (this issue concerns Dependency manager in the trunk)
> When declaring a ResourceAdapter and a Resource Provider, I always get the 
> following NPE:
> Invocation of 'add' failed. - java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at 
> org.apache.felix.dm.impl.InvocationUtil.invokeMethod(InvocationUtil.java:37)
>         at 
> org.apache.felix.dm.impl.InvocationUtil.invokeCallbackMethod(InvocationUtil.java:12)
>         at 
> org.apache.felix.dm.impl.dependencies.DependencyBase.invokeCallbackMethod(DependencyBase.java:35)
>         at 
> org.apache.felix.dm.impl.dependencies.ServiceDependencyImpl.invokeAdded(ServiceDependencyImpl.java:406)
>         at 
> org.apache.felix.dm.impl.dependencies.ServiceDependencyImpl.addedService(ServiceDependencyImpl.java:398)
>         at 
> org.apache.felix.dm.impl.tracker.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1086)
>         at 
> org.apache.felix.dm.impl.tracker.AbstractTracked.trackAdding(AbstractTracked.java:286)
>         at 
> org.apache.felix.dm.impl.tracker.AbstractTracked.track(AbstractTracked.java:232)
>         at 
> org.apache.felix.dm.impl.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:957)
>         at 
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:878)
>         at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:732)
>         at 
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
>         at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3587)
>         at org.apache.felix.framework.Felix.access$000(Felix.java:40)
>         at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:625)
>         at 
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:90)
>         at org.apache.felix.framework.Felix.registerService(Felix.java:2711)
>         at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:252)
>         at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:230)
>         at 
> org.apache.felix.dm.impl.dependencies.ResourceDependencyImpl.start(ResourceDependencyImpl.java:78)
>         at 
> org.apache.felix.dm.impl.ServiceImpl.startTrackingRequired(ServiceImpl.java:629)
>         at 
> org.apache.felix.dm.impl.ServiceImpl.access$100(ServiceImpl.java:51)
>         at org.apache.felix.dm.impl.ServiceImpl$2.run(ServiceImpl.java:142)
>         at 
> org.apache.felix.dm.impl.SerialExecutor$1.run(SerialExecutor.java:47)
>         at 
> org.apache.felix.dm.impl.SerialExecutor.scheduleNext(SerialExecutor.java:84)
>         at 
> org.apache.felix.dm.impl.SerialExecutor.execute(SerialExecutor.java:68)
>         at 
> org.apache.felix.dm.impl.ServiceImpl.calculateStateChanges(ServiceImpl.java:222)
>         at org.apache.felix.dm.impl.ServiceImpl.start(ServiceImpl.java:333)
>         at 
> org.apache.felix.dm.DependencyManager.add(DependencyManager.java:94)
>         at 
> org.apache.felix.dm.impl.AbstractDecorator.added(AbstractDecorator.java:93)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at 
> org.apache.felix.dm.impl.InvocationUtil.invokeMethod(InvocationUtil.java:37)
>         at 
> org.apache.felix.dm.impl.InvocationUtil.invokeCallbackMethod(InvocationUtil.java:12)
>         at 
> org.apache.felix.dm.impl.dependencies.DependencyBase.invokeCallbackMethod(DependencyBase.java:35)
>         at 
> org.apache.felix.dm.impl.dependencies.ResourceDependencyImpl.invokeAdded(ResourceDependencyImpl.java:163)
>         at 
> org.apache.felix.dm.impl.dependencies.ResourceDependencyImpl.added(ResourceDependencyImpl.java:111)
>         at 
> org.apache.felix.dm.test.ResourceAdapterTest$ResourceProvider.add(ResourceAdapterTest.java:139)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at 
> org.apache.felix.dm.impl.InvocationUtil.invokeMethod(InvocationUtil.java:37)
>         at 
> org.apache.felix.dm.impl.InvocationUtil.invokeCallbackMethod(InvocationUtil.java:12)
>         at 
> org.apache.felix.dm.impl.dependencies.DependencyBase.invokeCallbackMethod(DependencyBase.java:35)
>         at 
> org.apache.felix.dm.impl.dependencies.ServiceDependencyImpl.invokeAdded(ServiceDependencyImpl.java:406)
>         at 
> org.apache.felix.dm.impl.dependencies.ServiceDependencyImpl.addedService(ServiceDependencyImpl.java:393)
>         at 
> org.apache.felix.dm.impl.tracker.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1086)
>         at 
> org.apache.felix.dm.impl.tracker.AbstractTracked.trackAdding(AbstractTracked.java:286)
>         at 
> org.apache.felix.dm.impl.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
>         at 
> org.apache.felix.dm.impl.tracker.ServiceTracker.open(ServiceTracker.java:342)
>         at 
> org.apache.felix.dm.impl.tracker.ServiceTracker.open(ServiceTracker.java:276)
>         at 
> org.apache.felix.dm.impl.dependencies.ServiceDependencyImpl.start(ServiceDependencyImpl.java:353)
>         at 
> org.apache.felix.dm.impl.ServiceImpl.startTrackingOptional(ServiceImpl.java:609)
>         at 
> org.apache.felix.dm.impl.ServiceImpl.bindService(ServiceImpl.java:545)
>         at 
> org.apache.felix.dm.impl.ServiceImpl.access$400(ServiceImpl.java:51)
>         at org.apache.felix.dm.impl.ServiceImpl$7.run(ServiceImpl.java:172)
>         at 
> org.apache.felix.dm.impl.SerialExecutor$1.run(SerialExecutor.java:47)
>         at 
> org.apache.felix.dm.impl.SerialExecutor.scheduleNext(SerialExecutor.java:84)
>         at 
> org.apache.felix.dm.impl.SerialExecutor.access$000(SerialExecutor.java:33)
>         at 
> org.apache.felix.dm.impl.SerialExecutor$1.run(SerialExecutor.java:50)
>         at 
> org.apache.felix.dm.impl.SerialExecutor.scheduleNext(SerialExecutor.java:84)
>         at 
> org.apache.felix.dm.impl.SerialExecutor.execute(SerialExecutor.java:68)
>         at 
> org.apache.felix.dm.impl.ServiceImpl.calculateStateChanges(ServiceImpl.java:222)
>         at org.apache.felix.dm.impl.ServiceImpl.start(ServiceImpl.java:333)
>         at 
> org.apache.felix.dm.DependencyManager.add(DependencyManager.java:94)
>         at 
> org.apache.felix.dm.test.ResourceAdapterTest.testBasicResourceAdapter(ResourceAdapterTest.java:75)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at 
> org.ops4j.pax.exam.junit.extender.impl.internal.CallableTestMethodImpl.injectContextAndInvoke(CallableTestMethodImpl.java:130)
>         at 
> org.ops4j.pax.exam.junit.extender.impl.internal.CallableTestMethodImpl.call(CallableTestMethodImpl.java:101)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at 
> org.ops4j.pax.exam.rbc.internal.RemoteBundleContextImpl.remoteCall(RemoteBundleContextImpl.java:80)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
>         at sun.rmi.transport.Transport$1.run(Transport.java:159)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
>         at 
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
>         at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
>         at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
>         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:619)
> Caused by: java.lang.NullPointerException
>         at 
> org.osgi.framework.FrameworkUtil$FilterImpl$Parser.<init>(FrameworkUtil.java:1212)
>         at 
> org.osgi.framework.FrameworkUtil$FilterImpl.newInstance(FrameworkUtil.java:377)
>         at 
> org.osgi.framework.FrameworkUtil.createFilter(FrameworkUtil.java:76)
>         at 
> org.apache.felix.framework.BundleContextImpl.createFilter(BundleContextImpl.java:102)
>         at 
> org.apache.felix.dm.test.ResourceAdapterTest$ResourceProvider.add(ResourceAdapterTest.java:128)
>         ... 98 more
> (I will commit a testcase for this issue)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to