Program: 94081
Project: 94081
Buggy source:
public void onPlayerJoin(PlayerEvent event){
  final Player player=event.getPlayer();
  try {
    if (Config.session_length != "String_Node_Str" || Config.session_length != null) {
      long timestamp=System.currentTimeMillis() / 1000;
      if (this.plugin.IdleTask("String_Node_Str",player,"String_Node_Str") == true) {
        long storedtime=Long.parseLong(this.plugin.db2.get(Encryption.md5(player.getName() + Util.GetIP(player))));
        if (Config.debug_enable)         Util.Debug("String_Node_Str" + player.getName() + "String_Node_Str"+ storedtime);
        long timedifference=timestamp - storedtime;
        if (Config.debug_enable)         Util.Debug("String_Node_Str" + timedifference);
        if (timedifference > Config.session_seconds) {
          sessionallow=false;
        }
 else {
          sessionallow=true;
        }
      }
    }
    try {
      if (Config.idle_kick == true && Util.CheckWhitelist("String_Node_Str",player) == false && sessionallow == false) {
        if (Config.debug_enable)         Util.Debug("String_Node_Str" + Config.idle_ticks);
        Schedule=plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin,new Runnable(){
          @Override public void run(){
            try {
              CheckIdle(player);
            }
 catch (            IOException e) {
              Util.Log("String_Node_Str","String_Node_Str");
              e.printStackTrace();
            }
          }
        }
,Config.idle_ticks);
        if (this.plugin.IdleTask("String_Node_Str",player,"String_Node_Str" + Schedule))         if (Config.debug_enable)         Util.Debug(player.getName() + "String_Node_Str");
        this.plugin.updateDb();
      }
      if (Config.custom_enabled)       if (Config.custom_encryption == null) {
        player.sendMessage("String_Node_Str");
      }
      if (sessionallow) {
        Messages.SendMessage("String_Node_Str",player,null);
        this.plugin.authorize(event.getPlayer().getEntityId());
      }
 else       if (this.plugin.isRegistered(player.getName())) {
        this.plugin.storeInventory(player.getName(),player.getInventory().getContents());
        player.getInventory().clear();
        Messages.SendMessage("String_Node_Str",player,null);
      }
 else       if (Config.register_force) {
        this.plugin.storeInventory(player.getName(),player.getInventory().getContents());
        player.getInventory().clear();
        Messages.SendMessage("String_Node_Str",player,null);
      }
 else       if (!Config.register_force) {
        Messages.SendMessage("String_Node_Str",player,null);
      }
 else {
        this.plugin.authorize(event.getPlayer().getEntityId());
      }
    }
 catch (    IOException e) {
      Util.Log("String_Node_Str","String_Node_Str" + AuthDB.pluginname + "String_Node_Str");
      player.kickPlayer("String_Node_Str");
      e.printStackTrace();
      player.sendMessage(Color.red + "String_Node_Str");
    }
  }
 catch (  IOException e) {
    e.printStackTrace();
  }
}

Fixed version (ground truth):
public void onPlayerJoin(PlayerEvent event){
  final Player player=event.getPlayer();
  try {
    if (Config.session_length != "String_Node_Str" || Config.session_length != null) {
      long timestamp=System.currentTimeMillis() / 1000;
      if (this.plugin.IdleTask("String_Node_Str",player,"String_Node_Str") == true) {
        long storedtime=Long.parseLong(this.plugin.db2.get(Encryption.md5(player.getName() + Util.GetIP(player))));
        if (Config.debug_enable)         Util.Debug("String_Node_Str" + player.getName() + "String_Node_Str"+ storedtime);
        long timedifference=timestamp - storedtime;
        if (Config.debug_enable)         Util.Debug("String_Node_Str" + timedifference);
        if (timedifference > Config.session_seconds) {
          sessionallow=false;
        }
 else {
          sessionallow=true;
        }
      }
 else {
        sessionallow=false;
      }
    }
    try {
      if (Config.idle_kick == true && Util.CheckWhitelist("String_Node_Str",player) == false && sessionallow == false) {
        if (Config.debug_enable)         Util.Debug("String_Node_Str" + Config.idle_ticks);
        Schedule=plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin,new Runnable(){
          @Override public void run(){
            try {
              CheckIdle(player);
            }
 catch (            IOException e) {
              Util.Log("String_Node_Str","String_Node_Str");
              e.printStackTrace();
            }
          }
        }
,Config.idle_ticks);
        if (this.plugin.IdleTask("String_Node_Str",player,"String_Node_Str" + Schedule))         if (Config.debug_enable)         Util.Debug(player.getName() + "String_Node_Str");
        this.plugin.updateDb();
      }
      if (Config.custom_enabled)       if (Config.custom_encryption == null) {
        player.sendMessage("String_Node_Str");
      }
      if (sessionallow) {
        Messages.SendMessage("String_Node_Str",player,null);
        this.plugin.authorize(event.getPlayer().getEntityId());
      }
 else       if (this.plugin.isRegistered(player.getName())) {
        this.plugin.storeInventory(player.getName(),player.getInventory().getContents());
        player.getInventory().clear();
        Messages.SendMessage("String_Node_Str",player,null);
      }
 else       if (Config.register_force) {
        this.plugin.storeInventory(player.getName(),player.getInventory().getContents());
        player.getInventory().clear();
        Messages.SendMessage("String_Node_Str",player,null);
      }
 else       if (!Config.register_force) {
        Messages.SendMessage("String_Node_Str",player,null);
      }
 else {
        this.plugin.authorize(event.getPlayer().getEntityId());
      }
    }
 catch (    IOException e) {
      Util.Log("String_Node_Str","String_Node_Str" + AuthDB.pluginname + "String_Node_Str");
      player.kickPlayer("String_Node_Str");
      e.printStackTrace();
      player.sendMessage(Color.red + "String_Node_Str");
    }
  }
 catch (  IOException e) {
    e.printStackTrace();
  }
}