ForgeEssentials

ForgeEssentials

339k Downloads

FE crash with botania

YevonsSwan opened this issue · 26 comments

commented

Hello,
ForgeEssentials seems malfunction with the mod Botania Unauffocial 1.8.9. I think it is an entity of Botania FE dislikes.

Thanks for reading me !

logs.txt

commented

I don't see how this is in any way related to ForgeEssentials. It's not even mentioned in the stack trace, let alone the bytecode stuff.

commented

Does this issue only happen when Forge Essentials is installed?

commented

Yes, but the server only start if i remove Botania.

commented

So, it starts fine without Forge Essentials?

commented

Yes.
(Thanks)

commented

Ok. Well, I will have to take a look at it later. Sorry for the inconvenience.

This kind of thing happens from time to time when Minecraft code is modified.

commented

Stripped relevant information from the log:

[16:38:22] [Server thread/ERROR] [FML/]: Caught exception from Botania
java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    vazkii/botania/common/entity/EntityDoppleganger.func_70636_d()V @2068: invokevirtual
  Reason:
    Type 'java/lang/Object' (current frame, stack[0]) is not assignable to 'net/minecraft/entity/EntityLiving'
  Current Frame:
    bci: @2068
    flags: { }
    locals: { 'vazkii/botania/common/entity/EntityDoppleganger', integer, 'net/minecraft/util/BlockPos', integer, float, 'java/util/List', integer, integer, integer, integer, integer, integer, integer, integer, 'java/lang/Object' }
    stack: { 'java/lang/Object', double, double_2nd, double, double_2nd, double, double_2nd }


    at vazkii.botania.common.block.ModMultiblocks.init(ModMultiblocks.java:30) ~[ModMultiblocks.class:?]
    at vazkii.botania.common.core.proxy.CommonProxy.preInit(CommonProxy.java:113) ~[CommonProxy.class:?]
    at vazkii.botania.common.Botania.preInit(Botania.java:81) ~[Botania.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
    at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:560) ~[forge-1.8.9-11.15.1.1902-1.8.9-universal.jar:?]
    at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[minecraft_server.1.8.9.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[minecraft_server.1.8.9.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[minecraft_server.1.8.9.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[minecraft_server.1.8.9.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[minecraft_server.1.8.9.jar:?]
    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:211) ~[forge-1.8.9-11.15.1.1902-1.8.9-universal.jar:?]
    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:189) ~[forge-1.8.9-11.15.1.1902-1.8.9-universal.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[minecraft_server.1.8.9.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[minecraft_server.1.8.9.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[minecraft_server.1.8.9.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[minecraft_server.1.8.9.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[minecraft_server.1.8.9.jar:?]
    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:118) [LoadController.class:?]
    at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:556) [Loader.class:?]
    at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:88) [FMLServerHandler.class:?]
    at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:320) [FMLCommonHandler.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:112) [ko.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:441) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_102]

I guess some problem with Mixin....

commented

Thank you very much to take your time for helping me!
Have a nice evening!
(it's already 9 PM in France!)

commented

How? The error is in onLivingUpdate. I also find it interesting that it's happening in preInit.

commented

Oh - you are right Oo
I guessed this could be the only possible conflict caused by having both mods present...
Seems like I was wrong 😱

commented

@Techjar it still might be related:
https://github.com/Vazkii/Botania/blob/master/src/main/java/vazkii/botania/common/entity/EntityDoppleganger.java#L369

The class actually has this event so our injector will apply to it - which means it could be that this indirectly causes errors somewhere else.

commented

I don't even understand what is going on here. It's happening in the EntityDoppleganger class, which FE obviously doesn't mess with.

commented

EntityDoppleganger class is a Botania class referencing something in EntityLiving.

commented

I am assuming you are using the latest Jenkins build of forge essentials for 1.8.9?

commented

Yes i did. Build 79

commented

ok. What mods do you have other than botania?

commented

Ohhh wait - this is probably related to patching attackEntityFrom method in every Entity subclass.
Knowing this it should be fixable...

commented

After much blood, sweat and tears, the cause of this (and #2159) has been determined to be something related to FE's custom injector patching a class that has inner classes. We are still investigating.

commented

Please test again with latest build.
Should work again now.

commented

Ok, i go test now ;)

commented

I have tested only with this mod on the server but the mod is not functional now.

commented

Follow up in #2159

commented

Try now again - I merged the fixes from 1.7.10 to 1.8.9 now.

EDIT: Actually now because I didn't properly commit my changes - use build 93

commented

Hello, the latest build is functional ! ;D thanks you verry much and thanks you for your speed ;) good luck for the future !