diff options
author | Edwin Kempin <ekempin@google.com> | 2022-01-12 12:16:10 +0100 |
---|---|---|
committer | Edwin Kempin <ekempin@google.com> | 2022-02-11 07:54:14 +0000 |
commit | 7530360d9b8fa19d4e8bf239cbd2c2793cc3b5de (patch) | |
tree | 513f7903197648195b4cbb61720c7ac890c6e79f | |
parent | f5820e8023c8402721c158afec66304b752073be (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.java | 1 |
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); } |