diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/CrashReportAnalyzer.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/CrashReportAnalyzer.java index 1829d8f9c..662b517fa 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/CrashReportAnalyzer.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/CrashReportAnalyzer.java @@ -47,7 +47,7 @@ public final class CrashReportAnalyzer { OPENGL_NOT_SUPPORTED(Pattern.compile("The driver does not appear to support OpenGL")), GRAPHICS_DRIVER(Pattern.compile("(Pixel format not accelerated|GLX: Failed to create context: GLXBadFBConfig|Couldn't set pixel format|net\\.minecraftforge\\.fml.client\\.SplashProgress|org\\.lwjgl\\.LWJGLException|EXCEPTION_ACCESS_VIOLATION(.|\\n|\\r)+# C {2}\\[(ig|atio|nvoglv))")), // Out of memory - OUT_OF_MEMORY(Pattern.compile("(java\\.lang\\.OutOfMemoryError|The system is out of physical RAM or swap space|Out of Memory Error)")), + OUT_OF_MEMORY(Pattern.compile("(java\\.lang\\.OutOfMemoryError|The system is out of physical RAM or swap space|Out of Memory Error|Error occurred during initialization of VM\\RToo small maximum heap)")), // Memory exceeded MEMORY_EXCEEDED(Pattern.compile("There is insufficient memory for the Java Runtime Environment to continue")), // Too high resolution diff --git a/HMCLCore/src/test/java/org/jackhuang/hmcl/game/CrashReportAnalyzerTest.java b/HMCLCore/src/test/java/org/jackhuang/hmcl/game/CrashReportAnalyzerTest.java index 9500ba1fa..41b347759 100644 --- a/HMCLCore/src/test/java/org/jackhuang/hmcl/game/CrashReportAnalyzerTest.java +++ b/HMCLCore/src/test/java/org/jackhuang/hmcl/game/CrashReportAnalyzerTest.java @@ -324,6 +324,13 @@ public class CrashReportAnalyzerTest { CrashReportAnalyzer.Rule.OUT_OF_MEMORY); } + @Test + public void outOfMemoryJVM1() throws IOException { + CrashReportAnalyzer.Result result = findResultByRule( + CrashReportAnalyzer.anaylze(loadLog("/logs/out_of_memory2.txt")), + CrashReportAnalyzer.Rule.OUT_OF_MEMORY); + } + @Test public void memoryExceeded() throws IOException { CrashReportAnalyzer.Result result = findResultByRule( diff --git a/HMCLCore/src/test/resources/logs/out_of_memory2.txt b/HMCLCore/src/test/resources/logs/out_of_memory2.txt new file mode 100644 index 000000000..2ac79e4a6 --- /dev/null +++ b/HMCLCore/src/test/resources/logs/out_of_memory2.txt @@ -0,0 +1,3 @@ +Error occurred during initialization of VM +Too small maximum heap +[HMCL ProcessListener] Minecraft exit with code 1(0x1).