Server won't load with Custom Endergy Alloy Recipe, however Client will
MaxNeedsSnacks opened this issue ยท 18 comments
Issue Description:
When creating a custom recipe for one of the Endergy Alloys (in my case the Crystalline Alloy) the server refuses to boot up entirely while everything works smoothly in a singleplayer world.
What happens:
The server crashes giving me a StackOverflow error whenever I try to launch out with this custom recipe enabled. It doesn't matter whether the Endergy module is installed or not in this case, neither does it seem to matter whether I am using OreDict names, ItemStack names with metadata, or anything in between. The name of the recipe doesn't change anything either.
What you expected to happen:
I expected for the server to load normally since the client obviously did.
Steps to reproduce:
- Edit the user_recipes.xml file and create a custom recipe with any of the Endergy Ingots as the output (i.e. ingotCrystallineAlloy)
- Launch up the game on client-side and load up a world. The recipe should be there.
- Try to launch up a server with the versions specified below. The server will crash.
Affected Versions (Do not use "latest"):
- EnderIO: 5.0.36 (modular install, though all modules are on the same version)
- EnderCore: 0.5.41
- Minecraft: 1.12.2
- Forge: 14.23.5-2772 (also tried on 2770)
- SpongeForge? no
- Optifine? no (since this is serverside)
- Single Player and/or Server? Server only
Your most recent log file where the issue was present:
Crash Report: https://hastebin.com/aberaweyux.rb
I can also provide a link to a larger portion, though not the entirety, of the full server log if you want me to do so.
Here you go:
https://hastebin.com/tucufejewo.xml
EDIT: I might as well actually post the full xml file since it's not that large, though I've tested with each one of these individually and the endergy alloy is the only one causing problems: https://hastebin.com/fugodeziva.xml
https://hastebin.com/jefitaxoja.sql Interestingly enough, I got this crash on my client with the same recipe, but my server started up fine.
Now hang on, this makes even less sense. Shouldn't my client be crashing as well then?
I've even tried this on a fresh installation now with only the mods needed (TechReborn and ProjectRed (and also AA of course)), and it still works... huh
The issue isn't caused by Endergy specifically, changing the same recipe to replace vibrant alloy gives the same crash.
Oh no, I just forgot that mod in the list, I did install AA, sorry for the mix-up
I think the issue is the fact the modid for ProjectRed includes a dash. You might have to find another resource than electrotine for the recipe.
Though that still doesn't explain why my server runs fine and yours doesn't, while my client crashes and yours doesn't.
Considering the modid dash issue, that seems to most likely be the case, as indicated by com.enderio.core.common.util.stackable.StringThing.java
at line 32, however considering the latter issue, the only difference I could see within our crash logs is the forge version (2772 vs 2768), so I figured that might've been it, but no dice.
Henry fixed the infinite loop issue in EnderCore with the last commit, but I'm still digging into it.
This makes no sense. Yes, we have (had) a bug where having a "-" or "+" in the name
attribute for input
or output
that was not after a "," would lead into this crash. But I don't see any stray "-"/"+" here, and it certainly wouldn't behave differently on client and server...
Even weirder right now is that testing with the CI version of EnderCore where the issue is fixed yields another type of crash with EIO-OC Conduits, where as again, on the client, it's fine
Actually, I'd scratch that, the crash log shows that THAT crash is because the mod id is too long
lol. we fixed that one in ender io a while ago and added code to endercore to warn us the the future if we do the same again. However, that fixed eio isn't released yet...
I thought we fixed that? The issue is that Forge doesn't like modids longer than 20 characters for packet handlers.
Fixed here - 1f12a1e, version isn't out on CurseForge yet.
Ah, so .41 doesn't include that added code and that's why it was able to launch with that before, but .43 does and so it crashes because .37 (or what the number of the next EnderIO release would be) isn't out yet. Let me test whether it's all working with EIO-OC disabled for now, and then I'll get back to you
Can confirm that on my end both client and server now work with the CI EnderCore version (and EIO-OC disabled), so this can probably be closed with the next CF release. Thanks again for helping out with this issue.
Closing this issue now as the CI EnderCore version referenced here has been released. As for the .37 version of EnderIO that fixes the EIO-OC modid, that is a separate issue so if you're reading this and you're a normal end user crashing with EnderIO-OpenComputers on this new version, just disable it until .37 is actually released.