Closed cunningb closed 8 years ago
Does not look like AWE error. Are you able to provide the X,Y,Z of the last block that it is trying to put on the map?
Yes, it took some time to repeat, but I did eventually get it. This is most recent stack trace. I figured I would give you the new one just in case.
[13:46:57] [Craft Scheduler Thread - 43/WARN]: Exception in thread "Craft Scheduler Thread - 43"
[13:46:57] [Craft Scheduler Thread - 43/WARN]: org.apache.commons.lang.UnhandledException: Plugin AsyncWorldEdit v3.3.12 generated an exception while executing task 826
at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1506
at it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap.containsKey(Long2ObjectOpenHashMap.java:389)
at net.minecraft.server.v1_10_R1.ChunkProviderServer.isLoaded(ChunkProviderServer.java:347)
at org.bukkit.craftbukkit.v1_10_R1.CraftWorld.isChunkLoaded(CraftWorld.java:137)
at org.primesoft.asyncworldedit.platform.bukkit.BukkitWorld.isChunkLoaded(BukkitWorld.java:76)
at org.primesoft.asyncworldedit.taskdispatcher.TaskDispatcher.canPerform(TaskDispatcher.java:299)
at org.primesoft.asyncworldedit.taskdispatcher.TaskDispatcher.performSafeChunk(TaskDispatcher.java:593)
at org.primesoft.asyncworldedit.worldedit.world.AsyncWorld.getLazyBlock(AsyncWorld.java:954)
at org.primesoft.asyncworldedit.worldedit.world.CancelableWorld.getLazyBlock(CancelableWorld.java:357)
at com.sk89q.worldedit.extent.AbstractDelegateExtent.getLazyBlock(AbstractDelegateExtent.java:73)
at com.sk89q.worldedit.extent.AbstractDelegateExtent.getLazyBlock(AbstractDelegateExtent.java:73)
at com.sk89q.worldedit.extent.AbstractDelegateExtent.getLazyBlock(AbstractDelegateExtent.java:73)
at com.sk89q.worldedit.extent.AbstractDelegateExtent.getLazyBlock(AbstractDelegateExtent.java:73)
at com.sk89q.worldedit.extent.AbstractDelegateExtent.getLazyBlock(AbstractDelegateExtent.java:73)
at com.sk89q.worldedit.extent.cache.LastAccessExtentCache.getLazyBlock(LastAccessExtentCache.java:52)
at com.sk89q.worldedit.extent.AbstractDelegateExtent.getLazyBlock(AbstractDelegateExtent.java:73)
at com.sk89q.worldedit.extent.AbstractDelegateExtent.getLazyBlock(AbstractDelegateExtent.java:73)
at com.sk89q.worldedit.extent.AbstractDelegateExtent.getLazyBlock(AbstractDelegateExtent.java:73)
at com.sk89q.worldedit.extent.reorder.MultiStageReorder.setBlock(MultiStageReorder.java:90)
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78)
at com.sk89q.worldedit.extent.ChangeSetExtent.setBlock(ChangeSetExtent.java:64)
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78)
at com.sk89q.worldedit.extent.MaskingExtent.setBlock(MaskingExtent.java:69)
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78)
at com.sk89q.worldedit.extent.validation.BlockChangeLimiter.setBlock(BlockChangeLimiter.java:87)
at com.sk89q.worldedit.EditSession.setBlock(EditSession.java:503)
at org.primesoft.asyncworldedit.worldedit.CancelabeEditSession.setBlock(CancelabeEditSession.java:368)
at com.sk89q.worldedit.EditSession.setBlock(EditSession.java:546)
at org.primesoft.asyncworldedit.worldedit.CancelabeEditSession.setBlock(CancelabeEditSession.java:380)
at com.sk89q.worldedit.CuboidClipboard.place(CuboidClipboard.java:439)
at com.sk89q.worldedit.CuboidClipboard.paste(CuboidClipboard.java:407)
at org.cunningb.worldbuilder.WorldBuilder$1.execute(WorldBuilder.java:286)
at org.cunningb.worldbuilder.WorldBuilder$1.execute(WorldBuilder.java:283)
at org.primesoft.asyncworldedit.blockPlacer.BlockPlacer$2.task(BlockPlacer.java:1196)
at org.primesoft.asyncworldedit.worldedit.AsyncTask.doRun(AsyncTask.java:64)
at org.primesoft.asyncworldedit.worldedit.BaseTask.run(BaseTask.java:142)
at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftTask.run(CraftTask.java:71)
at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
... 3 more
I believe the block where the job failed was (243, 26, 243), the last block that was successfully placed was (243, 26, 242) This occurred when pasting multiple schematics into a new, void world.
Thank you for looking at this, and if it's not an AWE issue then I would really appreciate it if you could point me in the right direction.
I checked the source code of the Long2ObjectOpenHashMap looks like there is no way for the error to occur in normal operation. On the other hand there is a possibility that the error might be caused by cross thread accessing. I'll add a fix for it in AWE.
I updated to the newer version of AWE premium and I see that you fixed my issue, thank you!
I still get this in the console and I'm just wondering what the possible fallout is. It absolutely finishes the jobs now, and I don't see large areas of my job missing like before. Is the scale of the issue now down to something along the lines of a single missing block, or is it less defined than that? Again, I can't see anything wrong with the jobs, I'm just trying to get an idea of the possible outcomes.
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] ***********************************
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] Error performing safe operation for faction_world cx: 51 cz: 10 Loaded: true
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] ***********************************
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * Exception: java.lang.ArrayIndexOutOfBoundsException
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * Error message: 1737
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * Stack:
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap.get(Long2ObjectOpenHashMap.java:374)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * net.minecraft.server.v1_10_R1.ChunkProviderServer.getChunkIfLoaded(ChunkProviderServer.java:111)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * net.minecraft.server.v1_10_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:124)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * net.minecraft.server.v1_10_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:120)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * net.minecraft.server.v1_10_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:116)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.bukkit.craftbukkit.v1_10_R1.CraftWorld.getChunkAt(CraftWorld.java:129)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.bukkit.craftbukkit.v1_10_R1.CraftWorld.getBlockAt(CraftWorld.java:93)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.bukkit.craftbukkit.v1_10_R1.CraftWorld.getBlockAt(CraftWorld.java:609)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.bukkit.Location.getBlock(Location.java:87)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.bukkit.adapter.impl.Spigot_v1_10_R1.getBlock(Spigot_v1_10_R1.java:209)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.bukkit.BukkitWorld.getBlock(BukkitWorld.java:405)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld$37.execute(AsyncWorld.java:986)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld$37.execute(AsyncWorld.java:983)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.taskdispatcher.TaskDispatcher.performSafe(TaskDispatcher.java:566)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld.getBlock(AsyncWorld.java:983)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.AsyncWorld.setBlock(AsyncWorld.java:298)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.world.CancelableWorld.setBlock(CancelableWorld.java:156)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.world.FastModeExtent.setBlock(FastModeExtent.java:92)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.world.SurvivalModeExtent.setBlock(SurvivalModeExtent.java:88)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.world.BlockQuirkExtent.setBlock(BlockQuirkExtent.java:64)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.world.ChunkLoadingExtent.setBlock(ChunkLoadingExtent.java:66)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.validation.DataValidatorExtent.setBlock(DataValidatorExtent.java:67)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.inventory.BlockBagExtent.setBlock(BlockBagExtent.java:111)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.extent.inventory.FixedBlockBagExtent.setBlock(FixedBlockBagExtent.java:80)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.reorder.MultiStageReorder.setBlock(MultiStageReorder.java:93)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.ChangeSetExtent.setBlock(ChangeSetExtent.java:64)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.MaskingExtent.setBlock(MaskingExtent.java:69)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.extent.validation.BlockChangeLimiter.setBlock(BlockChangeLimiter.java:87)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.EditSession.setBlock(EditSession.java:503)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.CancelabeEditSession.setBlock(CancelabeEditSession.java:367)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.EditSession.setBlock(EditSession.java:546)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.CancelabeEditSession.setBlock(CancelabeEditSession.java:379)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.CuboidClipboard.place(CuboidClipboard.java:439)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * com.sk89q.worldedit.CuboidClipboard.paste(CuboidClipboard.java:407)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.cunningb.worldbuilder.WorldBuilder$1.execute(WorldBuilder.java:286)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.cunningb.worldbuilder.WorldBuilder$1.execute(WorldBuilder.java:283)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.blockPlacer.BlockPlacer$2.task(BlockPlacer.java:1196)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.AsyncTask.doRun(AsyncTask.java:64)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.primesoft.asyncworldedit.worldedit.BaseTask.run(BaseTask.java:142)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftTask.run(CraftTask.java:71)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] * java.lang.Thread.run(Thread.java:745)
[13:37:53] [Craft Scheduler Thread - 56/INFO]: [AsyncWorldEdit] ***********************************
Thanks again for the fix!
What version of AWE and SPIGOT?
AWE - 3.4.0 Spigot - 1.10-R0.1
We've noticed that there is a new AWE, so we will upgrade to that as well.
I keep running into a IOOB exception which causes jobs not to finish. Since I'm tracking jobs to see if they are finished, it's causing some adverse effects on my server.
I'm not sure if this is because I'm doing something wrong, jobs size calculation perhaps, so I've also include the snippit of my code which the error propagates from.
AWE (Premium) - 3.3.12 (but I received the same error on 3.3.4) WorldEdit-bukkit - 6.1.3;7a097ca Spigot-1.10 JRE - 1.8.0_91
Please forgive my naming schemes and poor variable names.