JSON recipe loading crashing on world startup
SisterJacq opened this issue ยท 27 comments
As the title states.
https://gist.github.com/Mortvana/7d70de380b517114e41c
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:
@iloveportalz0r, you could make a Push Request so that @MachineMuse can look into your code, see the diff and approve it if good.
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
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.
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
@EzerArch It does not work that way
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!
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.
@MachineMuse Thanks!
Commit link for future reference if some curious person is looking at this entry in the future: f533087
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?
@TerdyTheTerd Which modpack?
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...
Have you tried asking on the Technic forum or launching the pack without the Technic launcher?
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).
I am also crashing on load of new world
http://pastebin.com/3HgETnRC
Hi all and @MachineMuse,
Any news about this problem ? I have the same crash when using recipes (Vanilla et Thermal).
Thx.
@CandiceJoy I guess the version changed. I'll fix it later
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.
@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.
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!