Terrain Control

Terrain Control

235k Downloads

MCPC+ build 108: java.util.ConcurrentModificationException

keenerb opened this issue ยท 2 comments

commented

http://pastie.org/8447932

TerrainControl v2.5.1-SNAPSHOT

2013-11-01 09:28:58 [WARNING] Failed to handle packet for Skuli_Steinulf/192.168.5.1: net.minecraft.util.ReportedException: Exception getting block type in world
        at net.minecraft.world.World.func_72798_a(World.java:688)
        at atomicstryker.ruins.common.RuinTemplate.checkArea(RuinTemplate.java:159)
        at atomicstryker.ruins.common.RuinGenerator.createBuilding(RuinGenerator.java:116)
        at atomicstryker.ruins.common.RuinGenerator.generateNormal(RuinGenerator.java:38)
        at atomicstryker.ruins.common.RuinsMod.generateSurface(RuinsMod.java:122)
        at atomicstryker.ruins.common.RuinsMod.access$200(RuinsMod.java:37)
        at atomicstryker.ruins.common.RuinsMod$RuinsWorldGenerator.generate(RuinsMod.java:101)
        at cpw.mods.fml.common.registry.GameRegistry.generateWorld(GameRegistry.java:184)
        at net.minecraft.world.gen.ChunkProviderServer.func_73153_a(ChunkProviderServer.java:385)
        at com.bergerkiller.bukkit.common.internal.ChunkProviderServerHook.func_73153_a(ChunkProviderServerHook.java:77)
        at net.minecraft.world.chunk.Chunk.func_76624_a(Chunk.java:1333)
        at net.minecraft.world.gen.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:231)
        at com.bergerkiller.bukkit.common.internal.ChunkProviderServerHook.getChunkAt(ChunkProviderServerHook.java:122)
        at net.minecraft.server.management.PlayerInstance.<init>(PlayerInstance.java:46)
        at net.minecraft.server.management.PlayerManager.func_72690_a(PlayerManager.java:140)
        at net.minecraft.server.management.PlayerManager.func_72691_b(PlayerManager.java:240)
        at net.minecraft.server.management.PlayerManager.func_72685_d(PlayerManager.java:343)
        at net.minecraft.server.management.ServerConfigurationManager.func_72358_d(ServerConfigurationManager.java:380)
        at net.minecraft.network.NetServerHandler.func_72498_a(NetServerHandler.java:594)
        at com.bergerkiller.bukkit.common.internal.network.CommonPacketHandler$CommonPlayerConnection.func_72498_a(CommonPacketHandler.java:319)
        at net.minecraft.network.packet.Packet10Flying.func_73279_a(Packet10Flying.java:51)
        at net.minecraft.network.TcpConnection.func_74428_b(TcpConnection.java:469)
        at net.minecraft.network.NetServerHandler.func_72570_d(NetServerHandler.java:232)
        at net.minecraft.network.NetworkListenThread.func_71747_b(NetworkListenThread.java:54)
        at net.minecraft.server.dedicated.DedicatedServerListenThread.func_71747_b(DedicatedServerListenThread.java:34)
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:898)
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:327)
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:765)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:647)
        at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)
Caused by: java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextEntry(HashMap.java:806)
        at java.util.HashMap$ValueIterator.next(HashMap.java:835)
        at net.minecraft.world.gen.structure.MapGenStructure.func_75051_a(MapGenStructure.java:77)
        at com.khorn.terraincontrol.bukkit.structuregens.VillageGen.place(VillageGen.java:112)
        at com.khorn.terraincontrol.bukkit.BukkitWorld.PlaceTerrainObjects(BukkitWorld.java:249)
        at com.khorn.terraincontrol.generator.ObjectSpawner.populate(ObjectSpawner.java:56)
        at com.khorn.terraincontrol.bukkit.TCBlockPopulator.populate(TCBlockPopulator.java:27)
        at net.minecraft.world.gen.ChunkProviderServer.func_73153_a(ChunkProviderServer.java:378)
        at com.bergerkiller.bukkit.common.internal.ChunkProviderServerHook.func_73153_a(ChunkProviderServerHook.java:77)
        at net.minecraft.world.chunk.Chunk.func_76624_a(Chunk.java:1343)
        at net.minecraft.world.gen.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:231)
        at com.bergerkiller.bukkit.common.internal.ChunkProviderServerHook.getChunkAt(ChunkProviderServerHook.java:122)
        at net.minecraft.world.gen.ChunkProviderServer.func_73158_c(ChunkProviderServer.java:149)
        at net.minecraft.world.gen.ChunkProviderServer.func_73154_d(ChunkProviderServer.java:253)
        at net.minecraft.world.World.func_72964_e(World.java:803)
        at net.minecraft.world.World.func_72798_a(World.java:679)
        ... 29 more
commented

It looks like the TC populator was called from another thread, which won't work as most of TC is singlethreaded. This is most likely an issue with MCPC+ or BKCommonLib.

commented

Inactive. If it's still an issue when using TC 2.6.1 as a Forge mod on MCPC+ (it doesn't work as Bukkit plugin, as the Bukkit plugin is for 1.7.8/9 servers, and MCPC+ is 1.7.2), please leave a comment here and I'll reopen this.

Nice thing about 1.7's logging is that it logs on which thread the code was running. If this issue pops up again, it's probably easier to fix.