diff --git a/src/Analysis/Problem/Forge/ModDependencyProblem.php b/src/Analysis/Problem/Forge/ModDependencyProblem.php index c5ab4d8..dbca183 100644 --- a/src/Analysis/Problem/Forge/ModDependencyProblem.php +++ b/src/Analysis/Problem/Forge/ModDependencyProblem.php @@ -36,7 +36,8 @@ public static function getPatterns(): array 'requires-mods' => '/The mod \S+ \(([^\)]+)\) requires mods \[([^\]]+)\] to be available/', 'missing-mods-exception' => '/net\.minecraftforge\.fml\.common\.MissingModsException: Mod \S+ \((.+)\) requires (.+)/', 'mod-loading-exception' => '/net\.minecraftforge\.fml\.ModLoadingException: Mod §.([^§]+)§. requires §.([^§]+)§. §.([^ §]+)[^§]*§./', - 'loading-failed-exception' => '/net\.minecraftforge\.fml\.LoadingFailedException: Loading errors encountered: \[\n(?:.*\n)*Mod §.([^§]+)§. requires §.([^§]+)§. §.([^ §]+)[^§]*§./' + // whole lines are skipped possessively, so a long stack trace doesn't exhaust the backtrack limit + 'loading-failed-exception' => '/net\.minecraftforge\.fml\.LoadingFailedException: Loading errors encountered: \[\n(?:.*+\n)*Mod §.([^§]+)§. requires §.([^§]+)§. §.([^ §]+)[^§]*§./' ]; } diff --git a/test/tests/Performance/PatternSafetyTest.php b/test/tests/Performance/PatternSafetyTest.php index 8832e35..7683648 100644 --- a/test/tests/Performance/PatternSafetyTest.php +++ b/test/tests/Performance/PatternSafetyTest.php @@ -5,7 +5,6 @@ use Aternos\Codex\Analysis\PatternInsightInterface; use Aternos\Codex\Minecraft\Analysis\Problem\Bukkit\ChunkLoadExceptionProblem; use Aternos\Codex\Minecraft\Analysis\Problem\Forge\ClientOnlyModProblem; -use Aternos\Codex\Minecraft\Analysis\Problem\Forge\ModDependencyProblem; use Aternos\Codex\Minecraft\Analysis\Problem\Forge\ModFatalProblem; use Aternos\Codex\Minecraft\Analysis\Problem\Paper\ServerJarInPluginFolderProblem; use Aternos\Codex\Minecraft\Test\Logs\TestLog; @@ -78,7 +77,6 @@ class PatternSafetyTest extends TestCase protected const array KNOWN_UNSAFE_PATTERNS = [ ChunkLoadExceptionProblem::class => [0, 1, 2], ClientOnlyModProblem::class => [0], - ModDependencyProblem::class => ["loading-failed-exception"], ModFatalProblem::class => ["failed-to-load"], ServerJarInPluginFolderProblem::class => [0], ];