
Ldlib crashes during tests with fluids
jurrejelle opened this issue ยท 1 comments
Checked for existing issues
- I have checked for existing issues, and have found none.
Tested latest version
- I have checked that this occurs on the latest version.
GregTech CEu Version
1.20.1-latest
Minecraft Version
1.20.1 Forge
Recipe Viewer Installed
None
Environment
Singleplayer
Cross-Mod Interaction
Unsure
Other Installed Mods
n/a
Expected Behavior
Test can run without crashing
Actual Behavior
crash
Steps to Reproduce
Clone jj/ldlib-crash or paste:
@PrefixGameTestTemplate(false)
@GameTestHolder(GTCEu.MOD_ID)
public class TestLdlibCrash {
@GameTest(template = "singleblock_charged_cr", batch = "RangedFluidIngredients")
public static void LDLibSyncTest(GameTestHelper helper) {
SimpleTieredMachine machine = (SimpleTieredMachine) getMetaMachine(
helper.getBlockEntity(new BlockPos(0, 1, 0)));
NotifiableFluidTank fluidIn = (NotifiableFluidTank) machine
.getCapabilitiesFlat(IO.IN, FluidRecipeCapability.CAP).get(0);
fluidIn.fill(new FluidStack(Fluids.WATER, 10), IFluidHandler.FluidAction.EXECUTE);
helper.runAfterDelay(40, () -> {
helper.succeed();
});
}
}
then run gametests
Additional Information
[21:47:21] [Server thread/INFO] [minecraft/GameTestBatchRunner]: Running test batch 'RangedFluidIngredients:1' (1 tests)...
[21:47:21] [Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception
java.lang.IllegalArgumentException: The array of class com.gregtechceu.gtceu.api.transfer.fluid.CustomFluidTank should not be changed
at com.lowdragmc.lowdraglib.syncdata.accessor.ArrayAccessor.writeManagedField(ArrayAccessor.java:124) ~[ldlib-forge-1.20.1-1.0.40.b.jar%23153!/:?] {re:classloading}
at com.lowdragmc.lowdraglib.syncdata.accessor.ArrayAccessor.writeToReadonlyField(ArrayAccessor.java:157) ~[ldlib-forge-1.20.1-1.0.40.b.jar%23153!/:?] {re:classloading}
at com.lowdragmc.lowdraglib.syncdata.accessor.ArrayAccessor.writeField(ArrayAccessor.java:63) ~[ldlib-forge-1.20.1-1.0.40.b.jar%23153!/:?] {re:classloading}
at com.lowdragmc.lowdraglib.syncdata.field.ManagedKey.writePersistedField(ManagedKey.java:88) ~[ldlib-forge-1.20.1-1.0.40.b.jar%23153!/:?] {re:classloading}
at com.lowdragmc.lowdraglib.syncdata.accessor.IManagedAccessor.writePersistedFields(IManagedAccessor.java:128) ~[ldlib-forge-1.20.1-1.0.40.b.jar%23153!/:?] {re:classloading}
at com.lowdragmc.lowdraglib.syncdata.accessor.IManagedAccessor.writeToReadonlyField(IManagedAccessor.java:115) ~[ldlib-forge-1.20.1-1.0.40.b.jar%23153!/:?] {re:classloading}
at com.lowdragmc.lowdraglib.syncdata.accessor.ReadonlyAccessor.writeField(ReadonlyAccessor.java:85) ~[ldlib-forge-1.20.1-1.0.40.b.jar%23153!/:?] {re:classloading}
at com.lowdragmc.lowdraglib.syncdata.field.ManagedKey.writePersistedField(ManagedKey.java:88) ~[ldlib-forge-1.20.1-1.0.40.b.jar%23153!/:?] {re:classloading}
at com.lowdragmc.lowdraglib.syncdata.accessor.IManagedAccessor.writePersistedFields(IManagedAccessor.java:128) ~[ldlib-forge-1.20.1-1.0.40.b.jar%23153!/:?] {re:classloading}
at com.lowdragmc.lowdraglib.syncdata.blockentity.IAutoPersistBlockEntity.loadManagedPersistentData(IAutoPersistBlockEntity.java:31) ~[ldlib-forge-1.20.1-1.0.40.b.jar%23153!/:?] {re:mixin,re:classloading}
at net.minecraft.world.level.block.entity.BlockEntity.handler$zbf000$injectLoad(BlockEntity.java:544) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:mixin,re:classloading,pl:mixin:APP:ldlib-common.mixins.json:BlockEntityMixin,pl:mixin:A}
at net.minecraft.world.level.block.entity.BlockEntity.load(BlockEntity.java:56) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:mixin,re:classloading,pl:mixin:APP:ldlib-common.mixins.json:BlockEntityMixin,pl:mixin:A}
at com.gregtechceu.gtceu.api.blockentity.MetaMachineBlockEntity.load(MetaMachineBlockEntity.java:329) ~[%23150!/:?] {re:classloading,pl:runtimedistcleaner:A}
at net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.placeInWorld(StructureTemplate.java:251) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:mixin,xf:fml:forge:forge_method_redirector,re:classloading,xf:fml:forge:forge_method_redirector,pl:mixin:APP:ae2.mixins.json:StructureTemplateMixin,pl:mixin:A}
at net.minecraft.world.level.block.entity.StructureBlockEntity.loadStructure(StructureBlockEntity.java:411) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:classloading}
at net.minecraft.world.level.block.entity.StructureBlockEntity.loadStructure(StructureBlockEntity.java:376) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:classloading}
at net.minecraft.gametest.framework.StructureUtils.createStructureBlock(StructureUtils.java:265) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:mixin,re:classloading,pl:mixin:APP:ae2.mixins.json:tests.StructureUtilsMixin,pl:mixin:A}
at net.minecraft.gametest.framework.StructureUtils.spawnStructure(StructureUtils.java:163) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:mixin,re:classloading,pl:mixin:APP:ae2.mixins.json:tests.StructureUtilsMixin,pl:mixin:A}
at net.minecraft.gametest.framework.GameTestInfo.spawnStructure(GameTestInfo.java:217) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:classloading}
at net.minecraft.gametest.framework.GameTestRunner.runTest(GameTestRunner.java:31) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:classloading}
at net.minecraft.gametest.framework.GameTestBatchRunner.lambda$runBatch$3(GameTestBatchRunner.java:85) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:classloading}
at com.google.common.collect.ImmutableList.forEach(ImmutableList.java:422) ~[guava-31.1-jre.jar%2379!/:?] {re:mixin}
at net.minecraft.gametest.framework.GameTestBatchRunner.runBatch(GameTestBatchRunner.java:83) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:classloading}
at net.minecraft.gametest.framework.GameTestBatchRunner$1.testCompleted(GameTestBatchRunner.java:67) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:classloading}
at net.minecraft.gametest.framework.GameTestBatchRunner$1.testPassed(GameTestBatchRunner.java:76) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:classloading}
at net.minecraft.gametest.framework.GameTestInfo.lambda$tick$1(GameTestInfo.java:65) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:classloading}
at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?] {re:mixin}
at net.minecraft.gametest.framework.GameTestInfo.tick(GameTestInfo.java:64) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:classloading}
at java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807) ~[?:?] {}
at net.minecraft.gametest.framework.GameTestTicker.tick(GameTestTicker.java:19) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:classloading}
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:923) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:826) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}
at net.minecraft.gametest.framework.GameTestServer.tickServer(GameTestServer.java:122) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:667) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}
at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:251) ~[forge-1.20.1-47.3.0-merged.jar%23145!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}
at java.lang.Thread.run(Thread.java:840) ~[?:?] {re:mixin}
maybe will be fixed with #3491