bergerkiller / NoLagg

Prevents common lag causes on your server
27 stars 14 forks source link

Syncronized Code Access errors form within NoLagg #9

Closed jonnay closed 12 years ago

jonnay commented 12 years ago

Thanks for the work on the plugin!

I just noticed these errors on my server:

2012-01-13 08:47:07 [WARNING] Could not properly handle event CHUNK_LOAD:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler
    at org.bukkit.event.world.WorldListener.onChunkLoad(WorldListener:0)
    at org.bukkit.plugin.java.JavaPluginLoader$52.execute(JavaPluginLoader.java:626)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:92)
    at net.minecraft.server.ChunkProviderServer.getOrCreateChunk(ChunkProviderServer.java:106)
    at net.minecraft.server.World.getChunkAt(World.java:333)
    at net.minecraft.server.World.isChunkLoaded(World.java:528)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.getLightLevel(ChunkOperation.java:63)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.fixBlockLighting(ChunkOperation.java:75)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.execute(ChunkOperation.java:115)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.run(ChunkScheduler.java:150)
2012-01-13 08:47:07 [INFO] This error is logged only once: it could have occurred multiple times by now.
2012-01-13 08:47:07 [WARNING] Could not properly handle event BLOCK_PHYSICS:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler
    at org.bukkit.event.block.BlockListener.onBlockPhysics(BlockListener:0)
    at org.bukkit.plugin.java.JavaPluginLoader$30.execute(JavaPluginLoader.java:469)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
    at net.minecraft.server.World.k(World.java:514)
    at net.minecraft.server.World.applyPhysics(World.java:499)
    at net.minecraft.server.World.update(World.java:463)
    at net.minecraft.server.World.setTypeId(World.java:435)
    at net.minecraft.server.WorldGenFire.a(SourceFile:16)
    at net.minecraft.server.ChunkProviderHell.getChunkAt(SourceFile:337)
    at org.bukkit.craftbukkit.generator.NormalChunkGenerator.getChunkAt(NormalChunkGenerator.java:47)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:165)
    at net.minecraft.server.Chunk.a(Chunk.java:816)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:96)
    at net.minecraft.server.ChunkProviderServer.getOrCreateChunk(ChunkProviderServer.java:106)
    at net.minecraft.server.World.getChunkAt(World.java:333)
    at net.minecraft.server.World.isChunkLoaded(World.java:528)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.getLightLevel(ChunkOperation.java:63)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.fixBlockLighting(ChunkOperation.java:75)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.execute(ChunkOperation.java:115)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.run(ChunkScheduler.java:150)
2012-01-13 08:47:07 [INFO] This error is logged only once: it could have occurred multiple times by now.
2012-01-13 08:47:07 [WARNING] Could not properly handle event CHUNK_POPULATED:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler
    at org.bukkit.event.world.WorldListener.onChunkPopulate(WorldListener:0)
    at org.bukkit.plugin.java.JavaPluginLoader$53.execute(JavaPluginLoader.java:633)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:182)
    at net.minecraft.server.Chunk.a(Chunk.java:816)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:96)
    at net.minecraft.server.ChunkProviderServer.getOrCreateChunk(ChunkProviderServer.java:106)
    at net.minecraft.server.World.getChunkAt(World.java:333)
    at net.minecraft.server.World.isChunkLoaded(World.java:528)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.getLightLevel(ChunkOperation.java:63)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.fixBlockLighting(ChunkOperation.java:75)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.execute(ChunkOperation.java:115)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.run(ChunkScheduler.java:150)
2012-01-13 08:47:07 [INFO] This error is logged only once: it could have occurred multiple times by now.
2012-01-13 08:47:07 [WARNING] Could not properly handle a code section:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler
    at com.bergerkiller.bukkit.nolagg.sending.ChunkSendQueue.deQueueGlobal(ChunkSendQueue.java:108)
    at com.bergerkiller.bukkit.nolagg.sending.ChunkSendQueue.deQueueGlobal(ChunkSendQueue.java:102)
    at com.bergerkiller.bukkit.nolagg.sending.ChunkSendQueue.deQueueGlobal(ChunkSendQueue.java:96)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.preexecute(ChunkOperation.java:46)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.schedule(ChunkScheduler.java:105)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.schedule(ChunkScheduler.java:96)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.schedule(ChunkScheduler.java:93)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.schedule(ChunkScheduler.java:90)
    at com.bergerkiller.bukkit.nolagg.NLWorldListener.onChunkPopulate(NLWorldListener.java:66)
    at org.bukkit.plugin.java.JavaPluginLoader$53.execute(JavaPluginLoader.java:633)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:182)
    at net.minecraft.server.Chunk.a(Chunk.java:816)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:96)
    at net.minecraft.server.ChunkProviderServer.getOrCreateChunk(ChunkProviderServer.java:106)
    at net.minecraft.server.World.getChunkAt(World.java:333)
    at net.minecraft.server.World.isChunkLoaded(World.java:528)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.getLightLevel(ChunkOperation.java:63)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.fixBlockLighting(ChunkOperation.java:75)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.execute(ChunkOperation.java:115)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.run(ChunkScheduler.java:150)
2012-01-13 08:47:07 [INFO] This error is logged only once: it could have occurred multiple times by now.
2012-01-13 08:47:08 [WARNING] Could not properly handle event CHUNK_LOAD:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler
    at org.bukkit.event.world.WorldListener.onChunkLoad(WorldListener:0)
    at org.bukkit.plugin.java.JavaPluginLoader$52.execute(JavaPluginLoader.java:626)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:92)
    at net.minecraft.server.ChunkProviderServer.getOrCreateChunk(ChunkProviderServer.java:106)
    at net.minecraft.server.World.getChunkAt(World.java:333)
    at net.minecraft.server.World.isChunkLoaded(World.java:528)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.getLightLevel(ChunkOperation.java:63)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.fixBlockLighting(ChunkOperation.java:77)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.execute(ChunkOperation.java:115)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.run(ChunkScheduler.java:150)
2012-01-13 08:47:08 [INFO] This error is logged only once: it could have occurred multiple times by now.
2012-01-13 08:47:08 [WARNING] Could not properly handle event CHUNK_POPULATED:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler
    at org.bukkit.event.world.WorldListener.onChunkPopulate(WorldListener:0)
    at org.bukkit.plugin.java.JavaPluginLoader$53.execute(JavaPluginLoader.java:633)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:182)
    at net.minecraft.server.Chunk.a(Chunk.java:808)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:96)
    at net.minecraft.server.ChunkProviderServer.getOrCreateChunk(ChunkProviderServer.java:106)
    at net.minecraft.server.World.getChunkAt(World.java:333)
    at net.minecraft.server.World.isChunkLoaded(World.java:528)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.getLightLevel(ChunkOperation.java:63)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.fixBlockLighting(ChunkOperation.java:77)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.execute(ChunkOperation.java:115)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.run(ChunkScheduler.java:150)
2012-01-13 08:47:08 [INFO] This error is logged only once: it could have occurred multiple times by now.
2012-01-13 08:47:08 [WARNING] Could not properly handle a code section:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler
    at com.bergerkiller.bukkit.nolagg.sending.ChunkSendQueue.deQueueGlobal(ChunkSendQueue.java:108)
    at com.bergerkiller.bukkit.nolagg.sending.ChunkSendQueue.deQueueGlobal(ChunkSendQueue.java:102)
    at com.bergerkiller.bukkit.nolagg.sending.ChunkSendQueue.deQueueGlobal(ChunkSendQueue.java:96)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.preexecute(ChunkOperation.java:46)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.schedule(ChunkScheduler.java:105)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.schedule(ChunkScheduler.java:96)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.schedule(ChunkScheduler.java:93)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.schedule(ChunkScheduler.java:90)
    at com.bergerkiller.bukkit.nolagg.NLWorldListener.onChunkPopulate(NLWorldListener.java:66)
    at org.bukkit.plugin.java.JavaPluginLoader$53.execute(JavaPluginLoader.java:633)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:182)
    at net.minecraft.server.Chunk.a(Chunk.java:808)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:96)
    at net.minecraft.server.ChunkProviderServer.getOrCreateChunk(ChunkProviderServer.java:106)
    at net.minecraft.server.World.getChunkAt(World.java:333)
    at net.minecraft.server.World.isChunkLoaded(World.java:528)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.getLightLevel(ChunkOperation.java:63)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.fixBlockLighting(ChunkOperation.java:77)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.execute(ChunkOperation.java:115)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.run(ChunkScheduler.java:150)
2012-01-13 08:47:08 [INFO] This error is logged only once: it could have occurred multiple times by now.
2012-01-13 08:47:08 [WARNING] Could not properly handle event CHUNK_POPULATED:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler
    at org.bukkit.event.world.WorldListener.onChunkPopulate(WorldListener:0)
    at org.bukkit.plugin.java.JavaPluginLoader$53.execute(JavaPluginLoader.java:633)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:182)
    at net.minecraft.server.Chunk.a(Chunk.java:808)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:96)
    at net.minecraft.server.ChunkProviderServer.getOrCreateChunk(ChunkProviderServer.java:106)
    at net.minecraft.server.World.getChunkAt(World.java:333)
    at net.minecraft.server.World.isChunkLoaded(World.java:528)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.getLightLevel(ChunkOperation.java:63)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.fixBlockLighting(ChunkOperation.java:75)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.execute(ChunkOperation.java:115)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.run(ChunkScheduler.java:150)
2012-01-13 08:47:08 [INFO] This error is logged only once: it could have occurred multiple times by now.
2012-01-13 08:47:08 [WARNING] Could not properly handle a code section:
java.lang.IllegalAccessError: Synchronized code got accessed from another thread: com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler
    at com.bergerkiller.bukkit.nolagg.sending.ChunkSendQueue.deQueueGlobal(ChunkSendQueue.java:108)
    at com.bergerkiller.bukkit.nolagg.sending.ChunkSendQueue.deQueueGlobal(ChunkSendQueue.java:102)
    at com.bergerkiller.bukkit.nolagg.sending.ChunkSendQueue.deQueueGlobal(ChunkSendQueue.java:96)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.preexecute(ChunkOperation.java:46)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.schedule(ChunkScheduler.java:105)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.schedule(ChunkScheduler.java:96)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.schedule(ChunkScheduler.java:93)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.schedule(ChunkScheduler.java:90)
    at com.bergerkiller.bukkit.nolagg.NLWorldListener.onChunkPopulate(NLWorldListener.java:66)
    at org.bukkit.plugin.java.JavaPluginLoader$53.execute(JavaPluginLoader.java:633)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:182)
    at net.minecraft.server.Chunk.a(Chunk.java:808)
    at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:96)
    at net.minecraft.server.ChunkProviderServer.getOrCreateChunk(ChunkProviderServer.java:106)
    at net.minecraft.server.World.getChunkAt(World.java:333)
    at net.minecraft.server.World.isChunkLoaded(World.java:528)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.getLightLevel(ChunkOperation.java:63)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.fixBlockLighting(ChunkOperation.java:75)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkOperation.execute(ChunkOperation.java:115)
    at com.bergerkiller.bukkit.nolagg.scheduler.ChunkScheduler.run(ChunkScheduler.java:150)
2012-01-13 08:47:08 [INFO] This error is logged only once: it could have occurred multiple times by now.

At least from what I was reading in the Synchronized Code Access page, this appears to be a NoLagg specific error.

I am running NoLagg v 1.56.5

Here are the plugins I am running:

TreasureHunt, WorldGuard, oreRespawn, MoneyDrop, HandyTorch, Vault, TreasureChest, BukkitNyan, Essentials, RemoteToolkitPlugin, Multiverse-Core, ProtectionStones, DistantFarm, InfoApi, PermissionsEx, MineBackup, Permissions, EndReset, PlayerLogger, HeroicDeath, LightningRod, CleanroomGenerator, Craftipedia, Multiverse-Portals, iConomy, WorldInventories, SimpleRegionMarket, OcarinaSong, creaturebox, BananaChunk, ChangeSilkTouch, WorldEdit, eXPra, ChatManager, EssentialsSpawn, Modifyworld, dynmap, ChestShop, NoLagg, BookWorm, Register, Stats 2.0, Catacombs, Citizens, Fortification

Let me know if you need more information provided!

bergerkiller commented 12 years ago

Ok seriously I am in awe while reading this. It loads the chunk when I SPECIFICALLY want to know IF the chunk is loaded? Sorry, but I'm afraid someone at Bukkit screwed something up... What version of CraftBukkit did you use?

at net.minecraft.server.World.getChunkAt(World.java:333)
at net.minecraft.server.World.isChunkLoaded(World.java:528)
jonnay commented 12 years ago

This server is running Craftbukkit version git-Bukkit-1.0.1-R1-b1597jnks (MC: 1.0.1) (Implementing API version 1.0.1-R1)

jonnay commented 12 years ago

This isn't a constant issue, but seems to happen once in awhile.

bergerkiller commented 12 years ago

I honestly have no idea why this happens. The World.isChunkLoaded doesn't even call getChunkAt, so I have no idea why it does. It appears to be a problem with your CraftBukkit build...

bergerkiller commented 12 years ago

Since I no longer get these reports, I guess the guys at Bukkit resolved it. I am closing it, unless someone notices it happening again...although even then the latest version doesn't even use isChunkLoaded anymore.

jonnay commented 12 years ago

That's correct, I don't see these anymore. :)