Spell Engine

Spell Engine

8M Downloads

"Saving entity NBT" crash

HaXrDEV opened this issue ยท 11 comments

commented

Spell Engine 0.14.3+1.20.1
Spell Power Attribute 0.10.2+1.20.1
SimplySkills 1.4.1+1.20.1

https://gist.github.com/HaXrBOT/a2899ef70a126631b299e03535e369fd

This error crops up every now and again on a server i am running, but have yet to nail down the cause of the issue as it always happens when multiple people are online.

Related issue: Sweenus/SimplySkills#89

commented

Note that i have already tried removing mods like C2ME, Fast Async World Save, Smooth Chunk Save, VMP. Though the issue persists.

commented

After a bit more testing, i found out that the issue was caused by DoesEntityTick. Removing that mod fixes the issue.

Scratch that, it is still happening.

commented

The error is rather abstract.
I am unable to figure out why this is is happening. I have never seen anything like that.
I recommend trying other java JVMs, such as: Adoption Java 18, or 21.

commented

I will try that and report back.

commented

Unfortunately the issue still occurs after bumping the java version to 21. I am not aware of which JVM distribution is being used specifically, as i am running it through a hosting provider.

https://gist.github.com/HaXrBOT/266096b17927a1ffd5fdc8912895afc8

Edit: Nevermind, from the log it looks to be Oracle HotSpot. I will try and ask if it is possible to change it to Adoptium.

commented

Unfortunately it is not possible to change the JVM distribution with my hosting provider (BisectHosting).

Am i just out of luck then?

commented

Since Java 17 Java platform classes are now more strongly encapsulated. This means that Gson can no longer serialize java.util.Optional using reflection.

A Type Adapter is required to (de)serialize the class object.

If you are the owner of the class with the Optional field you can possibly annotate it with @Expose to allow access.

The alternatives are to register a generic Optional Type Adapter for Gson (Examples can be found via the above link) or use an alternative Json serializer that already has an adapter for the type.

I couldn't find an Optional field on any of the SpellProjectile fields being serialized or an fields on their children. maybe I didn't look hard enough.

commented

This is a useful feedback.
Thank you very much.

commented

crash-2024-07-22_22.04.33-server.txt
I also have this issue on my server, and I can supply a crash report if it will be any help. We have a rather large mod list, but based on the report it seems to be this issue. The crash is extremely unreliable, but happens rather frequently for us. I hope this report helps and I wish you luck on this issue.

commented

I attempted to fix this issue in the latest version (v0.15.8, requires Spell Power 0.11.1)
Please give feedback!

commented

Should be fixed in Spell Engine 0.15.8.
Please reopen this issue, in case the problem occurs again with SE 0.15.8