Dynamic Surroundings

Dynamic Surroundings

51M Downloads

Crash when i pre-gen minecraft

firstaid0x1 opened this issue ยท 4 comments

commented

forge-14.23.5.2854

Debug log 1/8 :

  1. https://pastebin.com/dEs7dBa2
  2. https://pastebin.com/qrmHm3iT
  3. https://pastebin.com/634ms50T
  4. https://pastebin.com/emr37T74
  5. https://pastebin.com/bJnf1gj5
  6. https://pastebin.com/SZ6RrxvW
  7. https://pastebin.com/LrTwiLw6
  8. https://pastebin.com/BsF10y3m

Crash log:
https://pastebin.com/GcujWDLE

Description:
"orecruncher.dsurround" issue."
OpenAL issue (the underlying sound libraries).

mods
DynamicSurroundings-1.12.2-3.5.4.3
Chunk+Pregenerator+V1.12-2.3
OreLib-1.12.2-3.5.2.2
I have alot other mods installed
but these came up as possable problems

commented

Here is the exception:

09:24:35] [Server thread/ERROR] [net.minecraft.server.MinecraftServer]: Encountered an unexpected exception
java.util.ConcurrentModificationException: null
	at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429) ~[?:1.8.0_25]
	at java.util.HashMap$KeyIterator.next(HashMap.java:1453) ~[?:1.8.0_25]
	at net.minecraft.entity.EntityTracker.tick(EntityTracker.java:290) ~[ol.class:?]
	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:779) ~[MinecraftServer.class:?]
	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:668) ~[MinecraftServer.class:?]
	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:279) ~[chd.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_25]

This happens on the server thread. For the version of DS you are using there is some server side logic, but I do not see DS in the call stack. Do you know why they think this is a DS issue?

EDIT: Another exception from the log:

[09:21:34] [Server thread/ERROR] [net.minecraft.world.chunk.storage.AnvilChunkLoader]: Failed to save chunk
java.util.ConcurrentModificationException: null
	at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1207) ~[?:1.8.0_25]
	at java.util.TreeMap$KeyIterator.next(TreeMap.java:1261) ~[?:1.8.0_25]
	at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:792) ~[oo.class:?]
	at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:769) ~[oo.class:?]
	at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:394) ~[aye.class:?]
	at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:174) [aye.class:?]
	at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:202) [on.class:?]
	at net.minecraft.world.gen.ChunkProviderServer.tick(ChunkProviderServer.java:271) [on.class:?]
	at net.minecraft.world.WorldServer.tick(WorldServer.java:207) [oo.class:?]
	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:756) [MinecraftServer.class:?]
	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:668) [MinecraftServer.class:?]
	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:279) [chd.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_25]

Concurrent modification exceptions are not good. It means two different threads of execution were using/modifying the same collection. This could lead to corruption and other nastiness. I have seen similar issues related to sounds where the server thread was trying to play a sound while the client thread was processing the list. Net result is that sounds would stop playing because the sound list got corrupted.

As mentioned prior I don't see where DS is involved. It could be that VanillaFix tried to recover from a bad exception which resulted in the sound engine being reinitialized thus causing OpenAL a problem.

commented

The story about the sound list is the side effect of concurrent modification exceptions. In general suppressing exceptions like this and trying to keep the client running may result in further instability.

To be clear I was musing about the role VF plays in handling crashes like this. I don' think it is involved in this one. The cause of the crash was due to the server ticking entities, but some other thread looks to be modifying an in memory collection at the same time. Unfortunately I do not know what that thread is. It could be that there is a latent bug in another mod that can trigger with or without pregen. It just so happens that pregen forces a lot of chunks to generate in a short period of time so the chances of triggering that bug are greater.

commented
  "Do you know why they think this is a DS issue?"

-no, i could ask if you want?

   "Net result is that sounds would stop playing because the sound list got corrupted."

-Would the sound list get corrupt if the pre-gen doesn't crash?
-becuase sometimes it doesn't crah at 50 chunks but aways never at 30 chunks

    "It could be that VanillaFix tried to recover from a bad exception which resulted in the sound engine being reinitialized thus 
     causing OpenAL a problem."

-Should i mention this to vanillafix or it's doing what it's suppose to do.

-Will OpenAL be a problem if i don't use Chunk+Pregenerator+V1.12-2.3? becuase it only crashes when i use pre gen.
-ill remove VanillaFix and start pre gen to see if i get the crash still.

commented

Will ima trial and error. if i ever come across that bug or any other problem that relates to this
i would let you know if you are still be interested