Compact Machines

Compact Machines

65M Downloads

Server crash with right clicking compact machine with empty hand (compact sky)

darkphan opened this issue ยท 9 comments

commented

Compact Machines version: 3.0.16-b263
Forge version: 14.23.5.2831
I am not using Optifine:
Link to Crashlog: here

Description of the problem including expected versus actual behavior:

Right clicking on a machine (with an empty hand) to get the preview of the machine crashes the server. This is in a compactsky world type.

commented

I can easily reproduce this in a dev environment:

[13:54:40] [Server thread/FATAL] [minecraft/MinecraftServer]: Error executing task
java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: net.minecraft.network.play.server.SPacketUpdateTileEntity.getNbtCompound()Lnet/minecraft/nbt/NBTTagCompound;

The machine needs a TileEntity inside that sends an UpdatePacket (e.g. a Field Projector). The server then tries to call SPacketUpdateTileEntity#getNbtCompound. That is a @SideOnly(Side.CLIENT) method, i.e. does not exist on the server, i.e. crashes the server.

This is only happening since we are now sending proper tile entity locations.
We should be able to access the private field via reflection directly though.

commented

Was this back ported to the 1.12.2 version? I just got a crash when right clicking on a compact machine with an empty hand with compactmachines3-1.12.2-3.0.18-b278.

commented

Crash report please?

commented

Seems I am unable to get a crash report, it completely freezes my game and it won't actually close and generate a report. I am getting this crash in Minecraft Eternal v1..4.3. Hmm, looks like the GUI finally showed up after a bit but my game is still frozen. It might not actually be causing a crash, but instead is just taking a really long time to open. I managed to gain control over the game again eventually, but the GUI had already closed itself, not sure if I had pressed esc or something. Trying a second time and it doesn't seem like I'm gaining control back. Right clicking with an empty hand worked fine before I had entered the compact machine, the GUI just didn't show any structure. I have nothing in the machine either, well I do now because I placed a Field Projector in it but I didn't the first time.

commented

This also happens in both single-player and on a server.

Seems I am unable to get a crash report, it completely freezes my game and it won't actually close and generate a report. I am getting this crash in Minecraft Eternal v1..4.3. Hmm, looks like the GUI finally showed up after a bit but my game is still frozen. It might not actually be causing a crash, but instead is just taking a really long time to open. I managed to gain control over the game again eventually, but the GUI had already closed itself, not sure if I had pressed esc or something. Trying a second time and it doesn't seem like I'm gaining control back. Right clicking with an empty hand worked fine before I had entered the compact machine, the GUI just didn't show any structure. I have nothing in the machine either, well I do now because I placed a Field Projector in it but I didn't the first time.

commented

Does this happen for every single machine? Can you please reproduce this issue and then provide your debug.log and world save?

commented

After doing some more investigation, it looks like it is actually an issue with Valkyrien Skies. That mod doesn't like it when I open the CM GUI when it is trying to render the structure. Once I removed it from the pack, I am no longer getting the freezing issue.

In case you are curious here are the versions I am using

compactmachines3-1.12.2-3.0.18-b278
valkyrien-skies-1.12.2-1.1.6

Looks like I don't actually get a full freeze when opening the GUi on the smaller compact machines, but even on the smallest one it is clear the game is struggling. They are getting rid of Valkyrien Skies in the MC Eternal Pack anyway because it is causing other performance issues and crashes as well.

commented

Thank you for the info. Can you provide your debug.log file and maybe a world save? If you need help doing this, please join our discord and ask in #support.

commented