When exiting a freshly created minecraft Server with Ctrl+C on the linux console, I got a lot of console spam. The messages all were
java.util.ConcurrentModificationException
at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1115)
at java.util.TreeMap$KeyIterator.next(TreeMap.java:1169)
at jr.a(SourceFile:454)
at aed.a(SourceFile:217)
at aed.a(SourceFile:91)
at jq.b(SourceFile:154)
at jq.a(SourceFile:183)
at jr.a(SourceFile:602)
at net.minecraft.server.MinecraftServer.a(SourceFile:263)
at net.minecraft.server.MinecraftServer.m(SourceFile:283)
at hg.run(SourceFile:566)
Being able to code a little bit in Java, this seems to be a severe bug (race condition or missing synchronization or something).
After restarting the server some chunks looked as if they were not saved correctly.
This is reproducible.
Can attach additional files like server.properties if necessary.
Linked issues
Comments 12
Note that this bug only occurs when you exit a server you just created/started a few seconds ago with a fresh world. As I said, it's probably happening because the initial chunk generation is still happening while the server is already exiting.
@@unknown: That's something different.
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification
vs.
java.util.ConcurrentModificationException
at java.util.TreeMap$PrivateEntryIterator.nextEntry
ConcurrentModificationException means that one thread cannot get a lock on a resource because some other thread has it already (If I do interpret that correctly), but the causes for both exceptions are different.
It's usually a race condition. This report mentions race conditions. So, rather than risk a duplicate report, I just commented here.
I believe this situation now triggers the watchdog thread, by default: MC-63590
Is this still a concern in the current Minecraft version 1.8.1 Prerelease 3 / Launcher version 1.5.3 or later? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.
Are you using any plugins?