This is an automated email from the ASF dual-hosted git repository.

paulk pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/GROOVY_3_0_X by this push:
     new 526860960f GROOVY-11770: StackOverflowError processing generics 
(backport for GROOVY_3_0_X)
526860960f is described below

commit 526860960f4b66a3bb5ff2eb8473d493ad859983
Author: Paul King <[email protected]>
AuthorDate: Fri Nov 14 21:12:33 2025 +1000

    GROOVY-11770: StackOverflowError processing generics (backport for 
GROOVY_3_0_X)
---
 src/main/java/org/codehaus/groovy/ast/tools/WideningCategories.java | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/src/main/java/org/codehaus/groovy/ast/tools/WideningCategories.java 
b/src/main/java/org/codehaus/groovy/ast/tools/WideningCategories.java
index 4c2ea4f569..cdb1665db2 100644
--- a/src/main/java/org/codehaus/groovy/ast/tools/WideningCategories.java
+++ b/src/main/java/org/codehaus/groovy/ast/tools/WideningCategories.java
@@ -259,7 +259,11 @@ public class WideningCategories {
                 // "String implements Comparable<String>" and "StringBuffer 
implements Comparable<StringBuffer>"
                 basicType = fallback; // do not loop
             } else {
-                basicType = lowestUpperBound(t1, t2);
+                try {
+                    basicType = lowestUpperBound(t1, t2);
+                } catch (StackOverflowError ignore) {
+                    basicType = fallback; // best we can do for now
+                }
             }
             if (agt[i].isWildcard() || bgt[i].isWildcard() || !t1.equals(t2)) {
                 lubGTs[i] = GenericsUtils.buildWildcardType(basicType);

Reply via email to