Ars Nouveau

Ars Nouveau

49M Downloads

[Crash] NullPointerException: Ticking block entity - Scribing Table Inventory Check

VhelCodez opened this issue ยท 6 comments

commented

Description:
I am currently playing ATM8, which was running perfectly, until I started making my first glyph at the inscribing table.
The table was placed near several chests and I saw the rabbits foot for the glyph flying out of the upper chest. I tried opening another chest during the process and my game crashed.
After restarting the game, I reloaded the world, it loaded completely and seconds later freezed and crashed again.

Here's the crash log:
https://pastebin.com/SGJYauiB

commented

UPDATE:
Restarted the game several times including entering the world got it "working" again.
Rabbits foot was in the table but the animation stopped. Broke the table, got my foot back.
Placed the table away from any containers and was able to craft my glyph.
Still didn't want to try to reproduce the error.

commented

I'm playing ATM8 1.0.15 and had the same problem.

Crash log: https://pastebin.com/aUtqxwXz

The crash can be reproduced in the following steps.

  1. Place Scribe's Table.
  2. Place Combiner from the Alchemistry mod near the table.
  3. After setting the combiner's recipe to rabbit's feet, lock the recipe.
  4. Craft Fortune Glyphs in Scribe's Table.

Expected Behavior: Because the Combiner does not contain any actual items, so the crafting table must wait to receive the items.

Current Behavior: Scribe's Table crashes 'Ticking block entity' after playing animation of getting rabbit's feet from Combiner.

commented

Same problem here... Maybe the Scribe's table is trying to pull the rabbit's foot from the Combiner's "fake" slot.

commented

Had a similar Issue with the Scribe's Table on my server, also ATM8.
Just my server would not start and crash with the same stack trace.

After looking through the stack trace and some code of Ars Nouveau and AlchemyLib, I think i found the Error:

Here, https://github.com/SmashingMods/AlchemyLib/blob/a23c446b8a906ca384de849eafded039b6d995ff/src/main/java/com/smashingmods/alchemylib/api/blockentity/processing/AbstractInventoryBlockEntity.java#L59
There sometimes (somehow) gets a null returned, which is captured and thrown by the Annotation.

I then proceeded to create a dirty fix for this Problem:
Just check, if the function is trying to return a null-value, if yes, then return LazyOptional.empty().

This did the fix for me, and the server then started again.
Or maybe just the bumped version of AlchemyLib did the fix.

commented

This is a fix for alchemylib. Returning null is not valid.

commented

Just that it's said, I made some errors in my research of the Error.
My server was running an outdated version of AlchemyLib, which did an Objects.requireNonNull check on the Nullable Direction, which then threw the error.

Sorry to bother you again, just wanted to clarify.