Immersive Engineering

Immersive Engineering

134M Downloads

1.19.2 random crash due to Ticking Entity: IllegalArgumentException (Industrial Hemp)

Daltaxy opened this issue ยท 8 comments

commented

Minecraft Version

1.19.2

Immersive Engineering Version

ImmersiveEngineering-1.19.2-9.2.0-162.jar

How did it happen?

Randomly happens, I think.
I was pregenerating chunks, and the game crashed. after checking the log, it seems that the hemp block: https://ftb.fandom.com/wiki/Industrial_Hemp_Seeds wanted to grow but something weird happened with the property and a missing object?
It happened for no apparent reason. I didn't see anyone complain about this. Also, VanillaTweaks seems to be mentioned?

If that can help, OpenAI says: Based on the error message, it seems that the cause of the crash is due to an IllegalArgumentException caused by the program attempting to retrieve the property "EnumProperty{name=growth, clazz=class blusunrize.immersiveengineering.common.blocks.plant.EnumHempGrowth, values=[bottom0, bottom1, bottom2, bottom3, bottom4, top0]}" from a Block that doesn't have that property (in this case, "Block{minecraft:air}"). This error occurred while ticking an entity (ItemEntity), which was handling the "growth" property of a HempBlock. It is possible that the ItemEntity was attempting to interact with the HempBlock in some way, and due to the absence of the required property in the Block, the program encountered an error and crashed.

The "match" (not the entire game) closed with "Server closed".
debug.log: https://mega.nz/file/NVpXhaLD#zKc-YxzOX-ByF

Crash Log

crash-2023-03-21_20.11.22-server.txt

commented

that's weird. it worked when I tried, now everything is invalid.
debug.log: https://mega.nz/file/NVpXhaLD#zKc-YxzOX-ByF5lYdw-O7eFtraiptOv3jr3G0uE8ELU
crash reports (I just realised I crashed twice for the same reason, one was earlier):
crash-2023-03-21_20.11.22-server.txt
crash-2023-03-21_15.51.06-server.txt
edit: sorry for the invalid logs above, forgot to apologise

commented

I can not open either of your log files.

commented

For future reference, we specifically tell you in the issue template to use Pastebin or Gist. We know those work, and I don't want to have to download your log files.

I will gladly use pastebin or Gist to upload the crash reports. However using these will be more difficult for the debug.log and latest.log, as they reach 100mb in size. (in fact, the websites crash when I upload the text) Of course, I can copy the area of interest in the log and send it here, but many mod owners tell me to send the whole file, so I don't really know. you tell me

commented

For future reference, we specifically tell you in the issue template to use Pastebin or Gist. We know those work, and I don't want to have to download your log files.

I don't really see how this issue would happen, the method in question determines whether hemp is allowed to be placed on a block, and that should only be called on that hemp block.
This one is being called from any Item Entity and I do not understand why. @malte0811 do you have an idea?

commented

The call is from this Mixin. I guess we can just add a check and assume that we're considering the bottom block if the block isn't right?

commented

The call is from this Mixin. I guess we can just add a check and assume that we're considering the bottom block if the block isn't right?

while working on a fix, I wanna note that disabling this auto-plant feature that you quoted in the VanillaTweaks config should logically fix the issue, and that's I'll do for now to keep on generating chunks.
That feature is ON by default, hence the report
image
It also seems that there is a blacklist for the autoplant feature, and an easy fix would perhaps be to add that seed in there by default. I don't know though

commented

I guess VanillaTweaks just tries to guess the right blockstate? That's not particularly helpful...

commented

fyi, disabling that option in the config did indeed fix the issue, you could just ask the Vanilla Tweaks author to put the hemp seeds or whatever in the blacklist, easy fix although not treated from the root