Open avekens opened 1 year ago
Updating java again to version 1.8.0_381 and cleaning the directory myproofs did not help...
I have copied everything to another computer with Java version 1.8.0_311, and here everything works fine. Therefore, I assume it's the Java version which causes the problem.
Yesterday, another Java update was performed (java version 1.8.0_391), and now mmj2 is working again. Maybe there was something wrong with versions 1.8.0_371 and 1.8.0_381...
I was too quick to close this issue. Unfortunately, the problem is still existing, even with java version 1.8.0_391
Googling the issue, here is the issue tracked in JDK: https://bugs.openjdk.org/browse/JDK-8305072 Until it is fixed, it looks like there is a workaround:
System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");
I'd say we try that!
@tirix thank you very much for this hint. I added the corresponding JVM parameter (-Djava.util.Arrays.useLegacyMergeSort=true), and now it works (again):
java -Xincgc -Xms512M -Xmx1024M -Djava.util.Arrays.useLegacyMergeSort=true -jar mmj2.jar RunParms.txt Y "" c:\Users\Alexander\Documents\metamath ""
That's great!
Ideally this should be added to the repository's mmj2\mmj2jar\mmj2.bat
file.
I suggest keeping this PR opened until done.
Since recently, an IllegalArgumentException is thrown on starting mmj2. The start of the application is aborted afterwards:
Here is the stack trace from the cmd console:
I still use mmj2 v2.4.1 as of 26-Jan-2016, currently with Java version 1.8.0_371 (there was an update on 15-Sep-2023!). Is it possible that the Java update causes this problem? Or did any change within my file system caused it (root cause for the exception within mmj2 is at mmj.pa.ProofAsstGUI.buildMMTFolderChooser(ProofAsstGUI.java:538)).
There are many hints on stackoverflow (https://stackoverflow.com/questions/11441666/java-error-comparison-method-violates-its-general-contract), even remarks on Java versions.