Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Axiom causes a LWJGL version mismatch error at startup #2585

Closed
jellysquid3 opened this issue Jul 1, 2024 · 9 comments
Closed

Axiom causes a LWJGL version mismatch error at startup #2585

jellysquid3 opened this issue Jul 1, 2024 · 9 comments
Labels
A-mods Area: Mod compatibility E-external Closed: External issue T-crash Type: Crash or hang

Comments

@jellysquid3
Copy link
Member

jellysquid3 commented Jul 1, 2024

Various user reports have indicated that it has become impossible to start Minecraft 1.20.1 with Sodium 0.5.11 when Axiom 3.0.0 is also installed. This appears to be due to the fact that they're including parts of LWJGL's libraries inside their mod, and likely class load order at early startup causes the determined version to be wrong.

@jellysquid3 jellysquid3 added A-mods Area: Mod compatibility T-crash Type: Crash or hang labels Jul 1, 2024
@jellysquid3
Copy link
Member Author

We probably want to make sure that Sodium's error message indicates that "... other mods can also sometimes cause this issue" so that users don't tear apart their launcher for no reason.

@jellysquid3
Copy link
Member Author

The question is whether this is a false error (where Sodium just thinks the version of LWJGL is different) or rather a real issue with Axiom replacing parts of LWJGL that it probably shouldn't be.

@jellysquid3
Copy link
Member Author

From the log files:

[LWJGL] [ERROR] Incompatible Java and native library versions detected.
Possible reasons:
	a) -Djava.library.path is set to a folder containing shared libraries of an older LWJGL version.
	b) The classpath contains jar files of an older LWJGL version.
Possible solutions:
	a) Make sure to not set -Djava.library.path (it is not needed for developing with LWJGL 3) or make
	   sure the folder it points to contains the shared libraries of the correct LWJGL version.
	b) Check the classpath and make sure to only have jar files of the same LWJGL version in it.

So I'm guessing it's not merely version detection that is broken by Axiom. Maybe they are just including the wrong libraries for MC 1.20.1.

@Ocraftj
Copy link

Ocraftj commented Jul 2, 2024

Does anybody know if the supporter-only backport version of axiom 3.1.0 has this same glitch for MC 1.20.1? or is this just for version 3.0.0?

@jellysquid3
Copy link
Member Author

For people running into this issue, you can use a hidden command-line option to bypass the checks in the meanwhile. Just add the following to your JVM arguments:

-Dsodium.checks.issue2561=false

How exactly you do this is going to depend on your launcher of choice. Caveat emptor.

@jellysquid3 jellysquid3 added the P-high Priority: High label Jul 7, 2024
@jellysquid3
Copy link
Member Author

Making this highest priority. Too many bug reports are coming in from other users. We need to either block earlier versions of Axiom, or special case their mod.

@jellysquid3 jellysquid3 added this to the Sodium 0.5.12 milestone Jul 7, 2024
@jellysquid3
Copy link
Member Author

The author of Axiom tells me that it will likely be fixed on their end in the coming days. So I don't think we need a remediation on our end.

@jellysquid3
Copy link
Member Author

Axiom 3.2.1 fixes this problem.

@jellysquid3 jellysquid3 added E-external Closed: External issue and removed P-high Priority: High labels Jul 8, 2024
@jellysquid3 jellysquid3 removed this from the Sodium 0.5.12 milestone Jul 23, 2024
@jellysquid3
Copy link
Member Author

Removing this from the milestone since it didn't require resolution on our side. Thanks @Moulberry.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-mods Area: Mod compatibility E-external Closed: External issue T-crash Type: Crash or hang
Projects
None yet
Development

No branches or pull requests

2 participants