[ 
https://issues.apache.org/jira/browse/CAMEL-24885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen resolved CAMEL-24885.
---------------------------------
    Resolution: Fixed

> camel-core - Simple: a resource: text with a function but no scheme ends in a 
> StackOverflowError
> ------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-24885
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24885
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 4.22.0
>            Reporter: Claus Ibsen
>            Priority: Major
>             Fix For: 4.23.0
>
>
> A Simple expression whose text starts with {{resource:}} and contains a 
> function, but names no scheme, ends in a StackOverflowError at evaluation:
> {code}
> - setBody:
>     simple: "resource:templates/${header.type}.json"
> {code}
> {noformat}
> java.lang.StackOverflowError
>     at 
> org.apache.camel.support.ScriptHelper.resolveOptionalExternalScript(ScriptHelper.java:77)
>     at 
> org.apache.camel.language.simple.SimpleLanguage$SimpleExpression.evaluate(SimpleLanguage.java:264)
>     at 
> org.apache.camel.language.simple.SimpleLanguage$SimpleExpression.evaluate(SimpleLanguage.java:267)
>     ... (repeats)
> {noformat}
> {{LanguageSupport.isDynamicResource}} only checks the {{resource:}} prefix 
> and a function, so {{SimpleLanguage.createExpression}} returns the lazy 
> {{SimpleExpression}}; at evaluation 
> {{ScriptHelper.resolveOptionalExternalScript}} requires a scheme 
> ({{hasExternalScript}}) and returns the text as it is, {{createExpression}} 
> is called with the same text and returns the lazy expression again, without 
> end.
> Fix: {{isDynamicResource}} uses the same test as the loader 
> ({{ScriptHelper.hasExternalScript}}) so a scheme-less {{resource:}} text is a 
> plain expression, as it is without a function. Found while testing 
> CAMEL-24884.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to