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