Stormwind99 / FoodFunk

Minecraft mod: What is that funky smell in my backpack? Food spoils over time unless preserved. Configure any item to rot, any container to preserve items.
https://minecraft.curseforge.com/projects/food-funk
GNU Lesser General Public License v3.0
10 stars 8 forks source link

ConcurrentModificationException crash #46

Closed darloth closed 5 years ago

darloth commented 5 years ago

Crashes when a certain game state is loaded, with a ConcurrentModificationException in server tick loop error.

If I remove foodfunk, the crash goes away.

I have a save where it happens 100% of the time, but there's also a lot of other mods involved and the save is 33mb. If it's valuable I can upload it somewhere along with a modlist (perhaps a twitch modpack export, which is only about 1mb, though you'd still need to download all the other mods not to mention use the twitch launcher - still, if that'd be useful please let me know and I will provide those!)

This exact same config has had no issue until now, and it seems to have been precipitated by me crashing the game some other way (specifically, removing a portable crafting table that I was using at the time I took it out of my hotbar - stupid, but hey!)

Reloading without the mod, saving, and loading with the mod has fixed the issue for me if that's a useful data point (though at the cost of destroying my food storage, alas!)

Log: 2018-10-18-6.log

Configs (as .log for upload) foodfunk.log wumpleutil.log

Stormwind99 commented 5 years ago

Looks like something causes an item's decay state to be set at a time during startup when it can't be set due to multithreading.

I'll try to find a workaround.

[13:02:56] [main/INFO]: [net.minecraft.init.Bootstrap:func_179870_a:553]: ---- Minecraft Crash Report ----

WARNING: coremods are present:
  ForgelinPlugin (Forgelin-1.7.4.jar)
  BedPatch (bedpatch-2.2-1.12.2.jar)
  AstralCore (astralsorcery-1.12.2-1.9.4.jar)
  LibrarianLib Plugin (librarianlib-1.12.2-4.15.jar)
  wings (wings-1.1.0-1.12.2.jar)
  NWRTweak (redstonepaste-mc1.12-1.7.5.jar)
  LoadingPlugin (Bloodmoon-MC1.12.2-1.5.3.jar)
  MalisisCorePlugin (malisiscore-1.12.2-6.4.0.jar)
  CTMCorePlugin (CTM-MC1.12.2-0.3.2.18.jar)
  SSLoadingPlugin (SereneSeasons-1.12.2-1.2.6-universal.jar)
  IELoadingPlugin (ImmersiveEngineering-core-0.12-86.jar)
  No More Glowing Pots (nomoreglowingpots-1.0.jar)
  LoadingPlugin (Quark-r1.5-130.jar)
  ColytraLoadingPlugin (colytra-1.12.2-1.1.0.jar)
  IvToolkit (IvToolkit-1.3.3-1.12.jar)
  ComfortsCoreLoadingPlugin (comforts-1.12.2-1.3.0.jar)
  DynamicSurroundingsCore (DynamicSurroundings-1.12.2-3.4.9.16.jar)
  llibrary (llibrary-core-1.0.8-1.12.2.jar)
Contact their authors BEFORE contacting forge

// But it works on my machine.

Time: 10/18/18 1:02 PM
Description: Exception in server tick loop

java.util.ConcurrentModificationException
    at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429)
    at java.util.HashMap$ValueIterator.next(HashMap.java:1458)
    at net.minecraft.world.World.func_147448_a(World.java:1946)
    at net.minecraft.world.chunk.Chunk.func_76631_c(Chunk.java:856)
    at net.minecraftforge.common.chunkio.ChunkIOProvider.syncCallback(ChunkIOProvider.java:109)
    at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:94)
    at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:118)
    at net.minecraft.world.gen.ChunkProviderServer.func_186028_c(ChunkProviderServer.java:89)
    at net.minecraft.world.gen.ChunkProviderServer.func_186025_d(ChunkProviderServer.java:135)
    at net.minecraft.world.World.func_72964_e(World.java:310)
    at net.minecraft.world.World.func_175726_f(World.java:305)
    at net.minecraft.world.World.func_180495_p(World.java:911)
    at net.malisis.core.util.clientnotif.ClientNotificationManager.notify(ClientNotificationManager.java:88)
    at net.minecraft.world.World.handler$onNeighborChanged$zza000(World.java:4118)
    at net.minecraft.world.World.func_190524_a(World.java)
    at net.minecraft.world.World.func_175685_c(World.java:497)
    at net.minecraft.world.World.func_175722_b(World.java:440)
    at net.minecraft.world.World.markAndNotifyBlock(World.java:381)
    at net.minecraft.world.World.func_180501_a(World.java:361)
    at net.minecraft.world.World.func_175698_g(World.java:398)
    at com.wumple.util.adapter.TileEntityThingBase.invalidate(TileEntityThingBase.java:51)
    at com.wumple.util.misc.TypeIdentifier.transform(TypeIdentifier.java:111)
    at com.wumple.util.misc.TypeIdentifier.createAndTransform(TypeIdentifier.java:145)
    at com.wumple.foodfunk.capability.rot.RotProperty.forceRot(RotProperty.java:44)
    at com.wumple.foodfunk.capability.rot.Rot.expired(Rot.java:72)
    at com.wumple.util.capability.eventtimed.IEventTimedThingCap.evaluate(IEventTimedThingCap.java:170)
    at com.wumple.foodfunk.rottables.RotTickingTileEntity.doIt(RotTickingTileEntity.java:42)
    at com.wumple.foodfunk.rottables.RotTickingTileEntity.ensureInitialized(RotTickingTileEntity.java:49)
    at com.wumple.util.placeholder.TileEntityPlaceholder.onLoad(TileEntityPlaceholder.java:29)
    at net.minecraft.world.World.func_175700_a(World.java:1921)
    at net.minecraft.world.World.func_147448_a(World.java:1948)
    at net.minecraft.world.chunk.Chunk.func_76631_c(Chunk.java:856)
    at net.minecraftforge.common.chunkio.ChunkIOProvider.syncCallback(ChunkIOProvider.java:109)
    at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:94)
    at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:118)
    at net.minecraft.world.gen.ChunkProviderServer.func_186028_c(ChunkProviderServer.java:89)
    at net.minecraft.world.gen.ChunkProviderServer.func_186025_d(ChunkProviderServer.java:135)
    at net.minecraft.server.MinecraftServer.func_71222_d(MinecraftServer.java:344)
    at net.minecraft.server.integrated.IntegratedServer.func_71247_a(IntegratedServer.java:142)
    at net.minecraft.server.integrated.IntegratedServer.func_71197_b(IntegratedServer.java:156)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486)
    at java.lang.Thread.run(Thread.java:745)
Stormwind99 commented 5 years ago

Probably fixed in https://github.com/Stormwind99/FoodFunk/commit/90b85b3f702a9fc1d8377310f9d9d3468c1fc42e (but I can't verify fix since I can't reproduce the crash)

Try Food Funk 4.9.0 and let me know. Thanks!

Stormwind99 commented 5 years ago

I can't duplicate this issue, but I suspect I know the cause.

Fixed in WumpleUtil 2.11.12 - update to that version or newer and crash should stop.

Fixed in Stormwind99/WumpleUtil@f9a58aa

rsclapper commented 5 years ago

Hey @Stormwind99 , Great work on this mod, I love the concept. I've been building a mod pack and ran into this error over several days. Currently on 4.9.5. Once I removed the mod, it began working again. https://pastebin.com/V920ebg4