Program: 98577
Project: 98577
Buggy source:
public void parse() throws IOException {
  for (  Entry<Integer,String> entry : inputBuffer.entrySet()) {
    String command=entry.getValue();
    if (command.startsWith("String_Node_Str")) {
      send("String_Node_Str" + command.split("String_Node_Str")[1]);
      continue;
    }
 else     if (command.startsWith("String_Node_Str")) {
      String[] args=command.split("String_Node_Str");
      String result="String_Node_Str";
      for (int i=2; i < args.length; i++) {
        if (i != 2) {
          result+="String_Node_Str";
        }
        result+=args[i];
      }
      send("String_Node_Str" + args[1] + "String_Node_Str"+ result+ "String_Node_Str");
      System.out.println("String_Node_Str" + args[1] + "String_Node_Str"+ nick+ "String_Node_Str"+ result);
      continue;
    }
 else     if (command.startsWith("String_Node_Str")) {
      String[] args=command.split("String_Node_Str");
      String result="String_Node_Str";
      for (int i=2; i < args.length; i++) {
        if (i != 2) {
          result+="String_Node_Str";
        }
        result+=args[i];
      }
      send("String_Node_Str" + args[1] + "String_Node_Str"+ result);
      System.out.println("String_Node_Str" + args[1] + "String_Node_Str"+ nick+ "String_Node_Str"+ result);
      continue;
    }
 else     if (command.startsWith("String_Node_Str")) {
      String[] args=command.split("String_Node_Str");
      String result="String_Node_Str";
      for (int i=1; i < args.length; i++) {
        if (i != 1) {
          result+="String_Node_Str";
        }
        result+=args[i];
      }
      send("String_Node_Str" + result);
      stop();
      return;
    }
 else     if (command.startsWith("String_Node_Str")) {
      if (!ThreadCommitReader.launched) {
        commitReader=new ThreadCommitReader(this,command.substring(10));
        commitReader.setDaemon(true);
        commitReader.start();
        System.out.println("String_Node_Str");
        continue;
      }
    }
 else     if (command.startsWith("String_Node_Str")) {
      if (commitReader != null)       commitReader.chan=command.substring(12);
      System.out.println("String_Node_Str");
      continue;
    }
    send(command);
  }
  inputBuffer.clear();
  super.parse();
}

Fixed version (ground truth):
public void parse() throws IOException {
synchronized (inputBuffer) {
    for (    Entry<Integer,String> entry : inputBuffer.entrySet()) {
      String command=entry.getValue();
      if (command.startsWith("String_Node_Str")) {
        send("String_Node_Str" + command.split("String_Node_Str")[1]);
        continue;
      }
 else       if (command.startsWith("String_Node_Str")) {
        String[] args=command.split("String_Node_Str");
        String result="String_Node_Str";
        for (int i=2; i < args.length; i++) {
          if (i != 2) {
            result+="String_Node_Str";
          }
          result+=args[i];
        }
        send("String_Node_Str" + args[1] + "String_Node_Str"+ result+ "String_Node_Str");
        System.out.println("String_Node_Str" + args[1] + "String_Node_Str"+ nick+ "String_Node_Str"+ result);
        continue;
      }
 else       if (command.startsWith("String_Node_Str")) {
        String[] args=command.split("String_Node_Str");
        String result="String_Node_Str";
        for (int i=2; i < args.length; i++) {
          if (i != 2) {
            result+="String_Node_Str";
          }
          result+=args[i];
        }
        send("String_Node_Str" + args[1] + "String_Node_Str"+ result);
        System.out.println("String_Node_Str" + args[1] + "String_Node_Str"+ nick+ "String_Node_Str"+ result);
        continue;
      }
 else       if (command.startsWith("String_Node_Str")) {
        String[] args=command.split("String_Node_Str");
        String result="String_Node_Str";
        for (int i=1; i < args.length; i++) {
          if (i != 1) {
            result+="String_Node_Str";
          }
          result+=args[i];
        }
        send("String_Node_Str" + result);
        stop();
        return;
      }
 else       if (command.startsWith("String_Node_Str")) {
        if (!ThreadCommitReader.launched) {
          commitReader=new ThreadCommitReader(this,command.substring(10));
          commitReader.setDaemon(true);
          commitReader.start();
          System.out.println("String_Node_Str");
          continue;
        }
      }
 else       if (command.startsWith("String_Node_Str")) {
        if (commitReader != null)         commitReader.chan=command.substring(12);
        System.out.println("String_Node_Str");
        continue;
      }
      send(command);
      try {
        Thread.sleep(500L);
      }
 catch (      InterruptedException e) {
      }
    }
    inputBuffer.clear();
    super.parse();
  }
}