brucethemoose / Minecraft-Performance-Flags-Benchmarks

Sane, Benchmarked Java Flags and Tweaks for Minecraft
MIT License
1.31k stars 28 forks source link

GraalVM EE actually has issues with some mods. #6

Closed HyperSoop closed 1 year ago

HyperSoop commented 2 years ago

I can confirm Immersive Portals has issues with EE that don't present on CE. I have also seen people say other mods that touch the technicals of Minecraft are not well compatible. This is something that should be pointed out, after more information is acquired.

HyperSoop commented 2 years ago

Ooh, in the same configuration CE results in unbearable log spam with GL errors. Oofie.

brucethemoose commented 2 years ago

Ooh, in the same configuration CE results in unbearable log spam with GL errors. Oofie.

Oh interesting. CE is basicaly OpenJDK, so I'm surprised it has any issues.

The immersive portals issue still happen with no arguments?

I will test immersive, but can you post a log for the GL thing?

brucethemoose commented 2 years ago

@HyperSoop you can fix this for now by rolling back to GraalVM 22.1.0 and removing -Dgraal.EarlyGVN=true -Dgraal.StripMineCountedLoops=true

Also, I can't replicate your OpenGL errors with CE

HyperSoop commented 2 years ago

Ooh, in the same configuration CE results in unbearable log spam with GL errors. Oofie.

Oh interesting. CE is basicaly OpenJDK, so I'm surprised it has any issues.

The immersive portals issue still happen with no arguments?

I will test immersive, but can you post a log for the GL thing?

The log i'll send now, and also i'll try without flags in a bit. [20:30:20] [Render thread/INFO]: OpenGL debug message: id=1282, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_OPERATION error generated. The source and destination internal formats are not compatible.' - like 20 of these per second. I'm now also pretty sure it's because of the flags.

HyperSoop commented 2 years ago

I see you have already figured out the problem with EE, i'll now also try to reproduce the CE log spam.

(Yes, i got it. It's only happening with the flags)

brucethemoose commented 2 years ago

I see you have already figured out the problem with EE.

Not exactly :(. I know its some kind of enterprise compiler regression between 22.2.0 and, 22.1.0, but I would prefer to fix it in 22.2.0 without rolling back or disabling the entire enterprise compiler.

And yeah, I ran CE with the OpenJDK 17 flags, and I'm not getting that GL error... but I have seen that same OpenGL error before, when running the Iris mod.

Hence I'd like to see your whole log if possible, to know your hardware, environment and so on. But if I can't replicate it, you may have to take half the flags out at a time to narrow down which mod is bugging immportals out.

HyperSoop commented 2 years ago

I actually have iris on that instance, so it's just poor compatibility with immptl and iris which is somewhat known.

brucethemoose commented 2 years ago

I actually have iris on that instance, so it's just poor compatibility with immptl and iris which is somewhat known.

Oh actually I get that as a standalone Iris issue on my RTX 2060, even with shaders and all other mods disabled.

Its not a GraalVM-specific issue either, I don't think, but I will double check that. I've been meaning to report this as well, I will ping you if I do.

brucethemoose commented 2 years ago

Oh I've confirmed this breaks Iris too, you were right.

I've updated the args to remove the offending flag.

brucethemoose commented 2 years ago

So to summarize, one bug I thought was an immersive portals bug was actually a vanilla crash, the other (the VectorizeSIMD flag) only seems to break Iris.

You have any more details about what's breaking immersive portals?

HyperSoop commented 2 years ago

You have any more details about what's breaking immersive portals?

I don't know. My guess is immersive portals makes big changes to the area of rendering code affected, and that's why it makes the issue so noticable.

brucethemoose commented 2 years ago

You have any more details about what's breaking immersive portals?

I don't know. My guess is immersive portals makes big changes to the area of rendering code affected, and that's why it makes the issue so noticable.

But whats the issue? I tried the dimension stack feature and building a portal in Graal EE, and both seem to work/look fine.

HyperSoop commented 2 years ago

You have any more details about what's breaking immersive portals?

I don't know. My guess is immersive portals makes big changes to the area of rendering code affected, and that's why it makes the issue so noticable.

But whats the issue? I tried the dimension stack feature and building a portal in Graal EE, and both seem to work/look fine.

Maybe it was related to your arguments. I think we ahve already decided what the problem is...?

brucethemoose commented 2 years ago

I was mistaken before. I thought I was running into a startup crash with immersive portals, but turns out that was a vanilla issue.

mllightitup commented 2 years ago

Astral Sorcery does not display constellations in the book and in the telescope when the JDK from GraalVM is installed. Happened to me and my friend on Enigmatica 6 Expert modpack. Or displays for a while and then disappears.

mllightitup commented 2 years ago

I tried removing all the flags and some mods, but the only thing that helped was changing java to adoptium

brucethemoose commented 2 years ago

Astral Sorcery does not display constellations in the book and in the telescope when the JDK from GraalVM is installed. Happened to me and my friend on Enigmatica 6 Expert modpack. Or displays for a while and then disappears.

I will try to reproduce this. But if you wish, you can disable these flags like so, as most are enabled by default: -Dgraal.UsePriorityInlining=false -Dgraal.Vectorization=false -Dgraal.OptDuplication=false -Dgraal.DetectInvertedLoopsAsCounted=false -Dgraal.LoopInversion=false -Dgraal.VectorizeHashes=false -Dgraal.EnterprisePartialUnroll=false -Dgraal.VectorizeSIMD=false -Dgraal.StripMineNonCountedLoops=false -Dgraal.SpeculativeGuardMovement=false -Dgraal.InfeasiblePathCorrelation=false -Dgraal.LoopRotation=false

brucethemoose commented 2 years ago

Oh, and I have rolled back to GraalVM 22.1.0 EE myself. 22.2 seems like a funky release.

EDIT: Except I forgot that E6E requires Java 8.

brucethemoose commented 2 years ago

@mllightitup I jumped the gun in my previous post, as I can't get this to actually happen in my E6E instance.

What version of GraalVM are yall using? And how long does it usually take to happen? The below screenshots are on EE 21.3.3 Java 8 2022-08-05_19 47 32 2022-08-05_19 47 36

mllightitup commented 2 years ago

I tried on java 17 graalvm ee 22.2.0 If you run an enigmatic server for example, there are flags in the default settings to make everything work on java 16+. And as I understood from the official discord, everything should work fine on java 16+ on the client too

mllightitup commented 2 years ago

Screenshot_2022-08-06-04-32-49-07_572064f74bd5f9fa804b05334aa4f912 I just now noticed the first sentence. Maybe this is just one of those bugs.)

mllightitup commented 2 years ago

Can you try to replicate this on java 17 graalvm 22.2.0? Maybe the problem is with the java 17 from graal

brucethemoose commented 2 years ago

I tried on java 17 graalvm ee 22.2.0 If you run an enigmatic server for example, there are flags in the default settings to make everything work on java 16+. And as I understood from the official discord, everything should work fine on java 16+ on the client too

Ah. It just errored out for me when I try to run Java 17, with a message saying I have to run Java 8, so I havent tried 17 yet.

Does this bug happen in Adoptium 17 too?

I would also suggest rolling Graal EE back to 22.1.0 f you do use 17. Something is up with 22.2.0.

mllightitup commented 2 years ago

If you use multimc or polymc there is a checkbox "skip java compatibility check" or something like that

mllightitup commented 2 years ago

If the checkbox is active it allows you to use java 17

mllightitup commented 2 years ago

Does this bug happen in Adoptium 17 too?

Nope. Adoptium 17 fixes this bug with astral sorcery

brucethemoose commented 2 years ago

Does this bug happen in Adoptium 17 too?

Nope. Adoptium 17 fixes this bug with astral sorcery

I have confirmed this with Astral Sorcery by itself. It even happens in GraalVM Community Edition!

And it doesn't happen in Graal EE for Java 8.

This is a weird one.

Supersonicboss1 commented 2 years ago

I want to document this here for anyone having the same issue - on 1.18.2, TerraBlender seems to break with Java 17 EE 22.2.0, and for whatever reason, the same is not true with EE 22.1.0

Error:

Failed to load datapacks, can't proceed with server load
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: SubTree needs at least one child

Something is definitely wrong with 22.2.0, at least for Minecraft.

brucethemoose commented 2 years ago

I want to document this here for anyone having the same issue - on 1.18.2, TerraBlender seems to break with Java 17 EE 22.2.0, and for whatever reason, the same is not true with EE 22.1.0

Error:

Failed to load datapacks, can't proceed with server load
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: SubTree needs at least one child

Something is definitely wrong with 22.2.0, at least for Minecraft.

22.2.0 breaks vanilla with the default flags. It is indeed fishy.

brucethemoose commented 1 year ago

There is a possible 22.3.0 bug with particle locations mentioned by RukaCollie in Discord.

unknown

they propagate as a single jet from an arbitrary location rather than the particle origin, very directional movement (presumably because the origin is not where it should be)

The pictured modpack is Enigmatica 6 Expert, frostfields biome in the undergarden.

I couldn't reproduce it in a quick test.