SBPrime / AsyncWorldEdit

Async WorldEdit - Edit millions of blocks without lag!
Other
195 stars 80 forks source link

Error performing safe operation #115

Closed EvilOlaf closed 8 years ago

EvilOlaf commented 9 years ago

[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] ***********************************
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] Error performing safe operation for Survival cx:296 cy:84 Loaded: true, inUse: false
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] ***********************************
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * Exception: java.util.ConcurrentModificationException
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * Error message: null
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * Stack:
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * java.util.ArrayList$Itr.next(ArrayList.java:851)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * net.minecraft.server.v1_8_R3.World.getType(World.java:774)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * net.minecraft.server.v1_8_R3.World.getType(World.java:765)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * net.minecraft.server.v1_8_R3.WorldServer.getTileEntity(WorldServer.java:127)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.bukkit.adapter.impl.Spigot_v1_8_R3.getBlock(Spigot_v1_8_R3.java:213)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.bukkit.BukkitWorld.getBlock(BukkitWorld.java:405)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld$37.execute(AsyncWorld.java:950)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld$37.execute(AsyncWorld.java:947)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.taskdispatcher.TaskDispatcher.performSafe(TaskDispatcher.java:505)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld.getBlock(AsyncWorld.java:947)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.EditSession.getBlock(EditSession.java:416)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.ThreadSafeEditSession.doGetBlock(ThreadSafeEditSession.java:720)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.ThreadSafeEditSession.access$000(ThreadSafeEditSession.java:93)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.ThreadSafeEditSession$2.execute(ThreadSafeEditSession.java:382)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.ThreadSafeEditSession$2.execute(ThreadSafeEditSession.java:379)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.taskdispatcher.TaskDispatcher.performSafe(TaskDispatcher.java:505)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.ThreadSafeEditSession.getBlock(ThreadSafeEditSession.java:379)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.CancelabeEditSession.getBlock(CancelabeEditSession.java:145)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld.doRegen(AsyncWorld.java:668)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld.access$100(AsyncWorld.java:90)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld$23.task(AsyncWorld.java:641)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.WorldAsyncTask.doRun(WorldAsyncTask.java:71)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.BaseTask.run(BaseTask.java:138)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] * java.lang.Thread.run(Thread.java:745)
[18:49:11] [Craft Scheduler Thread - 765/INFO]: [AsyncWorldEdit] ***********************************

Happened at a regen operation in an area with probably at the moment unloaded chunks as no player was close. Took a look and yes, some stuff was still there. Not a big deal for me, maybe you wanna know that.

AWE2.2.2 git-Spigot-76236cb-c373061 WE 6.1.1 build 3386

Best regards Olaf

EvilOlaf commented 8 years ago
[09:52:13 INFO]: [AsyncWorldEdit] ***********************************
[09:52:13 INFO]: [AsyncWorldEdit] Error performing safe operation for Survival cx:-44 cy:111 Loaded: true, inUse: false
[09:52:13 INFO]: [AsyncWorldEdit] ***********************************
[09:52:13 INFO]: [AsyncWorldEdit] * Exception: java.util.ConcurrentModificationException
[09:52:13 INFO]: [AsyncWorldEdit] * Error message: null
[09:52:13 INFO]: [AsyncWorldEdit] * Stack:
[09:52:13 INFO]: [AsyncWorldEdit] * java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
[09:52:13 INFO]: [AsyncWorldEdit] * java.util.ArrayList$Itr.next(ArrayList.java:851)
[09:52:13 INFO]: [AsyncWorldEdit] * net.minecraft.server.v1_8_R3.World.getType(World.java:774)
[09:52:13 INFO]: [AsyncWorldEdit] * net.minecraft.server.v1_8_R3.World.getType(World.java:765)
[09:52:13 INFO]: [AsyncWorldEdit] * net.minecraft.server.v1_8_R3.WorldServer.getTileEntity(WorldServer.java:127)
[09:52:13 INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.bukkit.adapter.impl.Spigot_v1_8_R3.getBlock(Spigot_v1_8_R3.java:213)
[09:52:13 INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.bukkit.BukkitWorld.getBlock(BukkitWorld.java:405)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld$37.execute(AsyncWorld.java:950)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld$37.execute(AsyncWorld.java:947)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.taskdispatcher.TaskDispatcher.performSafe(TaskDispatcher.java:505)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld.getBlock(AsyncWorld.java:947)
[09:52:13 INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.EditSession.getBlock(EditSession.java:416)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.ThreadSafeEditSession.doGetBlock(ThreadSafeEditSession.java:720)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.ThreadSafeEditSession.access$000(ThreadSafeEditSession.java:93)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.ThreadSafeEditSession$2.execute(ThreadSafeEditSession.java:382)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.ThreadSafeEditSession$2.execute(ThreadSafeEditSession.java:379)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.taskdispatcher.TaskDispatcher.performSafe(TaskDispatcher.java:505)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.ThreadSafeEditSession.getBlock(ThreadSafeEditSession.java:379)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.CancelabeEditSession.getBlock(CancelabeEditSession.java:145)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld.doRegen(AsyncWorld.java:668)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld.access$100(AsyncWorld.java:90)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld$23.task(AsyncWorld.java:641)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.WorldAsyncTask.doRun(WorldAsyncTask.java:71)
[09:52:13 INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.BaseTask.run(BaseTask.java:138)
[09:52:13 INFO]: [AsyncWorldEdit] * org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71)
[09:52:13 INFO]: [AsyncWorldEdit] * org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
[09:52:13 INFO]: [AsyncWorldEdit] * java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[09:52:13 INFO]: [AsyncWorldEdit] * java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[09:52:13 INFO]: [AsyncWorldEdit] * java.lang.Thread.run(Thread.java:745)
[09:52:13 INFO]: [AsyncWorldEdit] ***********************************

Would be nice to know if this getting fixed at least in the premium version.

SBPrime commented 8 years ago

As I said many times this is only awe saying that it was unable to perform a get operation on the world using a async thread and that it needs to perform it using the dispatcher.

This happens when awe is not able to detect that the operation is not allowed. To detect all situations when this is not allowed would require loads of bukkit/Spigot code hacking. There fore the work required outweighs the benefits.

SBPrime commented 8 years ago

This should be fixed in repo.