Closed gitgud-software closed 8 years ago
Code is compiled against 2.2.817 which is a few builds behind. However, I would have expected the minor version number to change with API changes. But, knowing player he changed the API and pushed it like a normal bug fix build. I will look into it and patch it here later. For now, you can add -DenableAsmTemplates=false to your run args to disable the templates. Not sure if it will fix the crash but is worth a try.
It's a much simpler problem @DarkGuardsman
Your submodule commit of BuiltBrokenScripts is too old and you need to update the submodule to a newer commit that pulls in all the stuff that's being looked for during the compilation and ignored because it isn't there.
This should fix what I'm getting.
UPDATE: No I was completely wrong.
Actually nix that whole statement about this being the only problem... the fact is though, that BuiltBrokenScripts 1.6.4 was being used in a repo where buildScripts was appropriate.
It grabs them from a GitHub raw url https://github.com/BuiltBrokenModding/VoltzEngine/blob/development/build.gradle#L30. I handle all the gradle things. IT does not depend on the submodule what so ever.
Wait the project structure is starting to go right over my head. I'm wondering as to why there's a submodule now.
The reason we keep the submodule is because of the bat files inside of the scripts folder, and yes i understand its not an orthodox setup.
I will do some testing to see if https://github.com/BuiltBrokenModding/BuiltBrokenScripts/pull/25 fixes the issue.
It definitely doesn't, having messed around with recompiling on top of the latest forge.
There doesn't seem to have been anything relevant between the latest build and *817, and based on my failure to get even the used build of IC2 to work alongside Voltz, I think the issue predates it.
one of the ic2 devs not player did something. I am trying to review the Jenkins in my spare time to look at it.
Looks like build 824 just came out 2 days ago, didn't think IC2 was still making builds for 1.7 since they are doing 1.8, 1.9, and 1.10 already. Either way, I have the new versions downloads and will check the code shortly. As well the issue doesn't predate 817 as I didn't add IC2 support until a few days ago. Even though we had that version in our build path for a while now.
Also @gitgud-software Looks like my local workspace is using build 823 so... this is something more than just an incompatibility issue. Something tells me its a load order issues and might take a while to fix.
@gitgud-software try that new build when it comes out.
Note this might take a few tries to solve. As it is not an API issue with IC2, it does look like a loading order issue. As the ICTemplate I created only depends on one API class that has not changed. Meaning at runtime that class is not loaded, or the IC2 API is not loaded. As well you can still add that runtime argument to disable the ASM as it should work.
All builds that are produced on our development branch can be found here http://builtbroken.com/pages/voltzengine/1.7/downloads.php
New error, similar results:
please use something similar to http://pastebin.com I do have it in the issue_temple.md.
Apologies. Just a note, this seems to have gone from a compatibility issue with IndustrialCraft2 to a straight up broken build; that last jar doesn't work, period.
That confirms it, it's a class loading error. I'll have to read up on a few things to solve this bug as its an issue with the class loader. As it's not loading the block.class file...
Would after:TConstruct but for IC2 work?
@dmodoomsirius No, it's a class loading issue.
This happens with using ASM when half of the code is not loaded yet into Minecraft. So I need to code something to force Forge's class loader to get the files I need. Then that should solve the issue with loading the template with the imports it needs. I could also try to delay the loading of the template until it's being applied but it will still have the same issue :(
Also, I might not get to fix this for a day or so as I need to prioritize freelancing work right now. I'm almost done with my current project but for now use the -DenableAsmTemplates=false in your run arguments. This will shut down the loading of the templates and avoid the crash.
I must be the first to try this, or maybe my mod combination has mad this the result. This is the new breakdown that occurs when I add the above argument into my launcher. Exception in thread "main" [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.lang.NoClassDefFoundError: openmods/api/IResultListener [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Class.getDeclaredConstructors0(Native Method) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Class.getConstructor0(Unknown Source) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Class.newInstance(Unknown Source) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.registerTransformer(LaunchClassLoader.java:88) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper.injectIntoClassLoader(CoreModManager.java:108) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.ClassNotFoundException: openmods.api.IResultListener [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: ... 8 more [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.ClassCircularityError: com/builtbroken/mc/core/asm/template/TemplateManager [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at com.builtbroken.mc.core.asm.template.ClassTransformer.transform(ClassTransformer.java:24) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) [21:03:25] [main/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: ... 10 more
thought this wasn't really so long to go put it on pastebin
Hmm will look into that errors some more, almost missed com.builtbroken.mc.core.asm.template.ClassTransformer.transform(ClassTransformer.java:24) at the bottom. Going to say it some odd logic with forge that I need to correct.
@dmodoomsirius Since I have yet to get to fixing this error. think you can pull the errored version off of curse... if it was uploaded that is.
I think the issue might be resolved in the next build version https://github.com/BuiltBrokenModding/VoltzEngine/commit/8f3bd68e8c8971450b89be8720870ddd2639b78a but I still need to do a live test
Tested and it no longer crashes in a live modpack with IC2 and VE. Will test with additional mods that use the injection system to make sure. However, I'm considering this issue resolved but you can reopen if the issue pops back up.
https://github.com/BuiltBrokenModding/VoltzEngine/commit/bae7300c7f9f1633776c5d183a3045fa97712d25 https://github.com/BuiltBrokenModding/VoltzEngine/commit/edfab0c03b1903de8c241b34ae875f4f61ed1425 https://github.com/BuiltBrokenModding/VoltzEngine/commit/838d5f6284d00715db363d92f4bb23e6f27ed248
Can confirm no crash when interacting with MFFS machines, so looks like everything is fixed.
Note for self: Cause was a mix of loading missing classes and trying to use Engine's main logger. Fix involved remove calls to unneeded classes, changing loading, and implementing internal logger.
Side Note: Chunk Transformer might also be fixed with this patch.
Minecraft Version
1.7.10
Forge Version
10.13.4.1614
VoltzEngine Version
VoltzEngine 0.19.0b207
IndustrialCraft² Version
IndustrialCraft² 2-2.2.824
Is this the latest CurseForge build?
Yes.
Crash Log
[23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.lang.NoClassDefFoundError: com/builtbroken/mc/lib/mod/compat/ic/ICTemplateTile [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at com.builtbroken.mc.core.asm.template.TemplateManager.load(TemplateManager.java:39) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at com.builtbroken.mc.core.EngineCoreMod.<init>(EngineCoreMod.java:30) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.reflect.Constructor.newInstance(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Class.newInstance(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.CoreModManager.loadCoreMod(CoreModManager.java:501) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.CoreModManager.discoverCoreMods(CoreModManager.java:389) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:221) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:90) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.FMLLaunchHandler.setupClient(FMLLaunchHandler.java:67) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.relauncher.FMLLaunchHandler.configureForClientLaunch(FMLLaunchHandler.java:34) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at cpw.mods.fml.common.launcher.FMLTweaker.injectIntoClassLoader(FMLTweaker.java:126) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.reflect.Method.invoke(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:310) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:395) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at org.multimc.EntryPoint.listen(EntryPoint.java:170) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at org.multimc.EntryPoint.main(EntryPoint.java:54) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.ClassNotFoundException: com.builtbroken.mc.lib.mod.compat.ic.ICTemplateTile [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: ... 24 more [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.NoClassDefFoundError: com/builtbroken/mc/prefab/tile/Tile [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.defineClass1(Native Method) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.defineClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.security.SecureClassLoader.defineClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: ... 26 more [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.ClassNotFoundException: com.builtbroken.mc.prefab.tile.Tile [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: ... 30 more [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.NoClassDefFoundError: com/builtbroken/mc/prefab/tile/entity/TileEntityBase [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.defineClass1(Native Method) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.defineClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.security.SecureClassLoader.defineClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: ... 32 more [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.ClassNotFoundException: com.builtbroken.mc.prefab.tile.entity.TileEntityBase [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: ... 36 more [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.NoClassDefFoundError: net/minecraft/tileentity/TileEntity [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.defineClass1(Native Method) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.defineClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.security.SecureClassLoader.defineClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: ... 38 more [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.ClassNotFoundException: net.minecraft.tileentity.TileEntity [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.ClassLoader.loadClass(Unknown Source) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: ... 42 more [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.NullPointerException [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) [23:07:33] [main/INFO]: [java.lang.Throwable$WrappedPrintStream:println:-1]: ... 44 more
Crash Report:
Any modern build of IndustrialCraft2 will crash when running alongside Voltz Engine, which is attempting to load compatibility but fails when it hits ICTemplateTile.java at run-time.