[SPIGOT-646] Bukkit.getOfflinePlayer() causing ConcurrentModificationException Created: 05/Mar/15 Updated: 14/Mar/15 Resolved: 09/Mar/15 |
|
| Status: | Closed |
| Project: | Spigot |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | mibby mibster | Assignee: | Unassigned |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Plugin: | ChestShops |
| Description |
|
Spigot git-Spigot-c3c767f-33d5de3 On server start-up / restarts, there is a chance that ChestShops does not enable and instead outputs a ConcurrentModificationException error. Restarting the server again usually fixes the issue. ChestShops developer states it seems to be an issue within Spigot, as "Bukkit.getOfflinePlayer()" should be safe to use. [00:00:17] [Server thread/INFO]: [ChestShop] Enabling ChestShop v3.8.3 |
| Comments |
| Comment by mibby mibster [ 14/Mar/15 ] |
|
This is still an on-going issue with Spigot 1.8.3 (git-Spigot-ea179b3-6e0120a) and ChestShops 3.8.5. Becoming quite an annoyance. http://paste.ubuntu.com/10593962/ Could you please make the getOfflinePlayer check async and thread safe to prevent ConcurrentModificationException on server startup? |
| Comment by md_5 [ 09/Mar/15 ] |
|
It's not safe to use, nowhere does any documentation state that from either the former Bukkit team nor ourselves. In this case however it probably isn't chestshop, rather another plugin operating concurrently. There is another ticket somewhere to make this method safe. |
| Comment by mibby mibster [ 09/Mar/15 ] |
|
Well as I stated, I didn't really begin to experience this issue until I updated Spigot and ChestShops to version 3.8.1+ a few weeks ago. I noticed these two recent commits in the ChestShops repo. Could they be the cause? https://github.com/Acrobot/ChestShop-3/commit/f975450130c5b0f627e7dd7df912a9789222e156 https://github.com/Acrobot/ChestShop-3/commit/8c77057703fa792a2dae931025015375846ce8ee |
| Comment by Thinkofname [ 08/Mar/15 ] |
|
No easy way to tell, also no changes have been made to that area of code for months by spigot/cb |
| Comment by mibby mibster [ 08/Mar/15 ] |
|
Such as? Is there any way to know? I didn't really start to experience this issue until about a week or two ago when I updated Spigot. According to the plugin dev, he states this is an issue within Spigot. Plugins (40): AsyncWorldEditInjector, dynmap, WorldEdit, Essentials, LogBlock, AutoMessage, WorldBorder, Votifier, TrailGUI, ProtocolLib, WorldGuard, LibsDisguises, AsyncWorldEdit, VoxelSniper, EssentialsChat, PermissionsEx, EssentialsAntiBuild, Lottery, mcMMO, Vault, EssentialsSpawn, TitleManager, CasinoSlots, ButtonWarp, pvparena, CompatNoCheatPlus, MobArena, PwnFilter, LWC, NoCheatPlus, ColoredTags, VirtualPack, VanishNoPacket, ChestCommands, EchoPet, CraftBook, PlayerVaults, ServerSigns, EnjinMinecraftPlugin, ChestShop |
| Comment by Thinkofname [ 08/Mar/15 ] |
|
Chances are you have another plugin on your server which is using getOfflinePlayer unsafely |