BuildCraft and JEI cause massive server connection time increase
Drakonas opened this issue ยท 22 comments
Not sure what is incompatible, but after the 7.2.3 update, with the same mods on our server, BC caused so much time to pass during initializing the map for the client that the server disconnects the client because it believes it timed out.
I then proceded to create a fresh server/client and try again with an adjusted mod list.
Server Log: https://gist.github.com/Drakonas/fffa46ad759c64097ed4
Trimmed Client Log: https://gist.github.com/Drakonas/0171c33235661a7dc2bc
NOTE: This log is from a clean FML 1794 server, but I have added new mods since we had the problem. The mods that I have added, which can be removed without fixing the issue, are as follows:
- Chisel
- ExtraUtilities (Yes, I know of BC's past incompatibilities. The issue still occurs without it)
- ComputerCraft
- AppleCore
I will note that the excessive load times occur on Single Player too, but since there is no timeout, it eventually loads.. but after about ~30 seconds of the window not responding and about ~25 seconds of no output in the console.
Any insight into if I am doing something wrong would be nice feedback if anyone has it. I am open to suggestions if you think this is not a Buildcraft problem, but everything points to it, as the time to connect to the server is cut by 3/4's when removing Buildcraft and Buildcraft-compat. (The ~25 seconds of no output mentioned above are fixed when removing the BC mods)
Please try removing JEI. We've had some reports about it, but it wasn't very reproducible.
Any extra configuration options?
Yeah. Removing JEI but keeping Buildcraft fixed the issue as well. Is this JEI's fault? Do I need to report this to them? I have changed no client settings or mod configuration from the defaults except no Taint spread in Thaumcraft and Required sleeper percentage in Morpheus.
I also should not that there's some weird stuff going on when I disabled JEI in the Curse Launcher... Dependencies with it must be screwy, as once I did, and tried enabling it again, it auto-disabled Buildcraft-compat, and Vice Versa. Not only that, when I removed Buildcraft-compat, it forced a lot of my other mods off including JEI, to turn off and I couldn't turn them on again until I reinstalled them all. I have a feeling installing Buildcraft from Curse was a bad idea.. lol.
The Curse version of BuildCraft is a not-exactly-official mirror since late 2014 - I am not responsible for issues with the Curse launcher, however I am responsible for BuildCraft issues.
We know of this issue, but thanks for reproducing it! Calling @mezz
I had a feeling that the Curse listing was unofficial. You guys said you couldn't add it to Curse because of license issues.
@Drakonas the BC releases on curse are the same as the ones on the BC site, i download them from the BC site and put them on curse as a mirror so they are the exact same files. curse isn't always up to date as i don't always have time or a new release is comming very soon but i uploaded yesterday so it is up to date atm
@Drakonas - actually, the Curse listing is not unofficial per se, it's not official either, however. Just call it a mirror. The licensing is not a problem, I'm just focusing on the official BuildCraft website and repository personally.
This is probably from the massive number of facades that crash when I check if they have an item model. Chisel already has many broken ones but the facades compound the issue greatly. One solution would be to avoid creating broken facades. I may be able to do some work on Jei's side but it would be more of a workaround for the underlying issue.
@mezz A lot of other mods have configuration options that disable them showing up in JEI. Would adding something like that prevent the issue?
Yes, assuming facades are the problem, blacklisting them in Jei's API should fix this issue.
Please try this version: http://asie.pl/bc724a.jar
Still too long of a connection time. I use JEIAddons as well. Should you need to look into that?
Is it shorter, though?
2016-03-27 8:41 GMT+02:00 3rdN3rd [email protected]:
Still too long of a connection time.
โ
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub
#3273 (comment)
Okay, try this release, should reduce it much further (it will only be fully fixed in 8.0.x):
If it's still a problem, get the client-side console log and the server-side console log. There's two lines next to each other starting with "FACADEDEBUG" in both, copy them over.
Still getting timeouts.
Clientside:
[04:43:28] [Client thread/WARN] [BuildCraft/BuildCraft|Transport]: FACADEDEBUG: CST: 7969
[04:43:28] [Client thread/WARN] [BuildCraft/BuildCraft|Transport]: FACADEDEBUG: SST: 0
Serverside:
[04:43:21] [Server thread/WARN] [BuildCraft/BuildCraft|Transport]: FACADEDEBUG: CST: 0
[04:43:21] [Server thread/WARN] [BuildCraft/BuildCraft|Transport]: FACADEDEBUG: SST: 13975
Okay, so the server has ~2x the amount of recipes the client does. This should still be a far cry from the ~10-20x it had before.
Why is it still timing out? o_o
I suspect it may just be a JEI scaling issue with tons and tons of blocks and a slower computer. I'll look into profiling and improving the performance, then we can try again.
Do try to compare 7.2.3 with the build I made.
2016-03-28 8:35 GMT+02:00 mezz [email protected]:
I suspect it may just be a JEI scaling issue with tons and tons of blocks
and a slower computer. I'll look into profiling and improving the
performance, then we can try again.โ
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub
#3273 (comment)
Updated JEI with much better startup performance. Please try it out.
The slowest thing in startup is now Buildcraft compat, the HandlerAssemblyTable.isRecipeValid()
call is unexpectedly slow.
Asie, I recommend changing AssemblyRecipeManager assemblyRecipes
to a HashBiMap.create();
instead of HashMap
. Right now getRecipes()
returns assemblyRecipes.values()
which has extremely slow .contains()
performance. That should clear up the issue completely.
Oh. I... haven't realized that. Fixing...
2016-03-28 10:01 GMT+02:00 mezz [email protected]:
Updated JEI with much better startup performance. Please try it out.
http://minecraft.curseforge.com/projects/just-enough-items-jei/files/2290377The slowest thing in startup is now Buildcraft compat, the
HandlerAssemblyTable.isRecipeValid() call is unexpectedly slow.
Asie, I recommend changing AssemblyRecipeManager assemblyRecipes to a
HashBiMap.create(); instead of HashMap. Right now getRecipes() returns
assemblyRecipes.values() which has extremely slow .contains() performance.โ
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub
#3273 (comment)