Siguza / VirtualPack

Bukkit Plugin "VirtualPack"
http://dev.bukkit.org/bukkit-plugins/virtualpack/
7 stars 10 forks source link

java.util.ConcurrentModificationException #12

Closed mibby closed 10 years ago

mibby commented 10 years ago

Dev build 96 for 1.7.5. http://paste.ubuntu.com/7192043/

[01:24:50] [Thread-408/WARN]: [VirtualPack] AN ERROR OCCURED! PLEASE SEND THE MESSAGE BELOW TO THE DEVELOPER!
[01:24:50] [Thread-408/WARN]: java.util.ConcurrentModificationException
[01:24:50] [Thread-408/WARN]:   at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
[01:24:50] [Thread-408/WARN]:   at java.util.ArrayList$Itr.next(Unknown Source)
[01:24:50] [Thread-408/WARN]:   at org.yaml.snakeyaml.serializer.Serializer.anchorNode(Serializer.java:142)
[01:24:50] [Thread-408/WARN]:   at org.yaml.snakeyaml.serializer.Serializer.anchorNode(Serializer.java:146)
[01:24:50] [Thread-408/WARN]:   at org.yaml.snakeyaml.serializer.Serializer.serialize(Serializer.java:108)
[01:24:50] [Thread-408/WARN]:   at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:272)
[01:24:50] [Thread-408/WARN]:   at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:262)
[01:24:50] [Thread-408/WARN]:   at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:234)
[01:24:50] [Thread-408/WARN]:   at org.yaml.snakeyaml.Yaml.dump(Yaml.java:209)
[01:24:50] [Thread-408/WARN]:   at org.bukkit.configuration.file.YamlConfiguration.saveToString(YamlConfiguration.java:45)
[01:24:50] [Thread-408/WARN]:   at org.bukkit.configuration.file.FileConfiguration.save(FileConfiguration.java:61)
[01:24:50] [Thread-408/WARN]:   at ru.tehkode.permissions.backends.file.FileConfig.save(FileConfig.java:27)
[01:24:50] [Thread-408/WARN]:   at ru.tehkode.permissions.backends.file.FileData.save(FileData.java:176)
[01:24:50] [Thread-408/WARN]:   at ru.tehkode.permissions.backends.file.FileData.setOption(FileData.java:136)
[01:24:50] [Thread-408/WARN]:   at ru.tehkode.permissions.PermissionManager.getUser(PermissionManager.java:310)
[01:24:50] [Thread-408/WARN]:   at ru.tehkode.permissions.PermissionManager.getUser(PermissionManager.java:253)
[01:24:50] [Thread-408/WARN]:   at net.milkbowl.vault.permission.plugins.Permission_PermissionsEx.playerHas(Permission_PermissionsEx.java:208)
[01:24:50] [Thread-408/WARN]:   at net.milkbowl.vault.permission.Permission.has(Permission.java:68)
[01:24:50] [Thread-408/WARN]:   at net.drgnome.virtualpack.util.Perm.has(Perm.java:71)
[01:24:50] [Thread-408/WARN]:   at net.drgnome.virtualpack.VPack.recalculate(VPack.java:217)
[01:24:50] [Thread-408/WARN]:   at net.drgnome.virtualpack.VPack.<init>(VPack.java:61)
[01:24:50] [Thread-408/WARN]:   at net.drgnome.virtualpack.VPack.<init>(VPack.java:66)
[01:24:50] [Thread-408/WARN]:   at net.drgnome.virtualpack.thread.VThreadLoad.run(VThreadLoad.java:24)
mibby commented 10 years ago

@Siguza

Still occurring with 1.7.8 build with players logging in immediately after a server restart.

[15:40:49] [Thread-21/WARN]: [VirtualPack] AN ERROR OCCURED! PLEASE SEND THE MESSAGE BELOW TO THE DEVELOPER!
[15:40:49] [Thread-21/WARN]: java.util.ConcurrentModificationException
[15:40:49] [Thread-21/WARN]:    at java.util.LinkedHashMap$LinkedHashIterator.nextNode(Unknown Source)
[15:40:49] [Thread-21/WARN]:    at java.util.LinkedHashMap$LinkedEntryIterator.next(Unknown Source)
[15:40:49] [Thread-21/WARN]:    at java.util.LinkedHashMap$LinkedEntryIterator.next(Unknown Source)
[15:40:49] [Thread-21/WARN]:    at org.bukkit.configuration.MemorySection.mapChildrenValues(MemorySection.java:733)
[15:40:49] [Thread-21/WARN]:    at org.bukkit.configuration.MemorySection.getValues(MemorySection.java:100)
[15:40:49] [Thread-21/WARN]:    at ru.tehkode.permissions.backends.file.FileData.findExistingNode(FileData.java:44)
[15:40:49] [Thread-21/WARN]:    at ru.tehkode.permissions.backends.file.FileData.findNode(FileData.java:60)
[15:40:49] [Thread-21/WARN]:    at ru.tehkode.permissions.backends.file.FileData.<init>(FileData.java:23)
[15:40:49] [Thread-21/WARN]:    at ru.tehkode.permissions.backends.file.FileBackend.getUserData(FileBackend.java:112)
[15:40:49] [Thread-21/WARN]:    at ru.tehkode.permissions.PermissionManager.getUser(PermissionManager.java:290)
[15:40:49] [Thread-21/WARN]:    at ru.tehkode.permissions.PermissionManager.getUser(PermissionManager.java:254)
[15:40:49] [Thread-21/WARN]:    at net.milkbowl.vault.permission.plugins.Permission_PermissionsEx.playerHas(Permission_PermissionsEx.java:208)
[15:40:49] [Thread-21/WARN]:    at net.milkbowl.vault.permission.Permission.has(Permission.java:68)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.util.Perm.has(Perm.java:71)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPack.recalculate(VPack.java:220)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPack.<init>(VPack.java:61)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPack.<init>(VPack.java:66)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPlugin.load(VPlugin.java:591)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPlugin.loadFlatfile(VPlugin.java:568)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPlugin.loadUserData0(VPlugin.java:484)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.thread.VThreadInit.run(VThreadInit.java:13)
[15:40:49] [Thread-21/WARN]: [VirtualPack] AN ERROR OCCURED! PLEASE SEND THE MESSAGE BELOW TO THE DEVELOPER!
[15:40:49] [Thread-21/WARN]: java.util.ConcurrentModificationException
[15:40:49] [Thread-21/WARN]:    at java.util.LinkedHashMap$LinkedHashIterator.nextNode(Unknown Source)
[15:40:49] [Thread-21/WARN]:    at java.util.LinkedHashMap$LinkedEntryIterator.next(Unknown Source)
[15:40:49] [Thread-21/WARN]:    at java.util.LinkedHashMap$LinkedEntryIterator.next(Unknown Source)
[15:40:49] [Thread-21/WARN]:    at org.bukkit.configuration.MemorySection.mapChildrenValues(MemorySection.java:733)
[15:40:49] [Thread-21/WARN]:    at org.bukkit.configuration.MemorySection.getValues(MemorySection.java:100)
[15:40:49] [Thread-21/WARN]:    at ru.tehkode.permissions.backends.file.FileData.findExistingNode(FileData.java:44)
[15:40:49] [Thread-21/WARN]:    at ru.tehkode.permissions.backends.file.FileData.findNode(FileData.java:60)
[15:40:49] [Thread-21/WARN]:    at ru.tehkode.permissions.backends.file.FileData.<init>(FileData.java:23)
[15:40:49] [Thread-21/WARN]:    at ru.tehkode.permissions.backends.file.FileBackend.getUserData(FileBackend.java:112)
[15:40:49] [Thread-21/WARN]:    at ru.tehkode.permissions.PermissionManager.getUser(PermissionManager.java:290)
[15:40:49] [Thread-21/WARN]:    at ru.tehkode.permissions.PermissionManager.getUser(PermissionManager.java:254)
[15:40:49] [Thread-21/WARN]:    at net.milkbowl.vault.permission.plugins.Permission_PermissionsEx.playerHas(Permission_PermissionsEx.java:208)
[15:40:49] [Thread-21/WARN]:    at net.milkbowl.vault.permission.Permission.has(Permission.java:68)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.util.Perm.has(Perm.java:71)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPack.recalculate(VPack.java:222)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPack.<init>(VPack.java:61)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPack.<init>(VPack.java:66)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPlugin.load(VPlugin.java:591)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPlugin.loadFlatfile(VPlugin.java:568)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPlugin.loadUserData0(VPlugin.java:484)
[15:40:49] [Thread-21/WARN]:    at net.drgnome.virtualpack.thread.VThreadInit.run(VThreadInit.java:13)
Siguza commented 10 years ago

Please try again with dev build #98.

mibby commented 10 years ago

@Siguza

The new commit kills server performance! Using 'semi' multithreading and typing /chest, it says 'VirtualPack is currently reloading, please be patient.' It took over 4 minutes to load the chest file? http://aikar.co/timings.php?url=7259812%2F

Performance seems to be drastically hit when it is loading... After loading, back to 20 TPS. http://aikar.co/timings.php?url=7259833%2F

Siguza commented 10 years ago

I reverted the horrible mistakes I made in build #98 and tried to fix the problem in a different way in build #99. Could you try that one please?

mibby commented 10 years ago

I haven't had the time to test the new build much, but performance no longer drastically dips below 12 at the beginning of server startup for a few minutes anymore. Minor hit, from what I can tell, to 19.7 tps, then back up.

mibby commented 10 years ago

Had this error spam a hundred times with dev build 99 when shutting down the server shortly after startup.

[04:45:23] [Thread-21/WARN]: [VirtualPack] AN ERROR OCCURED! PLEASE SEND THE MESSAGE BELOW TO THE DEVELOPER!
[04:45:23] [Thread-21/WARN]: ru.tehkode.permissions.exceptions.PermissionsNotAvailable: Permissions manager is not accessable. Is the PermissionsEx plugin enabled?
[04:45:23] [Thread-21/WARN]:    at ru.tehkode.permissions.bukkit.PermissionsEx.getPermissionManager(PermissionsEx.java:317)
[04:45:23] [Thread-21/WARN]:    at net.milkbowl.vault.permission.plugins.Permission_PermissionsEx.playerHas(Permission_PermissionsEx.java:208)
[04:45:23] [Thread-21/WARN]:    at net.milkbowl.vault.permission.Permission.has(Permission.java:68)
[04:45:23] [Thread-21/WARN]:    at net.drgnome.virtualpack.util.Perm.has(Perm.java:74)
[04:45:23] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPack.recalculate(VPack.java:219)
[04:45:23] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPack.<init>(VPack.java:61)
[04:45:23] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPack.<init>(VPack.java:66)
[04:45:23] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPlugin.load(VPlugin.java:602)
[04:45:23] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPlugin.loadFlatfile(VPlugin.java:568)
[04:45:23] [Thread-21/WARN]:    at net.drgnome.virtualpack.VPlugin.loadUserData0(VPlugin.java:484)
[04:45:23] [Thread-21/WARN]:    at net.drgnome.virtualpack.thread.VThreadInit.run(VThreadInit.java:13)
Siguza commented 10 years ago

Build 100 should fix this.

mibby commented 10 years ago

Seems to be fine. Will re-open if it occurs again.