Program: 153248
Project: 153248
Buggy source:
public static void main(String[] args){
  if (args.length == 0 && craftGUI == null) {
    craftGUI=new CraftProxyGUI();
    craftGUI.setVisible(true);
    return;
  }
  Logging.log("String_Node_Str" + VersionNumbering.version);
  String listenHostname=null;
  String defaultHostname=null;
  String usageString="String_Node_Str";
  if (args.length < 2) {
    Logging.log("String_Node_Str" + usageString);
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    if (consoleInput) {
      System.exit(0);
    }
    return;
  }
 else {
    try {
      listenHostname=args[0];
      defaultHostname=args[1];
      for (int pos=2; pos < args.length; pos++) {
        if (args[pos].equals("String_Node_Str"))         Globals.setVerbose(true);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setInfo(true);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setAuth(true);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setAuth(false);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setVaryLocalhost(false);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setVaryLocalhost(true);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setDebug(true);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setBridgingConnection(true);
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setClientVersion(Integer.parseInt(args[pos + 1]));
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setPassword(args[pos + 1]);
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str"))         Globals.setQuiet(true);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setFlood(false);
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setCacheLimit(Integer.parseInt(args[pos + 1]));
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          ReconnectCache.init(args[pos + 1]);
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          BanList.init(args[pos + 1]);
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setlocalCache(true);
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setCompressInfo(true);
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setDimension(Byte.parseByte(args[pos + 1]));
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setMonitor(Integer.parseInt(args[pos + 1]));
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setSeed(Long.parseLong(args[pos + 1]));
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Logging.setFilename(args[pos + 1]);
          pos++;
        }
 else {
          System.out.println("String_Node_Str" + args[pos]);
          System.exit(0);
        }
      }
    }
 catch (    NumberFormatException nfe) {
      Logging.log("String_Node_Str");
      Logging.log("String_Node_Str" + usageString);
      System.exit(0);
      return;
    }
  }
  if (!Globals.isAuth()) {
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
  }
 else {
    Logging.log("String_Node_Str");
  }
  if (!ReconnectCache.isSet()) {
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
  }
  cacheDir.mkdirs();
  Logging.log("String_Node_Str");
  ProxyListener server=new ProxyListener(listenHostname,defaultHostname);
  server.start();
  BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
  if (consoleInput) {
    try {
      while (!in.readLine().equals("String_Node_Str")) {
      }
    }
 catch (    IOException e) {
    }
    try {
      in.close();
    }
 catch (    IOException e) {
    }
    ReconnectCache.save();
    server.interrupt();
  }
 else {
    Logging.log("String_Node_Str");
    boolean enabled=true;
    while (enabled) {
      try {
synchronized (sleeper) {
          while (serverEnabled) {
            sleeper.wait();
          }
        }
      }
 catch (      InterruptedException ie) {
        ReconnectCache.save();
        server.interrupt();
        enabled=false;
      }
    }
  }
  Logging.log("String_Node_Str");
  try {
    server.join();
  }
 catch (  InterruptedException e) {
    Logging.log("String_Node_Str");
  }
  ReconnectCache.save();
  Logging.flush();
  if (Main.craftGUI != null) {
    craftGUI.safeSetStatus("String_Node_Str");
    craftGUI.safeSetButton("String_Node_Str");
  }
}

Fixed version (ground truth):
public static void main(String[] args){
  if (args.length == 0 && craftGUI == null) {
    craftGUI=new CraftProxyGUI();
    craftGUI.setVisible(true);
    return;
  }
  Logging.log("String_Node_Str" + VersionNumbering.version);
  String listenHostname=null;
  String defaultHostname=null;
  String usageString="String_Node_Str";
  if (args.length < 2) {
    Logging.log("String_Node_Str" + usageString);
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    if (consoleInput) {
      System.exit(0);
    }
    return;
  }
 else {
    try {
      listenHostname=args[0];
      defaultHostname=args[1];
      for (int pos=2; pos < args.length; pos++) {
        if (args[pos].equals("String_Node_Str"))         Globals.setVerbose(true);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setInfo(true);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setAuth(true);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setAuth(false);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setVaryLocalhost(false);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setVaryLocalhost(true);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setDebug(true);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setBridgingConnection(true);
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setClientVersion(Integer.parseInt(args[pos + 1]));
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setPassword(args[pos + 1]);
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str"))         Globals.setQuiet(true);
 else         if (args[pos].equals("String_Node_Str"))         Globals.setFlood(false);
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setCacheLimit(Integer.parseInt(args[pos + 1]));
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          ReconnectCache.init(args[pos + 1]);
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          BanList.init(args[pos + 1]);
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setlocalCache(true);
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setCompressInfo(true);
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setDimension(Byte.parseByte(args[pos + 1]));
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setMonitor(Integer.parseInt(args[pos + 1]));
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Globals.setSeed(Long.parseLong(args[pos + 1]));
          pos++;
        }
 else         if (args[pos].equals("String_Node_Str")) {
          Logging.setFilename(args[pos + 1]);
          pos++;
        }
 else {
          System.out.println("String_Node_Str" + args[pos]);
          System.exit(0);
        }
      }
    }
 catch (    NumberFormatException nfe) {
      Logging.log("String_Node_Str");
      Logging.log("String_Node_Str" + usageString);
      System.exit(0);
      return;
    }
  }
  if (!Globals.isAuth()) {
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
  }
 else {
    Logging.log("String_Node_Str");
  }
  if (!ReconnectCache.isSet()) {
    Logging.log("String_Node_Str");
    Logging.log("String_Node_Str");
  }
  cacheDir.mkdirs();
  Logging.log("String_Node_Str");
  server=new ProxyListener(listenHostname,defaultHostname);
  server.start();
  BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
  if (consoleInput) {
    try {
      while (!in.readLine().equals("String_Node_Str")) {
      }
    }
 catch (    IOException e) {
    }
    try {
      in.close();
    }
 catch (    IOException e) {
    }
    ReconnectCache.save();
    server.interrupt();
  }
 else {
    Logging.log("String_Node_Str");
    boolean enabled=true;
    while (enabled) {
      try {
        server.join();
      }
 catch (      InterruptedException ie) {
        server.interrupt();
        enabled=false;
      }
      ReconnectCache.save();
    }
  }
  Logging.log("String_Node_Str");
  server.interrupt();
  try {
    server.join();
  }
 catch (  InterruptedException e) {
    Logging.log("String_Node_Str");
  }
  ReconnectCache.save();
  Logging.flush();
  if (Main.craftGUI != null) {
    craftGUI.safeSetStatus("String_Node_Str");
    craftGUI.safeSetButton("String_Node_Str");
  }
}