Hi Rajini,

Thanks for reporting this issue. Could you please file a JIRA for this.

I basically agree that this is probably a synchronization issue, which
might not be caught correctly right now.

Could you also try the SCR 1.0.1-SNAPSHOT ? This contains some more
logging, which could help resolve the issue.

Thanks and Regards
Felix

Am Mittwoch, den 16.04.2008, 08:35 +0100 schrieb Rajini Sivaram:
> Hello,
> 
> I get an intermittent (very rare) exception while running tests using
> declarative services under Felix.
> 
> The exception stack trace shows:
> 
> java.lang.IllegalArgumentException: Service object cannot be null.
>         at org.apache.felix.framework.Felix.registerService(Felix.java:2661)
>         at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:254)
>         at
> org.apache.felix.scr.impl.AbstractComponentManager.registerComponentService(AbstractComponentManager.java:598)
>         at
> org.apache.felix.scr.impl.AbstractComponentManager.activateInternal(AbstractComponentManager.java:426)
>         at
> org.apache.felix.scr.impl.AbstractComponentManager.enableInternal(AbstractComponentManager.java:323)
>         at
> org.apache.felix.scr.impl.AbstractComponentManager.access$000(AbstractComponentManager.java:36)
>         at
> org.apache.felix.scr.impl.AbstractComponentManager$1.run(AbstractComponentManager.java:94)
>         at
> org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:85)
> 
> Whenever I have seen the exception, logs suggest that the components were
> being reactivated at around the same time. The stack trace from the debugger
> when reactivate occurs shows:
> 
>         ImmediateComponentManager.disposeImplementationObject(Object,
> ComponentContext) line: 273
>         ImmediateComponentManager.deleteComponent() line: 151
> 
> ImmediateComponentManager(AbstractComponentManager).deactivateInternal()
> line: 469
>         ImmediateComponentManager(AbstractComponentManager).reactivate()
> line: 142
>         ImmediateComponentManager.reconfigure(Dictionary) line: 399
>         ImmediateComponentManager$1.updated(Dictionary) line: 90
>         ConfigurationManager$ManagedServiceUpdate.run() line: 863
>         UpdateThread.run() line: 89
> 
> Would it be possible to introduce some synchronization during
> activate/deactivate to avoid the service/component being set to null? I am
> using Felix framework 1.1.0-SNAPSHOT and SCR 1.0.0.
> 
> 
> Thank you...
> 
> Regards,
> 
> Rajini

Reply via email to