Uploaded image for project: 'Spigot'
  1. Spigot
  2. SPIGOT-1333

getOfflinePlayer(String) still not thread-safe

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • None
    • None
    • None

      This issue is probably related to SPIGOT-914 (the third stacktrace given there), which is marked as duplicate of SPIGOT-461, which is marked as fixed.

      However, the following is still not fixed:

      [07:32:39] [Craft Scheduler Thread - 88/WARN]: Exception in thread "Craft Scheduler Thread - 88"
      [07:32:39] [Craft Scheduler Thread - 88/WARN]: org.apache.commons.lang.UnhandledException: Plugin Paintball v1.3.4 generated an exception while executing task 188525
              at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.ArrayIndexOutOfBoundsException: 13
              at sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate(BaseCalendar.java:453)
              at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2397)
              at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2312)
              at java.util.Calendar.complete(Calendar.java:2268)
              at java.util.Calendar.get(Calendar.java:1826)
              at java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1119)
              at java.text.SimpleDateFormat.format(SimpleDateFormat.java:966)
              at java.text.SimpleDateFormat.format(SimpleDateFormat.java:936)
              at java.text.DateFormat.format(DateFormat.java:345)
              at net.minecraft.server.v1_8_R3.UserCache$BanEntrySerializer.a(UserCache.java:284)
              at net.minecraft.server.v1_8_R3.UserCache$BanEntrySerializer.serialize(UserCache.java:332)
              at net.minecraft.server.v1_8_R3.UserCache$BanEntrySerializer.serialize(UserCache.java:1)
              at com.google.gson.TreeTypeAdapter.write(TreeTypeAdapter.java:70)
              at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
              at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:96)
              at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:60)
              at com.google.gson.Gson.toJson(Gson.java:593)
              at com.google.gson.Gson.toJson(Gson.java:572)
              at com.google.gson.Gson.toJson(Gson.java:527)
              at com.google.gson.Gson.toJson(Gson.java:507)
              at net.minecraft.server.v1_8_R3.UserCache.c(UserCache.java:216)
              at net.minecraft.server.v1_8_R3.UserCache.getProfile(UserCache.java:152)
              at org.bukkit.craftbukkit.v1_8_R3.CraftServer.getOfflinePlayer(CraftServer.java:1299)
              at de.blablubbabc.paintball.PlayerManager.getPlayerUUID(PlayerManager.java:624)
              at de.blablubbabc.paintball.PlayerManager$8.run(PlayerManager.java:610)
              at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71)
              at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
              ... 3 more
      

      The issue here is probably that SimpleDateFormat.format(..) is not thread-safe.

            Unassigned Unassigned
            blablubbabc blablubbabc
            Votes:
            2 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: