Internal Server Error

Discussion in 'Plugin Development' started by PVP9dc, Jan 13, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    PVP9dc

    Does anyone know where's the problem of the internal server error?

    Code:java
    1. [01:03:28] [Server thread/WARN]: Failed to handle packet for /212.224.88.11:55146
    2. net.minecraft.server.v1_7_R1.ReportedException: Ticking player
    3. at net.minecraft.server.v1_7_R1.EntityPlayer.i(EntityPlayer.java:314) ~[spigot.jar:git-Spigot-1228]
    4. at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:343) ~[spigot.jar:git-Spigot-1228]
    5. at net.minecraft.server.v1_7_R1.PacketPlayInFlying.a(SourceFile:137) ~[spigot.jar:git-Spigot-1228]
    6. at net.minecraft.server.v1_7_R1.PacketPlayInPosition.handle(SourceFile:63) ~[spigot.jar:git-Spigot-1228]
    7. at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:147) ~[spigot.jar:git-Spigot-1228]
    8. at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [spigot.jar:git-Spigot-1228]
    9. at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:657) [spigot.jar:git-Spigot-1228]
    10. at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:273) [spigot.jar:git-Spigot-1228]
    11. at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:540) [spigot.jar:git-Spigot-1228]
    12. at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:446) [spigot.jar:git-Spigot-1228]
    13. at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [spigot.jar:git-Spigot-1228]
    14. Caused by: java.util.ConcurrentModificationException
    15. at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:819) ~[?:1.7.0_17]
    16. at java.util.ArrayList$Itr.next(ArrayList.java:791) ~[?:1.7.0_17]
    17. at org.bukkit.craftbukkit.v1_7_R1.util.WeakCollection$1.hasNext(WeakCollection.java:73) ~[spigot.jar:git-Spigot-1228]
    18. at org.bukkit.craftbukkit.v1_7_R1.scoreboard.CraftScoreboardManager.getScoreboardScores(CraftScoreboardManager.java:103) ~[spigot.jar:git-Spigot-1228]
    19. at org.bukkit.craftbukkit.v1_7_R1.scoreboard.CraftScoreboardManager.updateAllScoresForList(CraftScoreboardManager.java:114) ~[spigot.jar:git-Spigot-1228]
    20. at net.minecraft.server.v1_7_R1.EntityPlayer.i(EntityPlayer.java:281) ~[spigot.jar:git-Spigot-1228]
    21. ... 10 more
    22. [01:03:28] [Server thread/INFO]: Fabstar2000 lost connection: Internal server error
     
  2. Offline

    Garris0n

    Is this related to a plugin you made?
     
  3. Offline

    PVP9dc

  4. Offline

    Garris0n

  5. Offline

    PVP9dc

    Code:java
    1. public static void sendScore(Player p) {
    2. if (!(GunGame.Scoreboard.contains(p))) {
    3. Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();
    4. Objective objective = board.registerNewObjective(p.getName(), "dummy");
    5. objective.setDisplaySlot(DisplaySlot.SIDEBAR);
    6.  
    7. if (CommandVotemap.votemapstatus) {
    8. objective.setDisplayName(" §b/votemap ");
    9.  
    10. Score map1 = objective.getScore(Bukkit.getOfflinePlayer("§6" + CommandVotemap.votemaps[0]));
    11. map1.setScore(CommandVotemap.votes[0]);
    12.  
    13. Score map2 = objective.getScore(Bukkit.getOfflinePlayer("§6" + CommandVotemap.votemaps[1]));
    14. map2.setScore(CommandVotemap.votes[1]);
    15.  
    16. Score map3 = objective.getScore(Bukkit.getOfflinePlayer("§6" + CommandVotemap.votemaps[2]));
    17. map3.setScore(CommandVotemap.votes[2]);
    18.  
    19. Score map4 = objective.getScore(Bukkit.getOfflinePlayer("§6" + CommandVotemap.votemaps[3]));
    20. map4.setScore(CommandVotemap.votes[3]);
    21.  
    22. Score map5 = objective.getScore(Bukkit.getOfflinePlayer("§6" + CommandVotemap.votemaps[4]));
    23. map5.setScore(CommandVotemap.votes[3]);
    24.  
    25. p.setScoreboard(board);
    26. } else {
    27. objective.setDisplayName(" §6§lStats: ");
    28.  
    29. Score gp = objective.getScore(Bukkit.getOfflinePlayer("§6Deine GP:"));
    30. gp.setScore((int) GunGame.getEcon().getBalance(p.getName()));
    31.  
    32. Score Level = objective.getScore(Bukkit.getOfflinePlayer("§6Dein Level:"));
    33. Level.setScore(p.getLevel());
    34.  
    35. Score Time = objective.getScore(Bukkit.getOfflinePlayer("§eMapwechsel:"));
    36. Time.setScore(sbTime);
    37. p.setScoreboard(board);
    38. }
    39. }
    40. }
     
  6. Offline

    Alshain01

    How are you calling that method? The exception indicates a collision, two threads are trying to modify the same information at the same time. It looks like it's happening in an ArrayList iterator, but I'm not seeing it in the code.
     
    Garris0n likes this.
  7. Offline

    PVP9dc

    Alshain01 maybe cause im doing this every 5 seconds for all players to update the sb?
     
  8. Offline

    Garris0n

    Post the code for it or we can't tell you what's wrong.
     
  9. Offline

    PVP9dc

    Code:java
    1. @SuppressWarnings("deprecation")
    2. public void updateScoreboard() {
    3. Bukkit.getScheduler().scheduleAsyncRepeatingTask(plugin, new Runnable() {
    4. @Override
    5. public void run() {
    6. for (Player p : Bukkit.getOnlinePlayers()) {
    7. Utils.sendScore(p);
    8. }
    9. }
    10. }, 20 * 5, 20 * 5);
    11. }


    yes i know i could do this in one method

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 6, 2016
  10. Offline

    Syd

    Use a Sync task. The BukkitAPI is mostly not Thread Safe and can not be used with Async Tasks or seperate threads.
     
    Garris0n likes this.
  11. Offline

    Garris0n

    Indeed, the API is not thread safe.
     
  12. Offline

    PVP9dc

Thread Status:
Not open for further replies.

Share This Page