Program: 86132
Project: 86132
Buggy source:
/** 
 * Instantly starts the arena, teleports players and udpates the arena
 */
public void start(){
  currentingamecount=MinigamesAPI.getAPI().ingame_countdown;
  Util.teleportAllPlayers(currentarena.getArena().getAllPlayers(),currentarena.getArena().spawns);
  final Arena a=this;
  MinigamesAPI.getAPI().pinstances.get(plugin).scoreboardManager.updateScoreboard(a);
  currenttaskid=Bukkit.getScheduler().runTaskTimer(MinigamesAPI.getAPI(),new Runnable(){
    public void run(){
      currentingamecount--;
      if (currentingamecount == 60 || currentingamecount == 30 || currentingamecount == 15 || currentingamecount == 10 || currentingamecount < 6) {
        for (        String p_ : a.getAllPlayers()) {
          if (Validator.isPlayerOnline(p_)) {
            Player p=Bukkit.getPlayer(p_);
            p.sendMessage(MinigamesAPI.getAPI().pinstances.get(plugin).getMessagesConfig().starting_in.replaceAll("String_Node_Str",Integer.toString(currentingamecount)));
          }
        }
      }
      if (currentingamecount < 1) {
        currentarena.getArena().setArenaState(ArenaState.INGAME);
        for (        String p_ : a.getAllPlayers()) {
          if (!Classes.hasClass(plugin,p_)) {
            Classes.setClass(plugin,"String_Node_Str",p_);
          }
          Classes.getClass(plugin,p_);
        }
        try {
          Bukkit.getScheduler().cancelTask(currenttaskid);
        }
 catch (        Exception e) {
        }
      }
    }
  }
,5L,20).getTaskId();
}

Fixed version (ground truth):
/** 
 * Instantly starts the arena, teleports players and udpates the arena
 */
public void start(){
  try {
    Bukkit.getScheduler().cancelTask(currenttaskid);
  }
 catch (  Exception e) {
  }
  currentingamecount=MinigamesAPI.getAPI().ingame_countdown;
  for (  String p_ : currentarena.getArena().getAllPlayers()) {
    Player p=Bukkit.getPlayer(p_);
    p.setWalkSpeed(0.0F);
  }
  Util.teleportAllPlayers(currentarena.getArena().getAllPlayers(),currentarena.getArena().spawns);
  final Arena a=this;
  MinigamesAPI.getAPI().pinstances.get(plugin).scoreboardManager.updateScoreboard(a);
  currenttaskid=Bukkit.getScheduler().runTaskTimer(MinigamesAPI.getAPI(),new Runnable(){
    public void run(){
      currentingamecount--;
      if (currentingamecount == 60 || currentingamecount == 30 || currentingamecount == 15 || currentingamecount == 10 || currentingamecount < 6) {
        for (        String p_ : a.getAllPlayers()) {
          if (Validator.isPlayerOnline(p_)) {
            Player p=Bukkit.getPlayer(p_);
            p.sendMessage(MinigamesAPI.getAPI().pinstances.get(plugin).getMessagesConfig().starting_in.replaceAll("String_Node_Str",Integer.toString(currentingamecount)));
          }
        }
      }
      if (currentingamecount < 1) {
        currentarena.getArena().setArenaState(ArenaState.INGAME);
        for (        String p_ : a.getAllPlayers()) {
          if (!Classes.hasClass(plugin,p_)) {
            Classes.setClass(plugin,"String_Node_Str",p_);
          }
          Classes.getClass(plugin,p_);
          Player p=Bukkit.getPlayer(p_);
          p.setWalkSpeed(0.2F);
        }
        try {
          Bukkit.getScheduler().cancelTask(currenttaskid);
        }
 catch (        Exception e) {
        }
      }
    }
  }
,5L,20).getTaskId();
}