Program: 87119
Project: 87119
Buggy source:
@Override public void chat(String message){
  if (message.length() > 100) {
    kick("String_Node_Str");
  }
  message=message.trim();
  Matcher m=badChatPattern.matcher(message);
  String out=message;
  if (m.find() && !this.canIgnoreRestrictions()) {
    out=message.replaceAll(m.group(),"String_Node_Str");
  }
  message=out;
  if (message.startsWith("String_Node_Str")) {
    executeCommand(message.split("String_Node_Str"));
  }
 else {
    if (isMuted()) {
      notice("String_Node_Str");
    }
 else {
      String format="String_Node_Str" + Colors.WHITE + "String_Node_Str";
      String prefix=getPrefix();
      ArrayList<Player> receivers=Canary.getServer().getPlayerList();
      ChatHook hook=new ChatHook(this,prefix,message,format,receivers);
      Canary.hooks().callHook(hook);
      if (hook.isCanceled()) {
        return;
      }
      receivers=hook.getReceiverList();
      String formattedMessage=hook.getFormat().replace("String_Node_Str",hook.getPrefix()).replace("String_Node_Str",getName()).replace("String_Node_Str",getGroup().getName());
      for (      Player player : receivers) {
        if ((formattedMessage.length() - 8 + hook.getMessage().length()) >= 100) {
          player.sendMessage(formattedMessage.replace("String_Node_Str","String_Node_Str"));
          player.sendMessage(hook.getMessage());
        }
 else {
          player.sendMessage(formattedMessage.replace("String_Node_Str",hook.getMessage()));
        }
      }
      Canary.logInfo(TextFormat.removeFormatting(formattedMessage.replace("String_Node_Str",hook.getMessage())));
    }
  }
}

Fixed version (ground truth):
@Override public void chat(String message){
  if (message.length() > 100) {
    kick("String_Node_Str");
  }
  message=message.trim();
  Matcher m=badChatPattern.matcher(message);
  String out=message;
  if (m.find() && !this.canIgnoreRestrictions()) {
    out=message.replaceAll(m.group(),"String_Node_Str");
  }
  message=out;
  if (message.startsWith("String_Node_Str")) {
    executeCommand(message.split("String_Node_Str"));
  }
 else {
    if (isMuted()) {
      notice("String_Node_Str");
    }
 else {
      ArrayList<Player> receivers=Canary.getServer().getPlayerList();
      ChatHook hook=new ChatHook(this,getPrefix(),message,"String_Node_Str" + Colors.WHITE + "String_Node_Str",receivers);
      Canary.hooks().callHook(hook);
      if (hook.isCanceled()) {
        return;
      }
      receivers=hook.getReceiverList();
      String formattedMessage=hook.getFormat().replace("String_Node_Str",hook.getPrefix()).replace("String_Node_Str",getName()).replace("String_Node_Str",getGroup().getName());
      for (      Player player : receivers) {
        if ((formattedMessage.length() - 8 + hook.getMessage().length()) >= 100) {
          player.sendMessage(formattedMessage.replace("String_Node_Str","String_Node_Str"));
          player.sendMessage(hook.getMessage());
        }
 else {
          player.sendMessage(formattedMessage.replace("String_Node_Str",hook.getMessage()));
        }
      }
      Canary.logInfo(TextFormat.removeFormatting(formattedMessage.replace("String_Node_Str",hook.getMessage())));
    }
  }
}