Thutmose / Pokecube

Primary Development has moved to: https://github.com/Pokecube-Development
https://github.com/Pokecube-Development
19 stars 7 forks source link

Crash during startup - Immersive Engineering (v0.81+) incompatibility #301

Closed luke-bravenboer closed 6 years ago

luke-bravenboer commented 6 years ago

Issue Description:

Since release 0.81 (and 0.82) of Immersive Engineering, I've been experiencing crashes on startup preventing me from updating- I have since narrowed it down to being caused by Pokecube. It may be coming from Pokecube Revival specifically, as IE loads fine with just thutcore & pokecube core (and Pokecube Mobs seems to have no effect either).

Stack trace:

net.minecraftforge.fml.common.LoaderException: java.lang.NoClassDefFoundError: blusunrize/immersiveengineering/api/tool/BelljarHandler$IPlantHandler
    at net.minecraftforge.fml.common.AutomaticEventSubscriber.inject(AutomaticEventSubscriber.java:89)
    at net.minecraftforge.fml.common.FMLModContainer.constructMod(FMLModContainer.java:602)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)

Full crash: https://paste.dimdev.org/eviyumigik.mccrash

It looks like something's trying to use reflection to access some API that's no longer there- is this actually you, or should I send this to blusunrize instead?

Affected Versions:

Thutmose commented 6 years ago

I suspect he changed something in the IE API, and as such it is crashing from the support for making berries grow in there. I will need to fix this on my end

Thutmose commented 6 years ago

you can temporarily fix this on your end, by opening the pokecube revival jar, then under pokecube/compat/ delete the folder called "immersiveengineering"

luke-bravenboer commented 6 years ago

Ah ty, I was looking for something like that. Cheers!

Thutmose commented 6 years ago

when I get time (hopefully this evening) I can try to fix this properly and upload a compatible version

luke-bravenboer commented 6 years ago

no rush :)

Thutmose commented 6 years ago

this problem seems to have resolved itself sometime between then and now, I can confirm that IE 0.12-84 works fine with current versions of pokecube.

luke-bravenboer commented 6 years ago

Hmm, I'm still experiencing the same crash on Pokecube Revival 6.14.27 + IE 0.12.84: https://paste.dimdev.org/ahowalewoq.mccrash

Oddly enough, isolating just Pokecube & IE doesn't seem to trigger the crash anymore- however, it still occurs in my modpack's environment, but removing the "pokecube/compat/immersiveengineering" folder from the revival jar does still prevent the crash from occurring...

E: Ah crap I'm an idiot, I was running my isolated instance with the modified version when I'd removed that compat folder- maybe you'd done the same? The crash is definitely still occurring with just these two mods installed.

luke-bravenboer commented 6 years ago

(Can we re-open the ticket or shall I raise another?)

Thutmose commented 6 years ago

I tested with version 1.3.0 of this modpack: https://minecraft.curseforge.com/projects/poke-tech/files

It is using the pokecube aio mod, which is all of them in one jar, but it should be that same version.

Berry in bell jar: image

IE version: image

Pokecube adventures version: image

I will test with seperate mods instead of the AIO to see if that is the problem

Thutmose commented 6 years ago

still working with seperate jars for me: image

luke-bravenboer commented 6 years ago

How bizzare- well I've just created a fresh, new instance in MultiMC, added Immersive Engineering 0.12-84 & Pokecube AIO 1.1.3, and the crash still occurs for me: image

...

image

luke-bravenboer commented 6 years ago

I'll download the Poke Tech pack with the twitch launcher & see if it's still occurring there, I guess? Honestly don't know what else could be different here

luke-bravenboer commented 6 years ago

Good god, so I don't experience the crash with the Poke Tech pack! What in the world...

Testing to see if maybe MultiMC has something do with it...

luke-bravenboer commented 6 years ago

Okay, strange as it sounds, this Poke Tech pack is actually the reason you can't replicate the issue!

If you disable all mods in the twitch launcher except for Pokecube & IE, you'll experience the crash.

Now trying to track down which mod in this list is somehow fixing the issue...

E: it's 3am now though, I'll continue tomorrow

Thutmose commented 6 years ago

hmm, I will be back home in 6 to 8 hours, when I get back I can start testing things then

luke-bravenboer commented 6 years ago

I lied, I'm still awake :P Found the culprit btw- Immersive Petroleum.

It seems that when Immersive Petroleum is also installed, it forces IE to load earlier in the pre-initialization phase; if Immersive Petroleum is not installed, you can see on the forge loading screen that IE is loaded right at the very end of the construction phase, instead of in the middle. So I guess it just comes down to an issue with the load-order.

Is that something you can fix on Pokecube's side?

Thutmose commented 6 years ago

ya, I can load my compatiblity module for IE at a later stage

Thutmose commented 6 years ago

I am currently loading that stuff as early as possible, I will need to check some of my other loading orders, but I suspect I can push everything for IE down to init, which should run after the end of pre-init