Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Crash][ConcurrentModificationException] Modifying Set net/minecraft/world/entity/ai/goal/GoalSelector#f_25345_ while iterating. #368

Open
Viola-Siemens opened this issue Feb 11, 2025 · 0 comments
Labels
bug Something isn't working. Whoops

Comments

@Viola-Siemens
Copy link

Describe the bug
artifacts modified container net/minecraft/world/entity/ai/goal/GoalSelector#f_25345_ while iterating.

To Reproduce
Start the game with artifacts and architectury. Put on Thorn Pendant, summon a 1-health wither skeleton to attack you (don't attack it). When thorn pendant kills the skeleton, it sometimes crashes.

Game Environment

  • Artifacts: 9.5.13 latest release
  • Forge/Fabric Api: 47.3.11

Important stacktraces and code analysis

Full crash info: minecraft-exported-crash-info-2025-02-11T12-20-18.zip

I used this project to troubleshoot and found that artifacts causes this CME. Please see CMESuckMyDuck-old.log for details.

Although artifacts modified it in Server thread, which is correct, it still crashes because when modification happens, it's being iterated.

Crash report:

Time: 2025-02-11 12:18:05
Description: Ticking entity

java.util.ConcurrentModificationException: null
	at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:756) ~[?:?] {}
	at java.util.LinkedHashMap$LinkedKeyIterator.next(LinkedHashMap.java:778) ~[?:?] {}
	at net.minecraft.world.entity.ai.goal.GoalSelector.m_186081_(GoalSelector.java:118) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.entity.ai.goal.GoalSelector.m_25373_(GoalSelector.java:111) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.entity.Mob.m_6140_(Mob.java:760) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:botania_xplat.mixins.json:MobAccessor,pl:mixin:APP:tombstone.mixins.json:MobMixin,pl:mixin:APP:adastra-common.mixins.json:common.MobMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorMob,pl:mixin:APP:mixins.artifacts.common.json:accessors.MobAccessor,pl:mixin:APP:mixins.pneumaticcraft.json:accessors.MobAccess,pl:mixin:APP:ars_nouveau.mixins.json:MobAccessor,pl:mixin:APP:ars_nouveau.mixins.json:jar.MobAccessorMixin,pl:mixin:APP:aether.mixins.json:common.MobMixin,pl:mixin:APP:naturalist-common.mixins.json:MobMixin,pl:mixin:APP:moonlight-common.mixins.json:EntityMixin,pl:mixin:A}
	at net.minecraft.world.entity.LivingEntity.m_8107_(LivingEntity.java:2548) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:voidscape:attributes,re:classloading,pl:accesstransformer:B,xf:fml:voidscape:attributes,pl:mixin:APP:modernfix-forge.mixins.json:perf.forge_cap_retrieval.LivingEntityMixin,pl:mixin:APP:apotheosis.mixins.json:LivingEntityInvoker,pl:mixin:APP:apotheosis.mixins.json:LivingEntityMixin,pl:mixin:APP:apotheosis.mixins.json:MHFMixinLivingEntity,pl:mixin:APP:botania_xplat.mixins.json:LivingEntityAccessor,pl:mixin:APP:attributeslib.mixins.json:LivingEntityMixin,pl:mixin:APP:tombstone.mixins.json:LivingEntityMixin,pl:mixin:APP:caelus.mixins.json:MixinLivingEntity,pl:mixin:APP:adastra-common.mixins.json:common.EntityBelowWorldMixin,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityAccessor,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityMixin,pl:mixin:APP:adastra-common.mixins.json:common.radio.LivingEntityMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorLivingEntity,pl:mixin:APP:bookshelf.common.mixins.json:patches.entity.MixinLivingEntity,pl:mixin:APP:mixins.shetiphiancore.json:SPC_ThinBlockHandler$_LivingEntity,pl:mixin:APP:cataclysm.mixins.json:LivingEntityMixin,pl:mixin:APP:caupona.mixins.json:LivingEntityMixin,pl:mixin:APP:mixins.artifacts.common.json:accessors.LivingEntityAccessor,pl:mixin:APP:mixins.artifacts.common.json:item.hurtsound.LivingEntityMixin,pl:mixin:APP:mixins.artifacts.common.json:item.wearable.chorustotem.LivingEntityMixin,pl:mixin:APP:mixins.artifacts.common.json:item.hurtsound.client.LivingEntityMixin,pl:mixin:APP:mixins.artifacts.common.json:item.wearable.pocketpiston.client.LivingEntityMixin,pl:mixin:APP:mixins.artifacts.forge.json:item.wearable.snowshoes.LivingEntityMixin,pl:mixin:APP:endermanoverhaul-common.mixins.json:common.LivingEntityMixin,pl:mixin:APP:mixins.enderio.json:LivingEntityMixin,pl:mixin:APP:charmofundying.mixins.json:MixinLivingEntity,pl:mixin:APP:mixins.irons_spellbooks.json:LivingEntityMixin,pl:mixin:APP:ad_astra_giselle_addon.mixin.common.json:minecraft.LivingEntityMixin,pl:mixin:APP:curios.mixins.json:MixinLivingEntity,pl:mixin:APP:mixins.brandonscore.json:LivingEntityMixin,pl:mixin:APP:mixins.pneumaticcraft.json:coremods.LivingEntityMixin,pl:mixin:APP:mixins.cofhcore.json:LivingEntityMixin,pl:mixin:APP:blue_skies.mixins.json:LivingEntityMixin,pl:mixin:APP:netherportalfix.mixins.json:LivingEntityAccessor,pl:mixin:APP:ars_nouveau.mixins.json:LivingAccessor,pl:mixin:APP:ars_nouveau.mixins.json:elytra.MixinLivingEntity,pl:mixin:APP:ars_nouveau.mixins.json:perks.PerkLivingEntity,pl:mixin:APP:eidolon.mixins.json:LivingEntityMixin,pl:mixin:APP:aether.mixins.json:common.LivingEntityMixin,pl:mixin:APP:aether.mixins.json:common.accessor.LivingEntityAccessor,pl:mixin:APP:lost_aether_content.mixins.json:LivingEntityMixin,pl:mixin:APP:mixins.sodiumdynamiclights.json:lightsource.LivingEntityMixin,pl:mixin:APP:voidtotem.mixins.json:LivingEntityMixin,pl:mixin:APP:kubejs-common.mixins.json:LivingEntityMixin,pl:mixin:APP:betterdeserttemples.mixins.json:PharaohKilledMixin,pl:mixin:APP:gtceu.mixins.json:LivingEntityMixin,pl:mixin:APP:quark.mixins.json:accessor.AccessorLivingEntity,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityAccessor,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityMixin,pl:mixin:APP:supplementaries.mixins.json:LivingEntityMixin,pl:mixin:APP:expandability.mixins.json:swimming.LivingEntityMixin,pl:mixin:APP:expandability-common.mixins.json:swimming.LivingEntityMixin,pl:mixin:APP:create.mixins.json:CustomItemUseEffectsMixin,pl:mixin:APP:create.mixins.json:LavaSwimmingMixin,pl:mixin:APP:create.mixins.json:accessor.LivingEntityAccessor,pl:mixin:A}
	at net.minecraft.world.entity.Mob.m_8107_(Mob.java:536) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:botania_xplat.mixins.json:MobAccessor,pl:mixin:APP:tombstone.mixins.json:MobMixin,pl:mixin:APP:adastra-common.mixins.json:common.MobMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorMob,pl:mixin:APP:mixins.artifacts.common.json:accessors.MobAccessor,pl:mixin:APP:mixins.pneumaticcraft.json:accessors.MobAccess,pl:mixin:APP:ars_nouveau.mixins.json:MobAccessor,pl:mixin:APP:ars_nouveau.mixins.json:jar.MobAccessorMixin,pl:mixin:APP:aether.mixins.json:common.MobMixin,pl:mixin:APP:naturalist-common.mixins.json:MobMixin,pl:mixin:APP:moonlight-common.mixins.json:EntityMixin,pl:mixin:A}
	at net.minecraft.world.entity.monster.Monster.m_8107_(Monster.java:42) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:tombstone.mixins.json:MonsterMixin,pl:mixin:APP:naturalist-common.mixins.json:MonsterMixin,pl:mixin:A}
	at net.minecraft.world.entity.monster.AbstractSkeleton.m_8107_(AbstractSkeleton.java:116) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:supplementaries-common.mixins.json:AbstractSkeletonMixin,pl:mixin:A}
	at net.minecraft.world.entity.LivingEntity.m_8119_(LivingEntity.java:2298) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:voidscape:attributes,re:classloading,pl:accesstransformer:B,xf:fml:voidscape:attributes,pl:mixin:APP:modernfix-forge.mixins.json:perf.forge_cap_retrieval.LivingEntityMixin,pl:mixin:APP:apotheosis.mixins.json:LivingEntityInvoker,pl:mixin:APP:apotheosis.mixins.json:LivingEntityMixin,pl:mixin:APP:apotheosis.mixins.json:MHFMixinLivingEntity,pl:mixin:APP:botania_xplat.mixins.json:LivingEntityAccessor,pl:mixin:APP:attributeslib.mixins.json:LivingEntityMixin,pl:mixin:APP:tombstone.mixins.json:LivingEntityMixin,pl:mixin:APP:caelus.mixins.json:MixinLivingEntity,pl:mixin:APP:adastra-common.mixins.json:common.EntityBelowWorldMixin,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityAccessor,pl:mixin:APP:adastra-common.mixins.json:common.LivingEntityMixin,pl:mixin:APP:adastra-common.mixins.json:common.radio.LivingEntityMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorLivingEntity,pl:mixin:APP:bookshelf.common.mixins.json:patches.entity.MixinLivingEntity,pl:mixin:APP:mixins.shetiphiancore.json:SPC_ThinBlockHandler$_LivingEntity,pl:mixin:APP:cataclysm.mixins.json:LivingEntityMixin,pl:mixin:APP:caupona.mixins.json:LivingEntityMixin,pl:mixin:APP:mixins.artifacts.common.json:accessors.LivingEntityAccessor,pl:mixin:APP:mixins.artifacts.common.json:item.hurtsound.LivingEntityMixin,pl:mixin:APP:mixins.artifacts.common.json:item.wearable.chorustotem.LivingEntityMixin,pl:mixin:APP:mixins.artifacts.common.json:item.hurtsound.client.LivingEntityMixin,pl:mixin:APP:mixins.artifacts.common.json:item.wearable.pocketpiston.client.LivingEntityMixin,pl:mixin:APP:mixins.artifacts.forge.json:item.wearable.snowshoes.LivingEntityMixin,pl:mixin:APP:endermanoverhaul-common.mixins.json:common.LivingEntityMixin,pl:mixin:APP:mixins.enderio.json:LivingEntityMixin,pl:mixin:APP:charmofundying.mixins.json:MixinLivingEntity,pl:mixin:APP:mixins.irons_spellbooks.json:LivingEntityMixin,pl:mixin:APP:ad_astra_giselle_addon.mixin.common.json:minecraft.LivingEntityMixin,pl:mixin:APP:curios.mixins.json:MixinLivingEntity,pl:mixin:APP:mixins.brandonscore.json:LivingEntityMixin,pl:mixin:APP:mixins.pneumaticcraft.json:coremods.LivingEntityMixin,pl:mixin:APP:mixins.cofhcore.json:LivingEntityMixin,pl:mixin:APP:blue_skies.mixins.json:LivingEntityMixin,pl:mixin:APP:netherportalfix.mixins.json:LivingEntityAccessor,pl:mixin:APP:ars_nouveau.mixins.json:LivingAccessor,pl:mixin:APP:ars_nouveau.mixins.json:elytra.MixinLivingEntity,pl:mixin:APP:ars_nouveau.mixins.json:perks.PerkLivingEntity,pl:mixin:APP:eidolon.mixins.json:LivingEntityMixin,pl:mixin:APP:aether.mixins.json:common.LivingEntityMixin,pl:mixin:APP:aether.mixins.json:common.accessor.LivingEntityAccessor,pl:mixin:APP:lost_aether_content.mixins.json:LivingEntityMixin,pl:mixin:APP:mixins.sodiumdynamiclights.json:lightsource.LivingEntityMixin,pl:mixin:APP:voidtotem.mixins.json:LivingEntityMixin,pl:mixin:APP:kubejs-common.mixins.json:LivingEntityMixin,pl:mixin:APP:betterdeserttemples.mixins.json:PharaohKilledMixin,pl:mixin:APP:gtceu.mixins.json:LivingEntityMixin,pl:mixin:APP:quark.mixins.json:accessor.AccessorLivingEntity,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityAccessor,pl:mixin:APP:supplementaries-common.mixins.json:LivingEntityMixin,pl:mixin:APP:supplementaries.mixins.json:LivingEntityMixin,pl:mixin:APP:expandability.mixins.json:swimming.LivingEntityMixin,pl:mixin:APP:expandability-common.mixins.json:swimming.LivingEntityMixin,pl:mixin:APP:create.mixins.json:CustomItemUseEffectsMixin,pl:mixin:APP:create.mixins.json:LavaSwimmingMixin,pl:mixin:APP:create.mixins.json:accessor.LivingEntityAccessor,pl:mixin:A}
	at net.minecraft.world.entity.Mob.m_8119_(Mob.java:337) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:botania_xplat.mixins.json:MobAccessor,pl:mixin:APP:tombstone.mixins.json:MobMixin,pl:mixin:APP:adastra-common.mixins.json:common.MobMixin,pl:mixin:APP:bookshelf.common.mixins.json:accessors.entity.AccessorMob,pl:mixin:APP:mixins.artifacts.common.json:accessors.MobAccessor,pl:mixin:APP:mixins.pneumaticcraft.json:accessors.MobAccess,pl:mixin:APP:ars_nouveau.mixins.json:MobAccessor,pl:mixin:APP:ars_nouveau.mixins.json:jar.MobAccessorMixin,pl:mixin:APP:aether.mixins.json:common.MobMixin,pl:mixin:APP:naturalist-common.mixins.json:MobMixin,pl:mixin:APP:moonlight-common.mixins.json:EntityMixin,pl:mixin:A}
	at net.minecraft.server.level.ServerLevel.observable$track(ServerLevel.java:8669) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:libx:level_load,re:classloading,pl:accesstransformer:B,xf:fml:libx:level_load,pl:mixin:APP:cupboard.mixins.json:ServerAddEntityMixin,pl:mixin:APP:betterendisland.mixins.json:ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.chunk_deadlock.ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.faster_structure_location.ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.cache_strongholds.ServerLevelMixin,pl:mixin:APP:botania_xplat.mixins.json:ServerLevelMixin,pl:mixin:APP:corgilib.mixins.json:MixinServerLevel,pl:mixin:APP:adastra-common.mixins.json:common.ServerLevelMixin,pl:mixin:APP:adastra-common.mixins.json:common.multipart.ServerLevelMixin,pl:mixin:APP:glitchcore.mixins.json:MixinServerLevel,pl:mixin:APP:immersiveengineering.mixins.json:coremods.ServerWorldMixin,pl:mixin:APP:hyperbox.mixins.json:ServerLevelMixin,pl:mixin:APP:ars_elemental.mixins.json:ServerLevelMixin,pl:mixin:APP:aether.mixins.json:common.accessor.ServerLevelAccessor,pl:mixin:APP:observable.common.json:ServerLevelMixin,pl:mixin:APP:kubejs-common.mixins.json:ServerLevelMixin,pl:mixin:APP:comforts.mixins.json:MixinServerSleepStatus,pl:mixin:APP:betterdeserttemples.mixins.json:ServerLevelMixin,pl:mixin:APP:supplementaries-common.mixins.json:ServerLevelMixin,pl:mixin:APP:create.mixins.json:accessor.ServerLevelAccessor,pl:mixin:APP:betterendisland.mixins.json:EndergeticExpansionMixins,pl:mixin:A}
	at net.minecraft.server.level.ServerLevel.redirect$eog000$observable$onTickNonPassenger(ServerLevel.java:8685) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:libx:level_load,re:classloading,pl:accesstransformer:B,xf:fml:libx:level_load,pl:mixin:APP:cupboard.mixins.json:ServerAddEntityMixin,pl:mixin:APP:betterendisland.mixins.json:ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.chunk_deadlock.ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.faster_structure_location.ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.cache_strongholds.ServerLevelMixin,pl:mixin:APP:botania_xplat.mixins.json:ServerLevelMixin,pl:mixin:APP:corgilib.mixins.json:MixinServerLevel,pl:mixin:APP:adastra-common.mixins.json:common.ServerLevelMixin,pl:mixin:APP:adastra-common.mixins.json:common.multipart.ServerLevelMixin,pl:mixin:APP:glitchcore.mixins.json:MixinServerLevel,pl:mixin:APP:immersiveengineering.mixins.json:coremods.ServerWorldMixin,pl:mixin:APP:hyperbox.mixins.json:ServerLevelMixin,pl:mixin:APP:ars_elemental.mixins.json:ServerLevelMixin,pl:mixin:APP:aether.mixins.json:common.accessor.ServerLevelAccessor,pl:mixin:APP:observable.common.json:ServerLevelMixin,pl:mixin:APP:kubejs-common.mixins.json:ServerLevelMixin,pl:mixin:APP:comforts.mixins.json:MixinServerSleepStatus,pl:mixin:APP:betterdeserttemples.mixins.json:ServerLevelMixin,pl:mixin:APP:supplementaries-common.mixins.json:ServerLevelMixin,pl:mixin:APP:create.mixins.json:accessor.ServerLevelAccessor,pl:mixin:APP:betterendisland.mixins.json:EndergeticExpansionMixins,pl:mixin:A}
	at net.minecraft.server.level.ServerLevel.m_8647_(ServerLevel.java:693) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:libx:level_load,re:classloading,pl:accesstransformer:B,xf:fml:libx:level_load,pl:mixin:APP:cupboard.mixins.json:ServerAddEntityMixin,pl:mixin:APP:betterendisland.mixins.json:ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.chunk_deadlock.ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.faster_structure_location.ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.cache_strongholds.ServerLevelMixin,pl:mixin:APP:botania_xplat.mixins.json:ServerLevelMixin,pl:mixin:APP:corgilib.mixins.json:MixinServerLevel,pl:mixin:APP:adastra-common.mixins.json:common.ServerLevelMixin,pl:mixin:APP:adastra-common.mixins.json:common.multipart.ServerLevelMixin,pl:mixin:APP:glitchcore.mixins.json:MixinServerLevel,pl:mixin:APP:immersiveengineering.mixins.json:coremods.ServerWorldMixin,pl:mixin:APP:hyperbox.mixins.json:ServerLevelMixin,pl:mixin:APP:ars_elemental.mixins.json:ServerLevelMixin,pl:mixin:APP:aether.mixins.json:common.accessor.ServerLevelAccessor,pl:mixin:APP:observable.common.json:ServerLevelMixin,pl:mixin:APP:kubejs-common.mixins.json:ServerLevelMixin,pl:mixin:APP:comforts.mixins.json:MixinServerSleepStatus,pl:mixin:APP:betterdeserttemples.mixins.json:ServerLevelMixin,pl:mixin:APP:supplementaries-common.mixins.json:ServerLevelMixin,pl:mixin:APP:create.mixins.json:accessor.ServerLevelAccessor,pl:mixin:APP:betterendisland.mixins.json:EndergeticExpansionMixins,pl:mixin:A}
	at net.minecraft.world.level.Level.m_46653_(Level.java:479) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:computing_frames,pl:accesstransformer:B,xf:fml:twilightforest:cloud,re:mixin,pl:accesstransformer:B,xf:fml:twilightforest:cloud,re:classloading,pl:accesstransformer:B,xf:fml:twilightforest:cloud,pl:mixin:APP:create_new_age.mixins.json:LevelMixin,pl:mixin:APP:botania_xplat.mixins.json:LevelAccessor,pl:mixin:APP:adastra.mixins.json:common.multipart.LevelMixin,pl:mixin:APP:sliceanddice.mixins.json:LevelMixin,pl:mixin:APP:utilitix.mixins.json:MixinLevel,pl:mixin:APP:aether.mixins.json:common.accessor.LevelAccessor,pl:mixin:APP:mixins.sodiumdynamiclights.json:LevelMixin,pl:mixin:APP:observable.common.json:LevelMixin,pl:mixin:APP:kubejs-common.mixins.json:LevelMixin,pl:mixin:APP:gtceu.mixins.json:LevelMixin,pl:mixin:A}
	at net.minecraft.server.level.ServerLevel.m_184063_(ServerLevel.java:343) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:libx:level_load,re:classloading,pl:accesstransformer:B,xf:fml:libx:level_load,pl:mixin:APP:cupboard.mixins.json:ServerAddEntityMixin,pl:mixin:APP:betterendisland.mixins.json:ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.chunk_deadlock.ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.faster_structure_location.ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.cache_strongholds.ServerLevelMixin,pl:mixin:APP:botania_xplat.mixins.json:ServerLevelMixin,pl:mixin:APP:corgilib.mixins.json:MixinServerLevel,pl:mixin:APP:adastra-common.mixins.json:common.ServerLevelMixin,pl:mixin:APP:adastra-common.mixins.json:common.multipart.ServerLevelMixin,pl:mixin:APP:glitchcore.mixins.json:MixinServerLevel,pl:mixin:APP:immersiveengineering.mixins.json:coremods.ServerWorldMixin,pl:mixin:APP:hyperbox.mixins.json:ServerLevelMixin,pl:mixin:APP:ars_elemental.mixins.json:ServerLevelMixin,pl:mixin:APP:aether.mixins.json:common.accessor.ServerLevelAccessor,pl:mixin:APP:observable.common.json:ServerLevelMixin,pl:mixin:APP:kubejs-common.mixins.json:ServerLevelMixin,pl:mixin:APP:comforts.mixins.json:MixinServerSleepStatus,pl:mixin:APP:betterdeserttemples.mixins.json:ServerLevelMixin,pl:mixin:APP:supplementaries-common.mixins.json:ServerLevelMixin,pl:mixin:APP:create.mixins.json:accessor.ServerLevelAccessor,pl:mixin:APP:betterendisland.mixins.json:EndergeticExpansionMixins,pl:mixin:A}
	at net.minecraft.world.level.entity.EntityTickList.m_156910_(EntityTickList.java:54) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,re:classloading,pl:mixin:APP:alltheleaks.mixins.json:main.EntityTickListMixin,pl:mixin:A}
	at net.minecraft.server.level.ServerLevel.m_8793_(ServerLevel.java:323) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:libx:level_load,re:classloading,pl:accesstransformer:B,xf:fml:libx:level_load,pl:mixin:APP:cupboard.mixins.json:ServerAddEntityMixin,pl:mixin:APP:betterendisland.mixins.json:ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.chunk_deadlock.ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.faster_structure_location.ServerLevelMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.cache_strongholds.ServerLevelMixin,pl:mixin:APP:botania_xplat.mixins.json:ServerLevelMixin,pl:mixin:APP:corgilib.mixins.json:MixinServerLevel,pl:mixin:APP:adastra-common.mixins.json:common.ServerLevelMixin,pl:mixin:APP:adastra-common.mixins.json:common.multipart.ServerLevelMixin,pl:mixin:APP:glitchcore.mixins.json:MixinServerLevel,pl:mixin:APP:immersiveengineering.mixins.json:coremods.ServerWorldMixin,pl:mixin:APP:hyperbox.mixins.json:ServerLevelMixin,pl:mixin:APP:ars_elemental.mixins.json:ServerLevelMixin,pl:mixin:APP:aether.mixins.json:common.accessor.ServerLevelAccessor,pl:mixin:APP:observable.common.json:ServerLevelMixin,pl:mixin:APP:kubejs-common.mixins.json:ServerLevelMixin,pl:mixin:APP:comforts.mixins.json:MixinServerSleepStatus,pl:mixin:APP:betterdeserttemples.mixins.json:ServerLevelMixin,pl:mixin:APP:supplementaries-common.mixins.json:ServerLevelMixin,pl:mixin:APP:create.mixins.json:accessor.ServerLevelAccessor,pl:mixin:APP:betterendisland.mixins.json:EndergeticExpansionMixins,pl:mixin:A}
	at net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:893) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}
	at net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:814) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}
	at net.minecraft.client.server.IntegratedServer.m_5705_(IntegratedServer.java:89) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:modernfix-common.mixins.json:perf.thread_priorities.IntegratedServerMixin,pl:mixin:APP:lithostitched.mixins.json:client.IntegratedServerMixin,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:661) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}
	at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251) ~[client-1.20.1-20230612.114412-srg.jar%231016!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}
	at java.lang.Thread.run(Thread.java:840) ~[?:?] {re:mixin}

Stacktrace when iteration started:

[2025-02-11 12:18:05.435] [Server thread] [INFO]: com.hexagram2021.cme_suck_my_duck.utils.SuckTraceException: [Iteration] iterator()
	at TRANSFORMER/[email protected]/com.hexagram2021.cme_suck_my_duck.containers.WrappedSet.iterator(WrappedSet.java:38)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.ai.goal.GoalSelector.m_186081_(GoalSelector.java:118)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.ai.goal.GoalSelector.m_25373_(GoalSelector.java:111)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.Mob.m_6140_(Mob.java:760)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.LivingEntity.m_8107_(LivingEntity.java:2548)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.Mob.m_8107_(Mob.java:536)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.monster.Monster.m_8107_(Monster.java:42)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.monster.AbstractSkeleton.m_8107_(AbstractSkeleton.java:116)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.LivingEntity.m_8119_(LivingEntity.java:2298)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.Mob.m_8119_(Mob.java:337)
	at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerLevel.observable$track(ServerLevel.java:8669)
	at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerLevel.redirect$eog000$observable$onTickNonPassenger(ServerLevel.java:8685)
	at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerLevel.m_8647_(ServerLevel.java:693)
	at TRANSFORMER/[email protected]/net.minecraft.world.level.Level.m_46653_(Level.java:479)
	at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerLevel.m_184063_(ServerLevel.java:343)
	at TRANSFORMER/[email protected]/net.minecraft.world.level.entity.EntityTickList.m_156910_(EntityTickList.java:54)
	at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerLevel.m_8793_(ServerLevel.java:323)
	at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:893)
	at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:814)
	at TRANSFORMER/[email protected]/net.minecraft.client.server.IntegratedServer.m_5705_(IntegratedServer.java:89)
	at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:661)
	at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251)
	at java.base/java.lang.Thread.run(Thread.java:840)

Stacktrace when artifacts modified:

[2025-02-11 12:18:05.440] [Server thread] [INFO]: com.hexagram2021.cme_suck_my_duck.utils.SuckTraceException: [Modify] add(Object)
	at TRANSFORMER/[email protected]/com.hexagram2021.cme_suck_my_duck.containers.WrappedSet.add(WrappedSet.java:54)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.ai.goal.GoalSelector.m_25352_(GoalSelector.java:48)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.monster.AbstractSkeleton.m_32164_(AbstractSkeleton.java:168)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.monster.AbstractSkeleton.m_8061_(AbstractSkeleton.java:204)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.Mob.m_7472_(Mob.java:910)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.monster.WitherSkeleton.m_7472_(WitherSkeleton.java:67)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.LivingEntity.m_6668_(LivingEntity.java:1369)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.LivingEntity.m_6667_(LivingEntity.java:1327)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.LivingEntity.m_6469_(LivingEntity.java:1182)
	at TRANSFORMER/[email protected]/artifacts.item.wearable.necklace.ThornPendantItem.applyEffect(ThornPendantItem.java:27)
	at TRANSFORMER/[email protected]/artifacts.item.wearable.necklace.PendantItem.onLivingHurt(PendantItem.java:39)
	at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:732)
	at TRANSFORMER/[email protected]/dev.architectury.event.EventFactory.invokeMethod(EventFactory.java:53)
	at TRANSFORMER/[email protected]/dev.architectury.event.EventFactory$2.handleInvocation(EventFactory.java:81)
	at MC-BOOTSTRAP/[email protected]/com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87)
	at TRANSFORMER/jdk.proxy3/jdk.proxy3.$Proxy218.hurt(Unknown Source)
	at TRANSFORMER/[email protected]/dev.architectury.event.forge.EventHandlerImplCommon.event(EventHandlerImplCommon.java:229)
	at TRANSFORMER/[email protected]/dev.architectury.event.forge.__EventHandlerImplCommon_event_LivingAttackEvent.invoke(.dynamic)
	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73)
	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:315)
	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:296)
	at TRANSFORMER/[email protected]/net.minecraftforge.common.ForgeHooks.onPlayerAttack(ForgeHooks.java:274)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.player.Player.m_6469_(Player.java:812)
	at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerPlayer.m_6469_(ServerPlayer.java:695)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.Mob.m_7327_(Mob.java:1410)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.monster.WitherSkeleton.m_7327_(WitherSkeleton.java:106)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.ai.goal.MeleeAttackGoal.m_6739_(MeleeAttackGoal.java:147)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.ai.goal.MeleeAttackGoal.m_8037_(MeleeAttackGoal.java:138)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.ai.goal.WrappedGoal.m_8037_(WrappedGoal.java:65)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.ai.goal.GoalSelector.m_186081_(GoalSelector.java:120)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.ai.goal.GoalSelector.m_25373_(GoalSelector.java:111)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.Mob.m_6140_(Mob.java:760)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.LivingEntity.m_8107_(LivingEntity.java:2548)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.Mob.m_8107_(Mob.java:536)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.monster.Monster.m_8107_(Monster.java:42)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.monster.AbstractSkeleton.m_8107_(AbstractSkeleton.java:116)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.LivingEntity.m_8119_(LivingEntity.java:2298)
	at TRANSFORMER/[email protected]/net.minecraft.world.entity.Mob.m_8119_(Mob.java:337)
	at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerLevel.observable$track(ServerLevel.java:8669)
	at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerLevel.redirect$eog000$observable$onTickNonPassenger(ServerLevel.java:8685)
	at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerLevel.m_8647_(ServerLevel.java:693)
	at TRANSFORMER/[email protected]/net.minecraft.world.level.Level.m_46653_(Level.java:479)
	at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerLevel.m_184063_(ServerLevel.java:343)
	at TRANSFORMER/[email protected]/net.minecraft.world.level.entity.EntityTickList.m_156910_(EntityTickList.java:54)
	at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerLevel.m_8793_(ServerLevel.java:323)
	at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:893)
	at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:814)
	at TRANSFORMER/[email protected]/net.minecraft.client.server.IntegratedServer.m_5705_(IntegratedServer.java:89)
	at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:661)
	at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251)
	at java.base/java.lang.Thread.run(Thread.java:840)

GoalSelector.m_186081_:

public void tickRunningGoals(boolean pTickAllRunning) {
      ProfilerFiller profilerfiller = this.profiler.get();
      profilerfiller.push("goalTick");

      for(WrappedGoal wrappedgoal : this.availableGoals) {
         if (wrappedgoal.isRunning() && (pTickAllRunning || wrappedgoal.requiresUpdateEveryTick())) {
            wrappedgoal.tick();   //m_8037_
         }
      }

      profilerfiller.pop();
   }

MeleeAttackGoal.m_8037_:

public void tick() {
      LivingEntity livingentity = this.mob.getTarget();
      if (livingentity != null) {
         this.mob.getLookControl().setLookAt(livingentity, 30.0F, 30.0F);
         this.ticksUntilNextPathRecalculation = Math.max(this.ticksUntilNextPathRecalculation - 1, 0);
         if ((this.followingTargetEvenIfNotSeen || this.mob.getSensing().hasLineOfSight(livingentity)) && this.ticksUntilNextPathRecalculation <= 0 && (this.pathedTargetX == 0.0D && this.pathedTargetY == 0.0D && this.pathedTargetZ == 0.0D || livingentity.distanceToSqr(this.pathedTargetX, this.pathedTargetY, this.pathedTargetZ) >= 1.0D || this.mob.getRandom().nextFloat() < 0.05F)) {
            this.pathedTargetX = livingentity.getX();
            this.pathedTargetY = livingentity.getY();
            this.pathedTargetZ = livingentity.getZ();
            this.ticksUntilNextPathRecalculation = 4 + this.mob.getRandom().nextInt(7);
            double d0 = this.mob.distanceToSqr(livingentity);
         if (this.canPenalize) {
            this.ticksUntilNextPathRecalculation += failedPathFindingPenalty;
            if (this.mob.getNavigation().getPath() != null) {
               net.minecraft.world.level.pathfinder.Node finalPathPoint = this.mob.getNavigation().getPath().getEndNode();
               if (finalPathPoint != null && livingentity.distanceToSqr(finalPathPoint.x, finalPathPoint.y, finalPathPoint.z) < 1)
                  failedPathFindingPenalty = 0;
               else
                  failedPathFindingPenalty += 10;
            } else {
               failedPathFindingPenalty += 10;
            }
         }
            if (d0 > 1024.0D) {
               this.ticksUntilNextPathRecalculation += 10;
            } else if (d0 > 256.0D) {
               this.ticksUntilNextPathRecalculation += 5;
            }

            if (!this.mob.getNavigation().moveTo(livingentity, this.speedModifier)) {
               this.ticksUntilNextPathRecalculation += 15;
            }

            this.ticksUntilNextPathRecalculation = this.adjustedTickDelay(this.ticksUntilNextPathRecalculation);
         }

         this.ticksUntilNextAttack = Math.max(this.ticksUntilNextAttack - 1, 0);
         this.checkAndPerformAttack(livingentity);   //m_6739_
      }
   }

   protected void checkAndPerformAttack(LivingEntity pTarget) {
      if (this.canPerformAttack(pTarget)) {
         this.resetAttackCooldown();
         this.mob.swing(InteractionHand.MAIN_HAND);
         this.mob.doHurtTarget(pTarget);   //m_7327_, where LivingAttackEvent is fired
      }
   }

So GoalSelector#f_25345_ is not supposed to be modified in LivingAttackEvent. When skeleton dies, death loot will be dropped, and AbstractSkeleton#m_32164_ will be called, which modified the container in GoalSelector.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working. Whoops
Projects
None yet
Development

No branches or pull requests

1 participant