[ https://issues.apache.org/jira/browse/FELIX-6619?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joerg Hoh updated FELIX-6619: ----------------------------- Description: If you have an error in the configuration settings, the interpolator can run into a stack overflow caused by endless recursion. configuration: * environment variable {{foo = $[env:foo]}} * OSGI configuration: {{$[env:foo]}} {noformat} [FelixLogListener] LogService.org.apache.felix.configadmin Service [org.apache.felix.cm.ConfigurationAdmin,36, [org.osgi.service.cm.ConfigurationAdmin]] Unexpected problem calling configuration plugin [org.osgi.service.cm.ConfigurationPlugin, id=20, bundle=27/reference:file:/opt/aem/launcher/cache/org/apache/felix/org.apache.felix.configadmin.plugin.interpolation/1.2.6/org.apache.felix.configadmin.plugin.interpolation-1.2.6.jar] (java.lang.StackOverflowError) java.lang.StackOverflowError: null at java.base/java.lang.String.indexOf(String.java:1725) at java.base/java.lang.String.indexOf(String.java:1691) at org.apache.felix.configadmin.plugin.interpolation.Interpolator.getNextStartMarker(Interpolator.java:46) at org.apache.felix.configadmin.plugin.interpolation.Interpolator.getMarkerBoundaries(Interpolator.java:63) at org.apache.felix.configadmin.plugin.interpolation.Interpolator.replace(Interpolator.java:116) at org.apache.felix.configadmin.plugin.interpolation.Interpolator.replace(Interpolator.java:147) at org.apache.felix.configadmin.plugin.interpolation.Interpolator.replace(Interpolator.java:159) {noformat} We should have a limit how deep this recursion can go. was: If you have an error in the configuration settings, the interpolator can run into a stack overflow caused by endless recursion. configuration: {noformat} foo = $[env:foo] {noformat} {noformat} [FelixLogListener] LogService.org.apache.felix.configadmin Service [org.apache.felix.cm.ConfigurationAdmin,36, [org.osgi.service.cm.ConfigurationAdmin]] Unexpected problem calling configuration plugin [org.osgi.service.cm.ConfigurationPlugin, id=20, bundle=27/reference:file:/opt/aem/launcher/cache/org/apache/felix/org.apache.felix.configadmin.plugin.interpolation/1.2.6/org.apache.felix.configadmin.plugin.interpolation-1.2.6.jar] (java.lang.StackOverflowError) java.lang.StackOverflowError: null at java.base/java.lang.String.indexOf(String.java:1725) at java.base/java.lang.String.indexOf(String.java:1691) at org.apache.felix.configadmin.plugin.interpolation.Interpolator.getNextStartMarker(Interpolator.java:46) at org.apache.felix.configadmin.plugin.interpolation.Interpolator.getMarkerBoundaries(Interpolator.java:63) at org.apache.felix.configadmin.plugin.interpolation.Interpolator.replace(Interpolator.java:116) at org.apache.felix.configadmin.plugin.interpolation.Interpolator.replace(Interpolator.java:147) at org.apache.felix.configadmin.plugin.interpolation.Interpolator.replace(Interpolator.java:159) {noformat} We should have a limit how deep this recursion can go. > Configadmin interpolator can run into a StackOverflow > ----------------------------------------------------- > > Key: FELIX-6619 > URL: https://issues.apache.org/jira/browse/FELIX-6619 > Project: Felix > Issue Type: Task > Components: Configuration Admin > Reporter: Joerg Hoh > Priority: Major > > If you have an error in the configuration settings, the interpolator can run > into a stack overflow caused by endless recursion. > configuration: > * environment variable {{foo = $[env:foo]}} > * OSGI configuration: {{$[env:foo]}} > {noformat} > [FelixLogListener] LogService.org.apache.felix.configadmin Service > [org.apache.felix.cm.ConfigurationAdmin,36, > [org.osgi.service.cm.ConfigurationAdmin]] Unexpected problem calling > configuration plugin [org.osgi.service.cm.ConfigurationPlugin, id=20, > bundle=27/reference:file:/opt/aem/launcher/cache/org/apache/felix/org.apache.felix.configadmin.plugin.interpolation/1.2.6/org.apache.felix.configadmin.plugin.interpolation-1.2.6.jar] > (java.lang.StackOverflowError) > java.lang.StackOverflowError: null > at java.base/java.lang.String.indexOf(String.java:1725) > at java.base/java.lang.String.indexOf(String.java:1691) > at > org.apache.felix.configadmin.plugin.interpolation.Interpolator.getNextStartMarker(Interpolator.java:46) > at > org.apache.felix.configadmin.plugin.interpolation.Interpolator.getMarkerBoundaries(Interpolator.java:63) > at > org.apache.felix.configadmin.plugin.interpolation.Interpolator.replace(Interpolator.java:116) > at > org.apache.felix.configadmin.plugin.interpolation.Interpolator.replace(Interpolator.java:147) > at > org.apache.felix.configadmin.plugin.interpolation.Interpolator.replace(Interpolator.java:159) > {noformat} > We should have a limit how deep this recursion can go. -- This message was sent by Atlassian Jira (v8.20.10#820010)