ConcurrentModificationException for tablist objectives
VirtualizedTrash opened this issue ยท 5 comments
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
I updated to the newest version of purpur, and I'm on the newest version of tablist, 5.57
The issue is still occuring
Is this still reproducible with the release v5.5.8?
If yes,
Please send the new error report to pastebin.com