[ 
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)

Reply via email to