From 8db8693132ea0c0ef49179b8abbe5652aa4cc81d Mon Sep 17 00:00:00 2001 From: zkitefly Date: Mon, 12 Feb 2024 23:31:29 +0800 Subject: [PATCH] updata crash report analysis (#2785) * updata OUT_OF_MEMORY * Update CrashReportAnalyzer.java --------- Co-authored-by: Glavo --- .../java/org/jackhuang/hmcl/game/CrashReportAnalyzer.java | 2 +- .../org/jackhuang/hmcl/game/CrashReportAnalyzerTest.java | 7 +++++++ HMCLCore/src/test/resources/logs/out_of_memory2.txt | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 HMCLCore/src/test/resources/logs/out_of_memory2.txt 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).