Program: 45550
Project: 45550
Buggy source:
/** 
 * runs the WebServerLauncher
 * @param args the command line arguments
 */
public static void main(String[] args){
  try {
    InputStream is=WebServerLauncher.class.getResourceAsStream("String_Node_Str");
    Properties props=new Properties();
    props.load(is);
    for (    Object prop : props.keySet()) {
      if (!System.getProperties().containsKey(prop)) {
        System.setProperty((String)prop,props.getProperty((String)prop));
      }
    }
  }
 catch (  Exception ex) {
    LOGGER.log(Level.SEVERE,"String_Node_Str",ex);
    System.exit(-1);
  }
  if (!parseArguments(args)) {
    usage();
    System.exit(-1);
  }
  File logDir=new File(SystemPropertyUtil.getProperty("String_Node_Str"));
  if (!logDir.exists() && !logDir.mkdirs()) {
    System.err.println("String_Node_Str" + "String_Node_Str" + logDir + "String_Node_Str");
  }
  if (System.getProperty("String_Node_Str") == null && System.getProperty("String_Node_Str") == null) {
    try {
      InputStream logConfig;
      Properties p=new Properties();
      p.load(WebServerLauncher.class.getResourceAsStream("String_Node_Str"));
      String filePattern=p.getProperty("String_Node_Str");
      if (filePattern != null && filePattern.contains("String_Node_Str")) {
        p.setProperty("String_Node_Str",filePattern.replaceAll("String_Node_Str",logDir.getPath()));
        File tmpLog=File.createTempFile("String_Node_Str","String_Node_Str");
        p.store(new FileOutputStream(tmpLog),null);
        logConfig=new FileInputStream(tmpLog);
      }
 else {
        logConfig=WebServerLauncher.class.getResourceAsStream("String_Node_Str");
      }
      LogManager.getLogManager().readConfiguration(logConfig);
    }
 catch (    IOException ioe) {
      LOGGER.log(Level.WARNING,"String_Node_Str",ioe);
    }
  }
  if (System.getProperty(Constants.WEBSERVER_PORT_PROP) == null) {
    System.setProperty(Constants.WEBSERVER_PORT_PROP,"String_Node_Str");
  }
  String killSwitchStr=System.getProperty(WEBSERVER_KILLSWITCH_PROPERTY);
  if (killSwitchStr != null) {
    KillSwitch ks=new KillSwitch(Integer.parseInt(killSwitchStr));
    new Thread(ks).start();
  }
  try {
    File webDir=new File(RunUtil.getRunDir(),"String_Node_Str");
    webDir.mkdirs();
    if (!compareVersions(RunUtil.getRunDir())) {
      System.setProperty(Constants.WEBSERVER_NEWVERSION_PROP,"String_Node_Str");
      extractWebserverJars(webDir);
      writeVersion(RunUtil.getRunDir());
    }
    List<URL> urls=new ArrayList<URL>();
    for (    File jar : webDir.listFiles()) {
      URL u=jar.toURI().toURL();
      LOGGER.fine("String_Node_Str" + u);
      urls.add(u);
    }
    classLoader=new LauncherClassLoader(urls.toArray(new URL[0]));
    Thread.currentThread().setContextClassLoader(classLoader);
    String launchClass=System.getProperty(WEBSERVER_LAUNCH_CLASS_PROPERTY,WEBSERVER_LAUNCH_CLASS_DEFAULT);
    Class c=classLoader.loadClass(launchClass);
    c.newInstance();
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str" + SystemPropertyUtil.getProperty("String_Node_Str"));
    System.out.println("String_Node_Str" + SystemPropertyUtil.getProperty(Constants.WEBSERVER_URL_PROP));
    System.out.println("String_Node_Str");
  }
 catch (  Exception ex) {
    LOGGER.log(Level.SEVERE,"String_Node_Str",ex);
    System.out.println("String_Node_Str" + ex + "String_Node_Str");
    ex.printStackTrace();
    System.exit(-1);
  }
}

Fixed version (ground truth):
/** 
 * runs the WebServerLauncher
 * @param args the command line arguments
 */
public static void main(String[] args){
  try {
    InputStream is=WebServerLauncher.class.getResourceAsStream("String_Node_Str");
    Properties props=new Properties();
    props.load(is);
    for (    Object prop : props.keySet()) {
      if (!System.getProperties().containsKey(prop)) {
        System.setProperty((String)prop,props.getProperty((String)prop));
      }
    }
  }
 catch (  Exception ex) {
    LOGGER.log(Level.SEVERE,"String_Node_Str",ex);
    System.exit(-1);
  }
  if (!parseArguments(args)) {
    usage();
    System.exit(-1);
  }
  File logDir=new File(SystemPropertyUtil.getProperty("String_Node_Str"));
  if (!logDir.exists() && !logDir.mkdirs()) {
    System.err.println("String_Node_Str" + "String_Node_Str" + logDir + "String_Node_Str");
  }
  if (System.getProperty("String_Node_Str") == null && System.getProperty("String_Node_Str") == null) {
    try {
      InputStream logConfig;
      Properties p=new Properties();
      p.load(WebServerLauncher.class.getResourceAsStream("String_Node_Str"));
      String filePattern=p.getProperty("String_Node_Str");
      if (filePattern != null && filePattern.contains("String_Node_Str")) {
        String quoted=logDir.getPath().replace('\\','/');
        p.setProperty("String_Node_Str",filePattern.replaceAll("String_Node_Str",quoted));
        File tmpLog=File.createTempFile("String_Node_Str","String_Node_Str");
        p.store(new FileOutputStream(tmpLog),null);
        logConfig=new FileInputStream(tmpLog);
      }
 else {
        logConfig=WebServerLauncher.class.getResourceAsStream("String_Node_Str");
      }
      LogManager.getLogManager().readConfiguration(logConfig);
    }
 catch (    IOException ioe) {
      LOGGER.log(Level.WARNING,"String_Node_Str",ioe);
    }
  }
  if (System.getProperty(Constants.WEBSERVER_PORT_PROP) == null) {
    System.setProperty(Constants.WEBSERVER_PORT_PROP,"String_Node_Str");
  }
  String killSwitchStr=System.getProperty(WEBSERVER_KILLSWITCH_PROPERTY);
  if (killSwitchStr != null) {
    KillSwitch ks=new KillSwitch(Integer.parseInt(killSwitchStr));
    new Thread(ks).start();
  }
  try {
    File webDir=new File(RunUtil.getRunDir(),"String_Node_Str");
    webDir.mkdirs();
    if (!compareVersions(RunUtil.getRunDir())) {
      System.setProperty(Constants.WEBSERVER_NEWVERSION_PROP,"String_Node_Str");
      extractWebserverJars(webDir);
      writeVersion(RunUtil.getRunDir());
    }
    List<URL> urls=new ArrayList<URL>();
    for (    File jar : webDir.listFiles()) {
      URL u=jar.toURI().toURL();
      LOGGER.fine("String_Node_Str" + u);
      urls.add(u);
    }
    classLoader=new LauncherClassLoader(urls.toArray(new URL[0]));
    Thread.currentThread().setContextClassLoader(classLoader);
    String launchClass=System.getProperty(WEBSERVER_LAUNCH_CLASS_PROPERTY,WEBSERVER_LAUNCH_CLASS_DEFAULT);
    Class c=classLoader.loadClass(launchClass);
    c.newInstance();
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str" + SystemPropertyUtil.getProperty("String_Node_Str"));
    System.out.println("String_Node_Str" + SystemPropertyUtil.getProperty(Constants.WEBSERVER_URL_PROP));
    System.out.println("String_Node_Str");
  }
 catch (  Exception ex) {
    LOGGER.log(Level.SEVERE,"String_Node_Str",ex);
    System.out.println("String_Node_Str" + ex + "String_Node_Str");
    ex.printStackTrace();
    System.exit(-1);
  }
}