summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdwin Kempin <ekempin@google.com>2022-01-12 12:16:10 +0100
committerEdwin Kempin <ekempin@google.com>2022-02-11 07:54:14 +0000
commit7530360d9b8fa19d4e8bf239cbd2c2793cc3b5de (patch)
tree513f7903197648195b4cbb61720c7ac890c6e79f
parentf5820e8023c8402721c158afec66304b752073be (diff)
PrologRuleEvaluator: Fix endless loop on type error
If a Prolog rule fails to load and PrologOptions#logErrors() is true (which is e.g. the case if the request is being traced) there was an endless loop in PrologRuleEvaluator: 1. typeError(String, Exception) is invoked which logs the exception and then calls typeError(String) with DEFAULT_MSG as parameter 2. typeError(String) delegates to typeError(String, Exception) with the exception parameter being null which brings us back to 1. The issue was introduced by change I018ce9e13. Signed-off-by: Edwin Kempin <ekempin@google.com> Change-Id: Ie922c8db1ffa51275865f7dfe3432462995b5c84 Release-Notes: Fix endless loop when handling Prolog type errors
-rw-r--r--java/com/google/gerrit/server/rules/PrologRuleEvaluator.java1
1 files changed, 0 insertions, 1 deletions
diff --git a/java/com/google/gerrit/server/rules/PrologRuleEvaluator.java b/java/com/google/gerrit/server/rules/PrologRuleEvaluator.java
index 3dc5be06de..95e0829744 100644
--- a/java/com/google/gerrit/server/rules/PrologRuleEvaluator.java
+++ b/java/com/google/gerrit/server/rules/PrologRuleEvaluator.java
@@ -396,7 +396,6 @@ public class PrologRuleEvaluator {
private SubmitTypeRecord typeError(String err, Exception e) {
if (opts.logErrors()) {
logger.atSevere().withCause(e).log(err);
- return typeError(DEFAULT_MSG);
}
return SubmitTypeRecord.error(err);
}