diff --git a/src/handlers/event/analyze_logs/issues.rs b/src/handlers/event/analyze_logs/issues.rs index d54c45d..d583748 100644 --- a/src/handlers/event/analyze_logs/issues.rs +++ b/src/handlers/event/analyze_logs/issues.rs @@ -36,6 +36,7 @@ pub async fn find(log: &str, data: &Data) -> Result> { nvidia_linux, linux_openal, flatpak_crash, + spark_macos, ]; let mut res: Vec<(String, String)> = issues.iter().filter_map(|issue| issue(log)).collect(); @@ -457,3 +458,15 @@ fn flatpak_crash(log: &str) -> Issue { ) || log.contains("Could not open X display connection"); found.then_some(issue) } + +fn spark_macos(log: &str) -> Issue { + let issue = ( + "Old Java on MacOS".to_string(), + "This crash is caused by an old Java version conflicting with mods, most often Spark, on MacOS. + To fix it, either remove Spark or update Java by going to Edit > Settings > Download Java > Adoptium, and selecting the new Java version via Auto-Detect." + .to_string(), + ); + + let found = log.contains("~StubRoutines::SafeFetch32"); + found.then_some(issue) +}