Program: 113606
Project: 113606
Buggy source:
/** 
 * @param args the command line arguments
 */
public static void main(String[] args){
  String configFileName="String_Node_Str";
  String dbsConfigFileName="String_Node_Str";
  if (args.length < 1 || args.length > 2) {
    System.out.println("String_Node_Str" + configFileName);
    System.out.println("String_Node_Str" + dbsConfigFileName);
  }
 else {
    configFileName=args[0];
    if (args.length == 2)     dbsConfigFileName=args[1];
 else     System.out.println("String_Node_Str" + dbsConfigFileName);
  }
  DIRConfig config=null;
  try {
    config=new DIRConfig(configFileName);
  }
 catch (  IOException ex) {
    ex.printStackTrace();
    return;
  }
  BabuDBConfig dbsConfig=null;
  try {
    dbsConfig=new ReplicationConfig(dbsConfigFileName);
  }
 catch (  IOException e) {
    try {
      dbsConfig=new BabuDBConfig(dbsConfigFileName);
    }
 catch (    IOException ex) {
      ex.printStackTrace();
      return;
    }
  }
  Logging.start(config.getDebugLevel(),config.getDebugCategories());
  if (Logging.isInfo())   Logging.logMessage(Logging.LEVEL_INFO,Category.misc,(Object)null,"String_Node_Str",System.getProperty("String_Node_Str"));
  try {
    final DIRRequestDispatcher rq=new DIRRequestDispatcher(config,dbsConfig);
    rq.startup();
    Runtime.getRuntime().addShutdownHook(new Thread(){
      @Override public void run(){
        try {
          if (Logging.isInfo())           Logging.logMessage(Logging.LEVEL_INFO,Category.lifecycle,this,"String_Node_Str");
          rq.shutdown();
          if (Logging.isInfo())           Logging.logMessage(Logging.LEVEL_INFO,Category.lifecycle,this,"String_Node_Str");
        }
 catch (        Exception ex) {
          ex.printStackTrace();
        }
      }
    }
);
  }
 catch (  Exception ex) {
    Logging.logMessage(Logging.LEVEL_CRIT,null,"String_Node_Str");
    Logging.logError(Logging.LEVEL_CRIT,null,ex);
    System.exit(1);
  }
}

Fixed version (ground truth):
/** 
 * @param args the command line arguments
 */
public static void main(String[] args){
  String configFileName="String_Node_Str";
  String dbsConfigFileName="String_Node_Str";
  if (args.length < 1 || args.length > 2) {
    System.out.println("String_Node_Str" + configFileName);
    System.out.println("String_Node_Str" + dbsConfigFileName);
  }
 else {
    configFileName=args[0];
    if (args.length == 2)     dbsConfigFileName=args[1];
 else     System.out.println("String_Node_Str" + dbsConfigFileName);
  }
  DIRConfig config=null;
  try {
    config=new DIRConfig(configFileName);
  }
 catch (  IOException ex) {
    ex.printStackTrace();
    return;
  }
  BabuDBConfig dbsConfig=null;
  try {
    dbsConfig=new ReplicationConfig(dbsConfigFileName);
  }
 catch (  Throwable e) {
    try {
      dbsConfig=new BabuDBConfig(dbsConfigFileName);
    }
 catch (    IOException ex) {
      ex.printStackTrace();
      return;
    }
  }
  Logging.start(config.getDebugLevel(),config.getDebugCategories());
  if (Logging.isInfo())   Logging.logMessage(Logging.LEVEL_INFO,Category.misc,(Object)null,"String_Node_Str",System.getProperty("String_Node_Str"));
  try {
    final DIRRequestDispatcher rq=new DIRRequestDispatcher(config,dbsConfig);
    rq.startup();
    Runtime.getRuntime().addShutdownHook(new Thread(){
      @Override public void run(){
        try {
          if (Logging.isInfo())           Logging.logMessage(Logging.LEVEL_INFO,Category.lifecycle,this,"String_Node_Str");
          rq.shutdown();
          if (Logging.isInfo())           Logging.logMessage(Logging.LEVEL_INFO,Category.lifecycle,this,"String_Node_Str");
        }
 catch (        Exception ex) {
          ex.printStackTrace();
        }
      }
    }
);
  }
 catch (  Exception ex) {
    Logging.logMessage(Logging.LEVEL_CRIT,null,"String_Node_Str");
    Logging.logError(Logging.LEVEL_CRIT,null,ex);
    System.exit(1);
  }
}