Numina

Numina

12M Downloads

JSON recipe loading crashing on world startup

SisterJacq opened this issue ยท 27 comments

commented

great :)

commented

I fixed the problem. I don't know why it was crashing, but recipes work fine now. I had to modify the gson library to make it ignore the error. It was catching a NoSuchFieldException and throwing an empty AssertionError from that. I made it print the exception, and it said the field it tried to use is named "key". Anyway, you can download the modified library here: https://dl.dropboxusercontent.com/u/31471793/HuekekPak/gson-2.2.4-Numina_AssertionError_fix.7z

Overwrite the 2 files in .minecraft/libraries/com/google/code/gson/gson/2.2.4 with these ones.

For a server, use this modified minecraft_server.1.7.10.jar: https://dl.dropboxusercontent.com/u/31471793/HuekekPak/gson-2.2.4-Numina_AssertionError_fix_server.7z

Note: if you are, somehow, using a different gson version, I can patch that one for you. Just ask here c:

commented

Same issue here

commented

@iloveportalz0r, you could make a Push Request so that @MachineMuse can look into your code, see the diff and approve it if good.

commented

I have the same probleme. what mod you use ?

commented

You're right Drayan but that should no longer be happening as of build #99?

commented

Hmm, what else could be causing that..

commented

Hi @MachineMuse - Another crash. Tried both thermalexpansion.recipe and vanilla.recipe.
Same result

https://gist.github.com/CourtArtanis/84220a754a2291b630ac

using: Cauldron 1231, Numina latest, MPS latest via Jenkins

commented

I'm having the exact same issue, it may be worth mentioning that it happens at the exact moment the server goes from generating world, to actually being ready to join. Both on a single player world, and a dedicated server.

commented

As Hanse said, it seems to happen as soon as the world is loading in.
Here is a crash report:
http://paste.ee/p/MV4jf

Using build #100 from Jenkins

commented

Same crash. Metric's fix doesn't help.

commented

@EzerArch It does not work that way

commented

I think that tells me what the problem is. I can probably fix it on my end. Thank you very much for your hard work!

commented

ok. I had to remove NBT capability from the JSON recipe system. It might be possible to add that capability back in but nobody was using it anyway as far as I know so it shouldn't be a problem.

commented

@MachineMuse Thanks!

Commit link for future reference if some curious person is looking at this entry in the future: f533087

commented

Having this issue and your server jar worked wonders, i haven't seen any updates from machinemuse on numina and my problem is now this, I cant use the client side fix because my modpack is launched through technic, which replaces the modified one with the regular one when I launch, and with out it i cant connect to my now working server, any ideas or suggestions?

commented

@TerdyTheTerd Which modpack?

commented

Its my private pack, AffinityWars, theres 200+ mods, only conflict is this one and one with fastcraft/shaders, thanks for the reply though, and I see that the crash was supposed to have been fixed in numina 99, but it doesnt seem to be...

commented

Have you tried asking on the Technic forum or launching the pack without the Technic launcher?

commented

I have also the problem of JSON with the latest Numina version from @MachineMuse. (Version 0.4.0.99).

Caused by: java.lang.AssertionError
at com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.<init>(TypeAdapters.java:733)
at com.google.gson.internal.bind.TypeAdapters$26.create(TypeAdapters.java:762)
at com.google.gson.Gson.getAdapter(Gson.java:356)
at com.google.gson.internal.bind.ArrayTypeAdapter$1.create(ArrayTypeAdapter.java:48)
at com.google.gson.Gson.getAdapter(Gson.java:356)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.<init>(ReflectiveTypeAdapterFactory.java:82)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:81)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:118)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:72)
at com.google.gson.Gson.getAdapter(Gson.java:356)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.<init>(ReflectiveTypeAdapterFactory.java:82)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:81)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:118)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:72)
at com.google.gson.Gson.getAdapter(Gson.java:356)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.<init>(ReflectiveTypeAdapterFactory.java:82)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:81)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:118)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:72)
at com.google.gson.Gson.getAdapter(Gson.java:356)
at com.google.gson.internal.bind.ArrayTypeAdapter$1.create(ArrayTypeAdapter.java:48)
at com.google.gson.Gson.getAdapter(Gson.java:356)
at com.google.gson.internal.bind.ArrayTypeAdapter$1.create(ArrayTypeAdapter.java:48)
at com.google.gson.Gson.getAdapter(Gson.java:356)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.<init>(ReflectiveTypeAdapterFactory.java:82)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:81)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:118)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:72)
at com.google.gson.Gson.getAdapter(Gson.java:356)
at com.google.gson.internal.bind.ArrayTypeAdapter$1.create(ArrayTypeAdapter.java:48)
at com.google.gson.Gson.getAdapter(Gson.java:356)
at com.google.gson.Gson.fromJson(Gson.java:802)
at com.google.gson.Gson.fromJson(Gson.java:768)
at com.google.gson.Gson.fromJson(Gson.java:717)
at com.google.gson.Gson.fromJson(Gson.java:689)
at net.machinemuse.numina.recipe.JSONRecipeList.loadRecipesFromString(JSONRecipeList.java:65)
at net.machinemuse.numina.recipe.JSONRecipeList.loadRecipesFromDir(JSONRecipeList.java:42)
at net.machinemuse.numina.basemod.Numina$.serverstart(Numina.scala:42)
at net.machinemuse.numina.basemod.Numina.serverstart(Numina.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
at cpw.mods.fml.common.Loader.serverStarted(Loader.java:752)
... 3 more    

Apparentyl Gson got a hard time to parse your json ^^. It seems that your Proguard settings are too heavy and modify or remove some enum, then gson could not retrieve them, thus the error. (Just guess).

commented

I am also crashing on load of new world
http://pastebin.com/3HgETnRC

commented

Hi all and @MachineMuse,
Any news about this problem ? I have the same crash when using recipes (Vanilla et Thermal).
Thx.

commented

@CandiceJoy I guess the version changed. I'll fix it later

commented

Yep I'm having the same crash on build #100, but I haven't tried the gson fix so I may give that a shot.

commented

@MrMetric , I just used your fix for Direwold20 (1.7.10) modpack (to add CustomNPCs,) and it works so I don't know why others are having problems.

commented

hello, I know it's been like 4 months but...I finally merged in the QMX changes so please test if this still occurs. Thanks!

commented

Thank you for adding that fix, Its confirmed working for me, can finally use Better Storage and Power Suits in my modpack, thanks!!!!