asiekierka / FoamFix

Minecraft memory usage optimization mod. Please note that code contained herein is not a suggestion for Minecraft unless explicitly declared elsewhere, in writing, by the rightsholder(s).
http://asie.pl/foamfix
150 stars 23 forks source link

Foamfix crash in my modpack #251

Open ghost opened 4 years ago

ghost commented 4 years ago

my minecraft has crashed, VanillaFix mod says the problem is from this mod, i'm using about 125mods

here the crash report

Ad-Blokker commented 4 years ago

Your Java is super old and broken because it doesn't even detect any OpenGL (GPU) stuff Also your memory allocation for 125 mods seems a bit low @ 2.8gb ram

Your Java Version: 1.8.0_51 (14 july 2015) Newest Java version: 1.8.0_241

asiekierka commented 4 years ago

@Ad-Blokker That's terrible advice. Please don't share such advice.

I'm not sure why this error happened and, unfortunately, FoamFix is no longer maintained - I recommend just disabling the relevant option in foamfix.cfg for the time being - that should be coremod.fasterEntityLookup.

Ad-Blokker commented 4 years ago

I mean java 1.8.0_51 is enormously outdated which introduces security holes. What is the benefit of running an older version of java? In my experience it just causes more problems that good things.

The rest of your points are fair.

asiekierka commented 4 years ago

I mean java 1.8.0_51 is enormously outdated which introduces security holes. What is the benefit of running an older version of java?

As I said - go ask Mojang, who still bundle this version in the official vanilla launcher - leading to most Minecraft users running Minecraft on that version of the JRE.

Ad-Blokker commented 4 years ago

You probably already know this but the Java that Mojang bundles with Minecraft is indeed _51. But this is only a runtime that is installed in the minecraft launcher dir. It also doesn't create java PATH's so other applications cannot use this java because it is not installed like a normal java application.

If you try to any other java application it will say that java is not found on the system because it is true because the minecraft launcher doesn't install it. And for modded most people use Technic, MultiMC, Curseforge (Twitch launcher). Technic and MultiMC need a Java installation. Twitch launcher will use the same minecraft launcher as vanilla but will also use a new java version if you choose to install it.

And bottom of the line why should we trust Mojang to give us advice about Java, Oracle always says use the latest version.. because do you want big security holes in your system?

Fun sidenote, if a modpack uses a https connection to the download server to download the modpack zip and the certficicate is fairly new it will not work with: 14 july 2015 ~ Java: 1.8.0_51 17-03-2016 ~ let's encrypt, and others SSL CA cert changes 19-07-2016 ~ java 8u102 <- new SSL CA certs included

I have seen too many mods crash because of old java versions....

asiekierka commented 4 years ago

Notice what I said:

The 1.8.0_51 Java version is the one Mojang officially bundles with their launcher - as such, most users are using it.

As I said - go ask Mojang, who still bundle this version in the official vanilla launcher - leading to most Minecraft users running Minecraft on that version of the JRE.

I never said using an old version of Java is a good idea; all I said is that most users end up running that version in practice, by virtue of launching Minecraft through the vanilla launcher (directly or via Twitch, or soon via FTB's new client) on Windows with its default version of Java. As such, a crash in FoamFix that is fixed by upgrading Java may be out of reach to most users, and is indeed something a modpack cannot currently enforce on an end user - in other words, it would be terrible if such a consistent bug existed, so terrible I'd be flooded with crash reports.

Also, most crashes pertaining to an old JVM "patch version" seem to occur at a lower level than a Minecraft-format captured crash report, at least from my experience.

Ad-Blokker commented 4 years ago

I am part of a admin team on discord and reddit for a large modpack and most of the times crashes that happen with certain mods are solved with a simple java update. This to the point that we have two automated commands. One for generally updating java and one for the modpack not downloading (because yes we use a https link on technic and old java versions don't reconize the SSL CA because it is not included in the old java version...). Newest versions of Forge and most mods are build for the newer java versions. So from my point of view it is not terrible advice because it is the first advice we give.

asiekierka commented 4 years ago

most of the times crashes that happen with certain mods are solved with a simple java update.

:eyes: I am genuinely curious, if they're not just access violation exceptions or something of the sort (aka "a lower level than a Minecraft-format captured crash report"), or SSL certificate issues, and they're consistent.

Ad-Blokker commented 4 years ago

I can search up some of the logs. Sometimes it maybe is a mod not handeling exceptions very well. But sometimes minecraft itself shits itself and will print error's with java.lang. or net.minecraft.client.main.Main.main etc etc erors

And yes our modpack also uses vanillafix like this person his log states. And for some people it also said that FoamFix was creating issues etc. Just like the issue opener. But for the people in our discord is was solved with a java update or more ram (we also use a mod that reqires the launcher to allocate atleast 3.5 gigs because otherwise the modpack is unstable) But don't go too high on ram because then Java will shit itself because java/minecraft it's garbage collection is kinda garbage

And yeah techniclauncher is kinda dead or something because they don't catch the erorr's java throws when it can't get a certain file because the SSL CA is not found in the java libs. It times out when downloading and says,

can't download the modpack, contact the modpack author

Most of the time the stacktrace of the log that VanillaFix creates allows us to pinpoint the problem. We see the same stuff so many times.

jadenquinn commented 4 years ago

Maybe don't use the normal Minecraft Laucher. Maybe use MultiMC, that's what I use. Even then, Mojang should just update their stuff. I manually changed the version and I don't get random Java crashes anymore. (JVM Crashes, not normal mod or Minecraft crashes, since I was actually playing vanilla when it kept happening). And yes, I still get them if I switch back to the bundled JRE. The reason why the game is crashing isn't because of an underpowered PC, since this PC is built primarily for Minecraft.