Program: 11655
Project: 11655
Buggy source:
/** 
 * Resumes the joining process after the player has confirmed the client spawn position.
 */
public void resumeLogin(){
  if (!this.finishedLogin.compareAndSet(false,true)) {
    return;
  }
  TridentWorld world=this.getWorld();
  this.client.sendPacket(new PlayOutJoinGame(this,world));
  this.client.sendPacket(PlayOutPluginMsg.BRAND);
  TridentPluginChannel.autoAdd(this);
  this.client.sendPacket(new PlayOutDifficulty(world));
  this.client.sendPacket(new PlayOutSpawnPos());
  this.client.sendPacket(new PlayOutPlayerAbilities(this));
  this.inventory.update();
  this.client.sendPacket(new PlayOutPosLook(this));
  this.client.sendPacket(new PlayOutTime(world.getAge().longValue(),world.getTime()));
  if (world.getWeather().isRaining()) {
    this.client.sendPacket(new PlayOutGameState(2,0));
  }
  this.setTabList(TridentGlobalTabList.getInstance());
  TridentGlobalTabList.getInstance().update();
  Collections.addAll(this.permissions,"String_Node_Str");
  if (TridentServer.getInstance().getOpsList().getOps().contains(this.uuid)) {
    this.op=true;
  }
  if (Debug.IS_DEBUGGING) {
    this.permissions.add("String_Node_Str");
  }
  RecipientSelector.whoCanSee(this,true,new PlayOutSpawnPlayer(this));
  ServerThreadPool.forSpec(PoolSpec.PLUGINS).execute(() -> {
    ChatComponent chat=ChatComponent.create().setColor(ChatColor.YELLOW).setTranslate("String_Node_Str").addWith(this.name);
    PlayerJoinEvent event=new PlayerJoinEvent(this,chat);
    TridentServer.getInstance().getEventController().dispatch(event);
    ChatComponent message=event.getMessage();
    if (message != null)     TridentServer.getInstance().getPlayers().forEach(p -> p.sendMessage(message,ChatType.CHAT));
  }
);
  TridentServer.getInstance().getLogger().log("String_Node_Str" + this.name + "String_Node_Str"+ this.uuid+ "String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Resumes the joining process after the player has confirmed the client spawn position.
 */
public void resumeLogin(){
  if (!this.finishedLogin.compareAndSet(false,true)) {
    return;
  }
  TridentWorld world=this.getWorld();
  this.client.sendPacket(new PlayOutJoinGame(this,world));
  this.client.sendPacket(PlayOutPluginMsg.BRAND);
  TridentPluginChannel.autoAdd(this);
  this.client.sendPacket(new PlayOutDifficulty(world));
  this.client.sendPacket(new PlayOutSpawnPos());
  this.client.sendPacket(new PlayOutPlayerAbilities(this));
  this.inventory.update();
  this.client.sendPacket(new PlayOutPosLook(this));
  this.client.sendPacket(new PlayOutTime(world.getAge().longValue(),world.getTime()));
  if (world.getWeather().isRaining()) {
    this.client.sendPacket(new PlayOutGameState(2,0));
  }
  this.setTabList(TridentGlobalTabList.getInstance());
  TridentGlobalTabList.getInstance().update();
  Collections.addAll(this.permissions,"String_Node_Str");
  if (TridentServer.getInstance().getOpsList().getOps().contains(this.uuid)) {
    this.op=true;
  }
  if (Debug.IS_DEBUGGING) {
    this.permissions.add("String_Node_Str");
  }
  RecipientSelector.whoCanSee(this,true,new PlayOutSpawnPlayer(this));
  ServerThreadPool.forSpec(PoolSpec.PLUGINS).execute(() -> {
    ChatComponent chat=ChatComponent.create().setColor(ChatColor.YELLOW).setTranslate("String_Node_Str").addWith(this.name);
    PlayerJoinEvent event=new PlayerJoinEvent(this,chat);
    TridentServer.getInstance().getEventController().dispatch(event);
    ChatComponent message=event.getMessage();
    if (message != null)     players.values().forEach(p -> p.sendMessage(message,ChatType.CHAT));
  }
);
  TridentServer.getInstance().getLogger().log("String_Node_Str" + this.name + "String_Node_Str"+ this.uuid+ "String_Node_Str");
}