Program: 19529
Project: 19529
Buggy source:
/** 
 * Entry point for the knapsack.  Creates a felix framework and attaches the Log, ConfigAdmin, and Knapsack bundles.  Registers a shutdown hook to cleanup. Based on the example provided at: http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.html
 * @param args
 * @throws IOException
 * @throws BundleException
 * @throws InterruptedException 
 */
public static void main(String[] args){
  long time=System.currentTimeMillis();
  FrameworkFactory frameworkFactory=new FrameworkFactory();
  Logger logger=new Logger();
  int port=DISABLE_SCRIPTS_PORT;
  try {
    final File baseDirectory=getBaseDirectory();
    FSHelper.validateFile(baseDirectory,true,true,false,true);
    createKnapsackLayout(baseDirectory,logger);
    Config config=new Config(baseDirectory);
    if (config.containsKey(Config.CONFIG_DISABLE_SCRIPTS) && config.getBoolean(Config.CONFIG_DISABLE_SCRIPTS)) {
      Random r=new Random();
      port=PORT_START + r.nextInt(MAX_PORT_RANGE);
    }
 else {
      createKnapsackScripts(baseDirectory,port);
    }
    List<BundleActivator> activators=new ArrayList<BundleActivator>();
    if (config.getBoolean(Config.CONFIG_KEY_BUILTIN_LOGGER))     activators.add(new org.apache.felix.log.Activator());
    if (config.getBoolean(Config.CONFIG_KEY_BUILTIN_CONFIGADMIN))     activators.add(new ConfigurationManager());
    activators.add(new org.knapsack.Activator(config,logger,port));
    config.put(FELIX_LOGGER_INSTANCE,logger);
    config.put(FELIX_BUNDLE_INSTANCES,activators);
    final Framework framework=frameworkFactory.newFramework(config);
    Runtime.getRuntime().addShutdownHook(new Thread("String_Node_Str"){
      public void run(){
        try {
          if (framework != null) {
            framework.stop();
            framework.waitForStop(0);
          }
          FSHelper.deleteFilesInDir(scriptDir);
        }
 catch (        Exception ex) {
          System.err.println("String_Node_Str" + ex);
        }
      }
    }
);
    framework.init();
    framework.start();
    logger.log(LogService.LOG_INFO,"String_Node_Str" + ((double)(System.currentTimeMillis() - time) / 1000) + "String_Node_Str"+ activators);
  }
 catch (  Exception e) {
    logger.log(LogService.LOG_INFO,"String_Node_Str",e);
    System.exit(1);
  }
}

Fixed version (ground truth):
/** 
 * Entry point for the knapsack.  Creates a felix framework and attaches the Log, ConfigAdmin, and Knapsack bundles.  Registers a shutdown hook to cleanup. Based on the example provided at: http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.html
 * @param args
 * @throws IOException
 * @throws BundleException
 * @throws InterruptedException 
 */
public static void main(String[] args){
  long time=System.currentTimeMillis();
  FrameworkFactory frameworkFactory=new FrameworkFactory();
  Logger logger=new Logger();
  int port=DISABLE_SCRIPTS_PORT;
  try {
    final File baseDirectory=getBaseDirectory();
    FSHelper.validateFile(baseDirectory,true,true,false,true);
    createKnapsackLayout(baseDirectory,logger);
    Config config=new Config(baseDirectory);
    if (!config.containsKey(Config.CONFIG_DISABLE_SCRIPTS) || !config.getBoolean(Config.CONFIG_DISABLE_SCRIPTS)) {
      Random r=new Random();
      port=PORT_START + r.nextInt(MAX_PORT_RANGE);
      createKnapsackScripts(baseDirectory,port);
    }
    List<BundleActivator> activators=new ArrayList<BundleActivator>();
    if (config.getBoolean(Config.CONFIG_KEY_BUILTIN_LOGGER))     activators.add(new org.apache.felix.log.Activator());
    if (config.getBoolean(Config.CONFIG_KEY_BUILTIN_CONFIGADMIN))     activators.add(new ConfigurationManager());
    activators.add(new org.knapsack.Activator(config,logger,port));
    config.put(FELIX_LOGGER_INSTANCE,logger);
    config.put(FELIX_BUNDLE_INSTANCES,activators);
    final Framework framework=frameworkFactory.newFramework(config);
    Runtime.getRuntime().addShutdownHook(new Thread("String_Node_Str"){
      public void run(){
        try {
          if (framework != null) {
            framework.stop();
            framework.waitForStop(0);
          }
          FSHelper.deleteFilesInDir(scriptDir);
        }
 catch (        Exception ex) {
          System.err.println("String_Node_Str" + ex);
        }
      }
    }
);
    framework.init();
    framework.start();
    logger.log(LogService.LOG_INFO,"String_Node_Str" + ((double)(System.currentTimeMillis() - time) / 1000) + "String_Node_Str"+ activators);
  }
 catch (  Exception e) {
    logger.log(LogService.LOG_INFO,"String_Node_Str",e);
    System.exit(1);
  }
}