Program: 94135
Project: 94135
Buggy source:
public void start(final BundleContext context) throws Exception {
}

Fixed version (ground truth):
public void start(final BundleContext context) throws Exception {
  if (ENABLED) {
    context.registerService(Namespace.class,new CompositeNamespace(),null);
    context.registerService(ContainerTypeDescription.class,new ContainerTypeDescription("String_Node_Str",new CompositeDiscoveryContainerInstantiator(),"String_Node_Str",true,false),null);
    context.registerService(ContainerTypeDescription.class,new ContainerTypeDescription("String_Node_Str",new SingletonDiscoveryContainerInstantiator(),"String_Node_Str",true,false),null);
    context.registerService(ContainerTypeDescription.class,new ContainerTypeDescription("String_Node_Str",new CompositeDiscoveryContainerInstantiator(),"String_Node_Str"),null);
    context.registerService(ContainerTypeDescription.class,new ContainerTypeDescription("String_Node_Str",new CompositeDiscoveryContainerInstantiator(),"String_Node_Str"),null);
    final Hashtable<String,Object> props=new Hashtable<String,Object>();
    props.put(IDiscoveryLocator.CONTAINER_NAME,CompositeDiscoveryContainer.NAME);
    props.put(Constants.SERVICE_RANKING,new Integer(1000));
    String[] clazzes=new String[]{IDiscoveryService.class.getName(),IDiscoveryLocator.class.getName(),IDiscoveryAdvertiser.class.getName()};
    context.registerService(clazzes,new ServiceFactory(){
      public Object getService(      final Bundle bundle,      final ServiceRegistration registration){
        final CompositeDiscoveryContainer cdc;
        cdc=new CompositeDiscoveryContainer(new HashSet());
        try {
          cdc.connect(null,null);
        }
 catch (        final ContainerConnectException e) {
          Trace.catching(Activator.PLUGIN_ID,Activator.PLUGIN_ID + "String_Node_Str",this.getClass(),"String_Node_Str",e);
          return null;
        }
        Filter filter=null;
        try {
          final String filter2="String_Node_Str" + Constants.OBJECTCLASS + "String_Node_Str"+ IDiscoveryAdvertiser.class.getName()+ "String_Node_Str"+ IDiscoveryLocator.CONTAINER_NAME+ "String_Node_Str"+ CompositeDiscoveryContainer.NAME+ "String_Node_Str";
          filter=context.createFilter(filter2);
          context.addServiceListener(new ServiceListener(){
            public void serviceChanged(            final ServiceEvent arg0){
              final Object anIDS=context.getService(arg0.getServiceReference());
switch (arg0.getType()) {
case ServiceEvent.REGISTERED:
                cdc.addContainer(anIDS);
              break;
case ServiceEvent.UNREGISTERING:
            cdc.removeContainer(anIDS);
          break;
default :
        break;
    }
  }
}
,filter2);
}
 catch (final InvalidSyntaxException e) {
}
final ServiceTracker tracker=new ServiceTracker(context,filter,null);
tracker.open();
final Object[] services=tracker.getServices();
tracker.close();
if (services != null) {
for (int i=0; i < services.length; i++) {
  final Object obj=services[i];
  if (obj != cdc)   cdc.addContainer(obj);
}
}
return cdc;
}
public void ungetService(final Bundle bundle,final ServiceRegistration registration,final Object service){
((CompositeDiscoveryContainer)service).dispose();
}
}
,props);
}
}