[SPIGOT-1964] on NavigationListener.a server crash Created: 18/Mar/16  Updated: 11/Dec/17  Resolved: 18/Mar/16

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Cat73 Assignee: Unassigned
Resolution: Fixed Votes: 1
Labels: 1.9, bug, crash, spigot


 Description   

java.util.ConcurrentModificationException
at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:806)
at java.util.WeakHashMap$KeyIterator.next(WeakHashMap.java:839)
at net.minecraft.server.v1_9_R1.NavigationListener.a(NavigationListener.java:23)
at net.minecraft.server.v1_9_R1.World.notify(World.java:447)
at net.minecraft.server.v1_9_R1.World.notifyAndUpdatePhysics(World.java:409)
at net.minecraft.server.v1_9_R1.World.setTypeAndData(World.java:397)
at net.minecraft.server.v1_9_R1.BlockPiston.a(BlockPiston.java:194)
at net.minecraft.server.v1_9_R1.WorldServer.a(WorldServer.java:1245)
at net.minecraft.server.v1_9_R1.WorldServer.ao(WorldServer.java:1231)
at net.minecraft.server.v1_9_R1.WorldServer.doTick(WorldServer.java:266)
at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:776)
at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400)
at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660)
at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559)
at java.lang.Thread.run(Thread.java:745)

https://hub.spigotmc.org/jira/browse/SPIGOT-1953



 Comments   
Comment by Cat73 [ 18/Mar/16 ]

Iterator<NavigationAbstract> it = this.b.keySet().iterator();
NavigationAbstract navigationabstract;
while(it.hasNext()) {
navigationabstract = it.next();

Comment by Braydon Dagenais [ 18/Mar/16 ]

I am having this same issue after updating to the latest release. Here is my crash report:

http://pastebin.com/DkwP3Svi

Comment by Niklas Linz [ 18/Mar/16 ]

Yes i do. This crash is only on my testserver

Comment by Cat73 [ 18/Mar/16 ]

Please use the old version
java -jar BuildTools.jar --rev 700

Comment by Niklas Linz [ 18/Mar/16 ]

Hey, same error at me on testserver with the newest build:

Description: Exception ticking world

java.util.ConcurrentModificationException
at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:806)
at java.util.WeakHashMap$KeyIterator.next(WeakHashMap.java:839)
at net.minecraft.server.v1_9_R1.NavigationListener.a(NavigationListener.java:23)
at net.minecraft.server.v1_9_R1.World.notify(World.java:447)
at net.minecraft.server.v1_9_R1.World.notifyAndUpdatePhysics(World.java:409)
at net.minecraft.server.v1_9_R1.World.setTypeAndData(World.java:397)
at net.minecraft.server.v1_9_R1.World.setAir(World.java:422)
at net.minecraft.server.v1_9_R1.BlockLeaves.b(BlockLeaves.java:146)
at net.minecraft.server.v1_9_R1.BlockLeaves.b(BlockLeaves.java:129)
at net.minecraft.server.v1_9_R1.Block.a(Block.java:264)
at net.minecraft.server.v1_9_R1.WorldServer.j(WorldServer.java:500)
at net.minecraft.server.v1_9_R1.WorldServer.doTick(WorldServer.java:249)
at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:776)
at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400)
at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660)
at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559)
at java.lang.Thread.run(Thread.java:745)

Stacktrace:
at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:806)
at java.util.WeakHashMap$KeyIterator.next(WeakHashMap.java:839)
at net.minecraft.server.v1_9_R1.NavigationListener.a(NavigationListener.java:23)
at net.minecraft.server.v1_9_R1.World.notify(World.java:447)
at net.minecraft.server.v1_9_R1.World.notifyAndUpdatePhysics(World.java:409)
at net.minecraft.server.v1_9_R1.World.setTypeAndData(World.java:397)
at net.minecraft.server.v1_9_R1.World.setAir(World.java:422)
at net.minecraft.server.v1_9_R1.BlockLeaves.b(BlockLeaves.java:146)
at net.minecraft.server.v1_9_R1.BlockLeaves.b(BlockLeaves.java:129)
at net.minecraft.server.v1_9_R1.Block.a(Block.java:264)
at net.minecraft.server.v1_9_R1.WorldServer.j(WorldServer.java:500)
at net.minecraft.server.v1_9_R1.WorldServer.doTick(WorldServer.java:249)

Comment by Cat73 [ 18/Mar/16 ]

The iterators returned by the iterator method of the collections returned by all of this class's "collection view methods" are fail-fast: if the map is structurally modified at any time after the iterator is created, in any way except through the iterator's own remove method, the iterator will throw a ConcurrentModificationException. Thus, in the face of concurrent modification, the iterator fails quickly and cleanly, rather than risking arbitrary, non-deterministic behavior at an undetermined time in the future.

Generated at Sat Dec 13 22:30:18 UTC 2025 using Jira 10.3.13#10030013-sha1:56dd970ae30ebfeda3a697d25be1f6388b68a422.