Crash when putting a machine beside a high-press source
SihenZhang opened this issue ยท 6 comments
Minecraft Version: 1.12.2
Forge Version: 14.23.0.2552
Mod Version: 0.1.0-47
Singleplayer/Multiplayer: Singleplayer
Crash Report: https://paste.ee/p/Ydivp
Additional Information:
- Mod list can be found in the crash report.
- When I put a Gas Lift near a Flux Compressor (6.89 bar in it), the client crash.
- When I try to reappear this crash I found that the crash will happen when putting a Gas Lift connected with a high-press source (a Creative Compressor with 6.9 bar) and right click the Gas Lift to try to open the GUI, the GUI will changed just like below for a while and then crash.
This could be tricky. I managed to reproduce it once, but trying again, it worked (using a Creative Compressor at 6.9 bar - I had to place down about 20 gas lifts before one didn't explode). Looks like the client-side TE reference is null when the crash happens. Maybe you managed to get the GUI open as the gas lift exploded?
It's not the TE reference, it's te.status
that's null (which as an Enum it should never be). Looks like the server->client sync via @GuiSynced
failed here. Did you also get an exception that looks like the exception below?
17:05:10] [main/ERROR] [pneumaticcraft]: A problem occured when trying to sync the field of me.desht.pneumaticcraft.common.tileentity.TileEntityGasLift@76c5ae04. Field: public me.desht.pneumaticcraft.common.tileentity.TileEntityGasLift$Status me.desht.pneumaticcraft.common.tileentity.TileEntityGasLift.status
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: java.lang.ArrayIndexOutOfBoundsException: -1
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at me.desht.pneumaticcraft.common.inventory.SyncedField$SyncedEnum.injectValue(SyncedField.java:203)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at me.desht.pneumaticcraft.common.inventory.SyncedField$SyncedEnum.injectValue(SyncedField.java:179)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at me.desht.pneumaticcraft.common.inventory.SyncedField.setValue(SyncedField.java:81)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at me.desht.pneumaticcraft.common.inventory.ContainerPneumaticBase.updateField(ContainerPneumaticBase.java:47)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at me.desht.pneumaticcraft.common.network.PacketUpdateGui.handleClientSide(PacketUpdateGui.java:146)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at me.desht.pneumaticcraft.common.network.PacketUpdateGui.handleClientSide(PacketUpdateGui.java:20)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at me.desht.pneumaticcraft.common.network.AbstractPacket.lambda$onMessage$1(AbstractPacket.java:17)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at net.minecraft.util.Util.runTask(Util.java:53)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1176)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at net.minecraft.client.Minecraft.run(Minecraft.java:441)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at net.minecraft.client.main.Main.main(Main.java:118)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at java.lang.reflect.Method.invoke(Method.java:498)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at java.lang.reflect.Method.invoke(Method.java:498)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
[17:05:10] [main/INFO] [STDERR]: [me.desht.pneumaticcraft.common.inventory.SyncedField:setValue:85]: at GradleStart.main(GradleStart.java:26)
I've pushed a small fix which may help here. Can you please test again and see if the problem is still occurring?
Sorry, meant to add :you can get an updated build from http://jenkins.k-4u.nl/job/PneumaticCraft-Repressurized/68/