Animated-TabList

Animated-TabList

65.2k Downloads

ConcurrentModificationException for tablist objectives

VirtualizedTrash opened this issue ยท 5 comments

commented

Type of bug

Error in console

TabList version

5.5.7

Software version

Purpur 1397

Relevant plugins

No response

Console error (if applicable)

[18:59:20 WARN]: [TabList] Plugin TabList v5.5.7 generated an exception while executing task 56
java.util.ConcurrentModificationException: null
at java.util.HashMap.computeIfAbsent(HashMap.java:1225) ~[?:?]
at net.minecraft.world.scores.Scoreboard.getPlayerScoreForObjective(Scoreboard.java:84) ~[patched_1.17.1.jar:git-Purpur-1397]
at org.bukkit.craftbukkit.v1_17_R1.scoreboard.CraftScore.setScore(CraftScore.java:57) ~[patched_1.17.1.jar:git-Purpur-1397]
at hu.montlikadani.tablist.bukkit.Objects.lambda$startTask$1(Objects.java:125) ~[TabList-5.5.7.jar:?]
at java.util.Optional.ifPresent(Optional.java:178) ~[?:?]
at hu.montlikadani.tablist.bukkit.Objects.lambda$startTask$2(Objects.java:125) ~[TabList-5.5.7.jar:?]
at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[patched_1.17.1.jar:git-Purpur-1397]
at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) [patched_1.17.1.jar:git-Purpur-1397]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) [patched_1.17.1.jar:git-Purpur-1397]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) [?:?]
at java.lang.Thread.run(Thread.java:831) [?:?]

TabList configuration files

hook:

  # Hook to PlaceholderAPI to use custom placeholders.
  placeholderapi: true

# Fake players that can be added to the player list.
fake-players:
  enabled: true

  # Do we count the added fake players to the %online-players% placeholder?
  count-fake-players-to-online-players: false

# If enabled, the gray color will not appear to other players when the player's game mode is spectator.
# The gray color will only show for the spectator player.
# Requires ProtocolLib!
remove-gray-color-from-tab-in-spectator: true

# true - does not count vanished players in %online-players% placeholder.
# Requires Essentials, SuperVanish, PremiumVanish or CMI plugin!
ignore-vanished-players-in-online-players: true

# true - count vanished staff in %staff-online% placeholder,
# but they need to have "tablist.onlinestaff" permission set.
# false - does not count vanished staff in the %staff-online% placeholder
# Requires Essentials, SuperVanish, PremiumVanish or CMI plugin!
count-vanished-staffs: false

# Hide player from player list when a player is AFK?
# Requires Essentials or CMI plugin!
hide-player-from-tab-when-afk: false

# Hide all players from the player list?
# This removes all players from the player list, but the player that has the
# group set is retained as it is not changed during removal, so your group
# will be restored if this option is disabled.
# Requires ProtocolLib to fix view distance issue! (https://github.com/montlikadani/TabList/issues/147)
hide-players-from-tablist: false

# Different player list in different world.
per-world-player-list:
  enabled: false

  # You can specify worlds, which will share the same list of players
  world-groups:
    exampleGroup2:
    - exampleWorld2
    - exampleAnotherWorld2

    # The key name, can be anything
    example1:
    - exampleWorld
    - exampleAnotherWorld

# Placeholders formatting
placeholder-format:

  # When the player changes the AFK status, change his tablist name format?
  afk-status:
    enable: true

    # Should the AFK format display in right or left side?
    # true - displays in right side
    # false - displays in left side
    show-in-right-or-left-side: false

    # Show player's group if the player is AFK?
    show-player-group: true

    # Sort AFK players to the bottom of the player list?
    sort-last: true

    # Format when the player is AFK.
    format-yes: '&5 [AFK]&r '

    # Format when the player is not AFK.
    format-no: ''
  time:

    # Use system default time zone instead of searching for that?
    use-system-zone: false

    # Time zones: https://www.mkyong.com/java/java-display-list-of-timezone-with-gmt/
    # Or google it: "what is my time zone"
    time-zone: GMT0

    # Formats/examples: https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html
    # Format of %server-time% placeholder.
    time-format:
      format: mm:HH

    # Format of %date% placeholder.
    date-format:
      format: dd/MM/yyyy

  # Ping color format for %ping% placeholder.
  ping:
    enable: true

    # Operators usage: https://github.com/montlikadani/TabList/wiki/Ping-or-tps-formatting
    formats:
    - '&5%ping% <= 200'
    - '&6%ping% >= 200'
    - '&c%ping% > 500'

  # TPS color format for %tps% placeholder.
  tps:
    enable: true

    # Operators usage: https://github.com/montlikadani/TabList/wiki/Ping-or-tps-formatting
    formats:
    - '&2%tps% > &518.0'
    - '&6%tps% == &516.0'
    - '&c%tps% < &516.0'

    # How many numbers do you want to display after "." in %tps% placeholder?
    # The number should be higher than 0.
    # Example: 3 = 20.14
    size: 2

  # Memory bar settings for %memory_bar% variable
  memory-bar:
    char: '|'
    colors:
      used: '&c'
      free: '&a'

      # When the server memory less than 80
      allocation: '&e'

      # When the server memory is on critical level (less than 40) and some resource need memory to run.
      released: '&6'
    size: 80

# Enable changing of prefix & suffix in player list?
change-prefix-suffix-in-tablist:
  enable: true

  # Disable groups in these worlds.
  disabled-worlds:

    # Use the list as whitelist?
    use-as-whitelist: false
    list:
    - myWorldWithUpper

  # Automatically add groups from another plugins to the tablist groups.yml on every reload?
  # If a plugin does not support Vault, it will not be added.
  sync-plugins-groups-with-tablist: true

  # Hide player's group in player list when the player is vanished?
  # Requires Essentials, SuperVanish, PremiumVanish or CMI plugin!
  hide-group-when-player-vanished: true

  # Hide player's group in player list when the player is AFK?
  # Requires Essentials or CMI plugin!
  hide-group-when-player-afk: false

  # Do you want to assign global group to normal groups?
  # true - "globalGroupPrefix + normalGroupPrefix"
  # false - "normalGroupPrefix"
  assign-global-group-to-normal: false

  # Prefer player's primary Vault group when assigning tablist group from groups.yml?
  # true - player will be assigned their primary vault group where possible
  # false - applies the group that has the higher priority in the permission plugin
  prefer-primary-vault-group: true

  # Refresh interval in server ticks.
  # Set to 0 if you don't want to refresh the groups.
  # If 0, then you will need to execute the /tl reload command to refresh the groups.
  refresh-interval: 4

# Tablist objective types
# Shows your current health (with life indicator), your current ping or any NUMBER placeholder
# after the player's name (before the ping indicator).
tablist-object-type:
  enable: true

  # Objective settings
  object-settings:

    # Custom placeholder - accepts only number-ending placeholders, like %level%.
    custom:
      value: '%level%'

    # The player's health - displayed after the player's name.
    health:

      # For these players the health will not be displayed
      restricted-players:
      - exampleplayer
      - players

  # Types:
  # ping - player's ping
  # health - player's health
  # custom - custom placeholder
  type: ping

  # In these worlds the objects will not be displayed
  disabled-worlds:
  - testingWorld

  # Interval for objects refreshing in seconds.
  refresh-interval: 3

# Check for updates?
check-update: true

# Download new releases to "releases" folder?
# This only works if the "check-update" is true.
download-updates: false

# Log plugin messages to console?
logconsole: true

Bug description

The console is getting annihilated by those errors. An old glitch with AFK players is also occurring where their names are white after being AFK for a while

commented

Please try to update your Purpur and TabList from Actions page. Select first one and find Artifacts, if you succeeded to update, let us know if the error still exist.

commented

I updated to the newest version of purpur, and I'm on the newest version of tablist, 5.57
The issue is still occuring

commented

Please send the new error report to pastebin.com

commented

Is this still reproducible with the release v5.5.8?

If yes,

Please send the new error report to pastebin.com

commented

I can't reproduce that with v5.5.9, feel free to re-open