Program: 86088
Project: 86088
Buggy source:
public void leavePlayerRaw(final String playername,boolean fullLeave){
  if (!this.containsPlayer(playername)) {
    return;
  }
  this.players.remove(playername);
  pli.global_players.remove(playername);
  if (fullLeave) {
    plugin.getConfig().set("String_Node_Str" + playername + "String_Node_Str",playername);
    plugin.getConfig().set("String_Node_Str" + playername + "String_Node_Str",plugin.getName());
    for (    ItemStack i : pinv.get(playername)) {
      if (i != null) {
        plugin.getConfig().set("String_Node_Str" + playername + "String_Node_Str"+ Integer.toString((int)Math.round(Math.random() * 10000))+ i.getType().toString(),i);
      }
    }
    plugin.saveConfig();
    return;
  }
  final Player p=Bukkit.getPlayer(playername);
  Util.clearInv(p);
  p.setWalkSpeed(0.2F);
  p.setFoodLevel(20);
  p.setHealth(20D);
  p.setFireTicks(0);
  p.removePotionEffect(PotionEffectType.JUMP);
  pli.getSpectatorManager().setSpectate(p,false);
  for (  PotionEffect effect : p.getActivePotionEffects()) {
    if (effect != null) {
      p.removePotionEffect(effect.getType());
    }
  }
  for (  Entity e : p.getNearbyEntities(50D,50D,50D)) {
    if (e.getType() == EntityType.DROPPED_ITEM || e.getType() == EntityType.SLIME || e.getType() == EntityType.ZOMBIE || e.getType() == EntityType.SKELETON || e.getType() == EntityType.SPIDER || e.getType() == EntityType.CREEPER) {
      e.remove();
    }
  }
  if (started) {
    if (!pnoreward.contains(playername)) {
      pli.getRewardsInstance().giveWinReward(playername,this);
    }
 else {
      pnoreward.remove(playername);
    }
  }
  pli.global_players.remove(playername);
  if (pli.global_lost.containsKey(playername)) {
    pli.global_lost.remove(playername);
  }
  if (pli.global_arcade_spectator.containsKey(playername)) {
    pli.global_arcade_spectator.remove(playername);
  }
  Util.updateSign(plugin,this);
  final String arenaname=this.getName();
  final Arena a=this;
  Bukkit.getScheduler().runTaskLater(plugin,new Runnable(){
    public void run(){
      if (p != null) {
        Util.teleportPlayerFixed(p,a.mainlobby);
        p.setFireTicks(0);
        p.setFlying(false);
        if (!p.isOp()) {
          p.setAllowFlight(false);
        }
        if (pgamemode.containsKey(p.getName())) {
          p.setGameMode(pgamemode.get(p.getName()));
        }
        p.getInventory().setContents(pinv.get(playername));
        p.getInventory().setArmorContents(pinv_armor.get(playername));
        p.updateInventory();
        try {
          pli.scoreboardManager.removeScoreboard(arenaname,p);
        }
 catch (        Exception e) {
        }
      }
    }
  }
,5L);
}

Fixed version (ground truth):
public void leavePlayerRaw(final String playername,boolean fullLeave){
  if (!this.containsPlayer(playername)) {
    return;
  }
  this.players.remove(playername);
  pli.global_players.remove(playername);
  if (fullLeave) {
    plugin.getConfig().set("String_Node_Str" + playername + "String_Node_Str",playername);
    plugin.getConfig().set("String_Node_Str" + playername + "String_Node_Str",plugin.getName());
    for (    ItemStack i : pinv.get(playername)) {
      if (i != null) {
        plugin.getConfig().set("String_Node_Str" + playername + "String_Node_Str"+ Integer.toString((int)Math.round(Math.random() * 10000))+ i.getType().toString(),i);
      }
    }
    plugin.saveConfig();
    try {
      Player p=Bukkit.getPlayer(playername);
      if (p != null) {
        Util.teleportPlayerFixed(p,this.mainlobby);
        p.setFireTicks(0);
        p.setFlying(false);
        if (!p.isOp()) {
          p.setAllowFlight(false);
        }
        if (pgamemode.containsKey(p.getName())) {
          p.setGameMode(pgamemode.get(p.getName()));
        }
        p.getInventory().setContents(pinv.get(playername));
        p.getInventory().setArmorContents(pinv_armor.get(playername));
        p.updateInventory();
        p.setWalkSpeed(0.2F);
        p.setFoodLevel(20);
        p.setHealth(20D);
        p.removePotionEffect(PotionEffectType.JUMP);
        pli.getSpectatorManager().setSpectate(p,false);
      }
    }
 catch (    Exception e) {
      System.out.println("String_Node_Str" + e.getMessage());
    }
    return;
  }
  final Player p=Bukkit.getPlayer(playername);
  Util.clearInv(p);
  p.setWalkSpeed(0.2F);
  p.setFoodLevel(20);
  p.setHealth(20D);
  p.setFireTicks(0);
  p.removePotionEffect(PotionEffectType.JUMP);
  pli.getSpectatorManager().setSpectate(p,false);
  for (  PotionEffect effect : p.getActivePotionEffects()) {
    if (effect != null) {
      p.removePotionEffect(effect.getType());
    }
  }
  for (  Entity e : p.getNearbyEntities(50D,50D,50D)) {
    if (e.getType() == EntityType.DROPPED_ITEM || e.getType() == EntityType.SLIME || e.getType() == EntityType.ZOMBIE || e.getType() == EntityType.SKELETON || e.getType() == EntityType.SPIDER || e.getType() == EntityType.CREEPER) {
      e.remove();
    }
  }
  if (started) {
    if (!pnoreward.contains(playername)) {
      pli.getRewardsInstance().giveWinReward(playername,this);
    }
 else {
      pnoreward.remove(playername);
    }
  }
  pli.global_players.remove(playername);
  if (pli.global_lost.containsKey(playername)) {
    pli.global_lost.remove(playername);
  }
  if (pli.global_arcade_spectator.containsKey(playername)) {
    pli.global_arcade_spectator.remove(playername);
  }
  Util.updateSign(plugin,this);
  final String arenaname=this.getName();
  final Arena a=this;
  Bukkit.getScheduler().runTaskLater(plugin,new Runnable(){
    public void run(){
      if (p != null) {
        Util.teleportPlayerFixed(p,a.mainlobby);
        p.setFireTicks(0);
        p.setFlying(false);
        if (!p.isOp()) {
          p.setAllowFlight(false);
        }
        if (pgamemode.containsKey(p.getName())) {
          p.setGameMode(pgamemode.get(p.getName()));
        }
        p.getInventory().setContents(pinv.get(playername));
        p.getInventory().setArmorContents(pinv_armor.get(playername));
        p.updateInventory();
        try {
          pli.scoreboardManager.removeScoreboard(arenaname,p);
        }
 catch (        Exception e) {
        }
      }
    }
  }
,5L);
}