DELTASPIKE-1397 log variable in case of recursive definition
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/TypedResolverImpl.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/TypedResolverImpl.java
index cd981cf..8997a1e 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/TypedResolverImpl.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/config/TypedResolverImpl.java
@@ -550,14 +550,23 @@
                 break;
             }
 
-            String variableValue = new TypedResolverImpl<String>(this.config, varName)
+            try
+            {
+                String variableValue = new TypedResolverImpl<String>(this.config, varName)
                     .withCurrentProjectStage(this.projectStageAware)
                     .evaluateVariables(true)
                     .getValue();
 
-            if (variableValue != null)
+                if (variableValue != null)
+                {
+                    value = value.replace("${" + varName + "}", variableValue);
+                }
+            }
+            catch (StackOverflowError soe)
             {
-                value = value.replace("${" + varName + "}", variableValue);
+                // just log out
+                LOG.severe("Recursive variable resolution detected for " + varName);
+                throw soe;
             }
             startVar++;
         }