Astral Sorcery

Astral Sorcery

63M Downloads

Fatal Error (JEI/Client JEI-Plugins?)

SalmonSays opened this issue ยท 14 comments

commented

Fatal Error kick is still happening, I assumed this was related to issue #904

But this is still happening randomly even on AstralSorcery-1.12.2-1.10.11.jar

I haven't tested every version between, but the last known version that I know definitively does not cause this problem is AstralSorcery-1.12.2-1.9.4.jar

This doesn't appear to be a hard crash in that users are able to reconnect from the menu after acknowledging the Fatal Error.

The kick does not appear to have any rhyme or reason to it, sometimes allowing a client to stay logged in for upwards of 15 minutes and other times for only 10 seconds. The only consistency is that it happens without fail at some point over the course of a 20 minute period or so to every client when using versions of AS past 1.9.4.

commented

It would be good to have logs, so there's something to actually look at/potentially troubleshoot. There was another issue that's slated for inclusion in the 1.10.12 release, which may be related, or may not be.

commented

So the client spits out a "Connection Lost- A fatal error has occurred, this connection is terminated" featured here: https://i.imgur.com/d6hnJWs.png

Unfortunately the server doesn't spit anything particularly useful out during this interaction, just a [minecraft/NetHandlerPlayServer]: "X" lost connection: Disconnected message where X is the client's username and nothing else

I can try running a client with logging enabled and see if anything more useful turns out, but if it's the same issue from the AstralSorcery-1.12.2-1.10.1.jar bug then it'll look basically like this: BluSunrize/ImmersiveEngineering#3292

I think beyond that my next step might be trying to recreate it in singleplayer to see if it's a server/client only interaction?

commented

Here's a hastebin of the most recent crash from the client log perspective- https://hastebin.com/akozaxobun.shell

Sounds like this may be in some way related to #924 ?

Again, the important takeaway here is that AstralSorcery-1.12.2-1.9.4.jar remains stable after leaving a client logged in to the server overnight whereas I'm able to reproduce the 1.10.1+ crash pretty reliably in generally no longer than 10 minutes or so of idling.

commented

After spinning up the same map/save in singleplayer on AstralSorcery-1.12.2-1.10.11 and an identical modlist otherwise, I haven't been able to induce a crash/kick after 30 minutes of idling. I'll let it run for a few hours more, but I'm prepared to hazard a guess that this is caused by an errant interaction between the client/server systems exclusively.

commented

Given that the IE guys looked responsible last time I dove into this, I think the forestry bit might be a red herring- removing Forestry still results in the crash, though I think that issue was brought up here before: ForestryMC/ForestryMC#1912

I just got back after idling in single player for 10 hours with no crash for what that's worth.

https://docs.google.com/spreadsheets/d/1kaMWIJqHIC7viaZvJ5_Kt1b3rBnGjb7xJNf8wPLzal4/edit?usp=sharing

Here's the modlist, I'll do everything in my power to help narrow it down because I know it's beefy. Right now I'm testing with a very limited few of those mods to see if I can reproduce it- unfortunately there's not much I can do to test beyond set up a client/server and wait about 30 minutes each attempt.

commented

It would be more likely to happen, then, due to how SSP runs those two systems vs SMP.

Also, this doesn't look like 924, different stack.

What is the full mod list on both client and server? Is sponge involved? This isn't even AS data, it's calling a forestry code chunk, but I expect that may be a red herring (though it might involve spawning of an entity, explaining why it seems so random). This is likely something interacting with some bit of code (though fuck if the trace tells usefully why) and seeing some bloat that way, not AS directly. Have never seen this personally on a server, so this'll be hard to troubleshoot.

https://github.com/ForestryMC/ForestryMC/blob/013f7f111ec592ecd74dc63c1b54a2c9257c4fdb/src/main/java/forestry/core/owner/GameProfileDataSerializer.java#L41

commented

Wtf is forestry using a string that long for ownership checks?

Is it called anywhere else other than here, I wonder? https://github.com/ForestryMC/ForestryMC/blob/de62630cf9d83119796171009c233c76ffae24d5/src/main/java/forestry/apiculture/entities/EntityMinecartBeeHousingBase.java#L48

Go poke the forestry guys, see why they're using that long a string for that stuff, or if it's actually used elsewhere, too.

commented

Update- testing is ongoing but fairly slow on account of the unpredictable nature of the crash. I've further narrowed it down to these 5 mods-

  • Immersive Engineering
  • Immersive Petroleum
  • JEIDs

and the clientside mods - JEI and JustEnoughPetroleum

(Plus AstralSorcery/Baubles)

commented

@Doomgull I don't want to jinx it while still running a test instance, but at this point in time I strongly suspect it's related to JEI and JEI-plugins like JustEnoughPetroleum.

In my limited 7 mod test environment I was able to stop the crashes by removing JEI and JustEnoughPetroleum. After going back to my production environment, removing JustEnoughPetroleum/Immersive Engineering/Immersive Petroleum was not enough to stop the crashes and I thought I was going crazy.

I've been seemingly able to stop the crashes with Astral Sorcery 1.10.11 in a production environment of 166 mods by removing JEI as well as all client-sided JEI plugins which have a JEI dependency. How or why this is the case is beyond me- it only seems to conflict on forge server/client connections and not singleplayer on versions of Astral Sorcery after 1.9.4.

I'm going to let this environment run for the rest of the day to be extra certain, and if it turns out I'm wrong somehow I'll update this post- so far it's going 2 hours strong though with no "Fatal Error" crash which to me is a pretty good indicator that JEI/assorted plugins are responsible.

commented

I'm prepared to call it after 5 hours, the game isn't crashing with JEI/JEI Plugins removed. I know that plugins beyond just JustEnoughPetroleum are potentially causing problems, but I couldn't say which definitively because I haven't gone through and tried any others one-by-one. I'm hopeful that's enough information to help start diagnosing the problem, but if there's anything else I can do to help feel free to let me know.

commented

I would say crosspost to jei, see if they can maybe see something in the meantime while it's looked into.

commented

https://hastebin.com/ugeviyetab.shell Here's the client console output when using those 7 mods- the server just notes a player disconnection.

Reproduced using:
(client) JustEnoughPetroleum-0.1
astralsorcery-1.12.2-1.10.11
Baubles-1.12-1.5.2
ImmersiveEngineering-0.12-89
immersivepetroleum-1.12.2-1.1.9
jei_1.12.2-4.14.4.267
JustEnoughIDs-1.0.2-26

and both Forge Recommended/Latest

commented

Do you have a new crash log with the shorter mod list?
It looks like Forestry fixed a packet retain/release issue here, if another mod is still crashing then I think the report will probably have some different information.

commented

Ok so- this issue ticket was looking dead and after seeing continued problems on astralsorcery-1.12.2-1.10.12 I decided to try disabling modules from the server config. I think it's finally gotten me somewhere useful/actionable.

Disabling shooting stars

# Set to false to disable shooting stars from spawning [default: true] B:enabled=false

and ambient flares

# Defines how common ***ambient*** flares are. the lower the more common. 0 = ambient ones don't appear/disabled. [range: 0 ~ 200000, default: 9] I:EntityFlare.ambientspawn=0

from the server astralsorcery.cfg has seemingly resulted in server/client stability.

I haven't done enough experimentation to know if it's either or both directly responsible, but a client has stayed connected to the server overnight with those options set as described vs. default where the client gets kicked anytime between immediately and 60 or so minutes.

Edit: I'm prepared to say it's just Shooting Stars