DuckyCrayfish / hourglass

Hourglass is a Minecraft Forge mod that gives you control over the passage of time. It allows you to customize the length of the day-night cycle and alters the Minecraft sleep mechanic by accelerating the speed of time.
GNU Lesser General Public License v3.0
13 stars 5 forks source link

[Forge 1.16.5] - ConcurrentModificationException on ServerLevelWrapper#wakeupAllPlayers call #57

Open qruet opened 1 year ago

qruet commented 1 year ago

Version: Hourglass v.1.2.1.0

As the title suggests, there is a ConcurrentModificationException that is crashing my Forge 1.16.5 server.

See log for details below:

---- Minecraft Crash Report ----
// Oh - I know what I did wrong!

Time: 1/30/23 4:43 PM
Description: Exception in server tick loop

java.util.ConcurrentModificationException: null
        at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1388) ~[?:1.8.0_202] {}
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_202] {}
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_202] {}
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[?:1.8.0_202] {}
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[?:1.8.0_202] {}
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_202] {}
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_202] {}
        at net.lavabucket.hourglass.wrappers.ServerLevelWrapper.wakeUpAllPlayers(ServerLevelWrapper.java:153) ~[hourglass:1.16.5-1.2.1.0] {re:classloading}
        at net.lavabucket.hourglass.time.TimeService.handleMorning(TimeService.java:105) ~[hourglass:1.16.5-1.2.1.0] {re:classloading}
        at net.lavabucket.hourglass.time.TimeService.tick(TimeService.java:92) ~[hourglass:1.16.5-1.2.1.0] {re:classloading}
        at net.lavabucket.hourglass.time.TimeServiceManager.onWorldTick(TimeServiceManager.java:120) ~[hourglass:1.16.5-1.2.1.0] {re:classloading}
        at net.minecraftforge.eventbus.ASMEventHandler_32_TimeServiceManager_onWorldTick_WorldTickEvent.invoke(.dynamic) ~[?:?] {}
        at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {}
        at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {}
        at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {}
        at net.minecraftforge.fml.hooks.BasicEventHooks.onPreWorldTick(BasicEventHooks.java:81) ~[forge:?] {re:classloading}
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:848) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterendforge.mixins.json:MinecraftServerMixin,pl:mixin:APP:structure_gel.mixins.json:MinecraftServerMixin,pl:mixin:A,pl:runtimedistcleaner:A}
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:291) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:787) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterendforge.mixins.json:MinecraftServerMixin,pl:mixin:APP:structure_gel.mixins.json:MinecraftServerMixin,pl:mixin:A,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:642) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterendforge.mixins.json:MinecraftServerMixin,pl:mixin:APP:structure_gel.mixins.json:MinecraftServerMixin,pl:mixin:A,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_240783_a_(MinecraftServer.java:232) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterendforge.mixins.json:MinecraftServerMixin,pl:mixin:APP:structure_gel.mixins.json:MinecraftServerMixin,pl:mixin:A,pl:runtimedistcleaner:A}
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202] {}
DuckyCrayfish commented 1 year ago

The nature of this bug is interesting. Would you mind providing me with your mod list? Also, is this a dedicated server instance?

qruet commented 1 year ago

I am running a dedicated server instance. Modlist:

[mod:mowziesmobs], [mod:betterdungeons], [mod:connectiblechains], [mod:spiderstpo], [mod:jei], [mod:conjurer_illager], 
[mod:betternether], [mod:torohealth], [mod:hourglass], [mod:toadterror], [mod:bettercaves], [mod:fallingleaves], [mod:citadel], 
[mod:alexsmobs], [mod:yungsapi], [mod:bookshelf], [mod:randompatches], [mod:waila], [mod:wawla], [mod:dynview], 
[mod:jeresources], [mod:forge], [mod:twilightforest], [mod:subwild], [mod:betterendforge], [mod:structure_gel], [mod:pixelmon],
[mod:tconstruct], [mod:biomesoplenty], [mod:endrem], [mod:chickenchunks], [mod:spark], [mod:cnb], [mod:flywheel], 
[mod:create], [mod:curios], [mod:mantle], [mod:xaerominimap], [mod:gravestone], [mod:performant], [mod:diagonalfences], 
[mod:witherstormmod], [mod:betterstrongholds], [mod:antighost], [mod:theabyss], [mod:coroutil], [mod:damagetilt],
[mod:puzzleslib], [mod:enhancedcelestials], [mod:undergarden], [mod:thebeginning], [mod:harderfarther], [mod:codechickenlib],
[mod:soundfilters], [mod:bettermineshafts], [mod:geckolib3]
qruet commented 1 year ago

Just to update, I've narrowed down the issue to theabyss mod which teleports the player out of bed to the "sleep dimension". I figure this issue would also occur with other similar mods that teleport you in your sleep.