Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-21639

Visiting BambooBaseURL/agent/viewAgents.action throws ftl error

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 8.1.4
    • 8.1.2
    • User Interface
    • None

    Description

      Issue Summary

      When a user visits BambooBaseURL/agent/viewAgents.action page without arguments (plan/environment) an ftl error like

      2022-03-09 15:29:37,395 ERROR [http-nio-8085-exec-6] [runtime] Error executing FreeMarker template
      FreeMarker template error:
      The following has evaluated to null or missing:
      ==> entityType  [in template "agent/viewAgents.ftl" at line 166, column 36]
      
      ----
      Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use [#if myOptionalVar??]when-present[#else]when-missing[/#if]. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
      ----
      
      ----
      FTL stack trace ("~" means nesting-related):
              - Failed at: ${entityType}  [in template "agent/viewAgents.ftl" at line 166, column 34]
      ----
      
      Java stack trace (for programmers):
      ----
      freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
              at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
              at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:481)
              at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:401)
              at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:370)
              at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
              at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
              at freemarker.core.Environment.visit(Environment.java:347)
              at freemarker.core.Environment.visit(Environment.java:353)
              at freemarker.core.Environment.process(Environment.java:326)
              at freemarker.template.Template.process(Template.java:383)
              at org.apache.struts2.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:184)
              at org.apache.struts2.result.StrutsResultSupport.execute(StrutsResultSupport.java:206)
              at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:375)
              at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:279)
              at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:101)
      

      is thrown in application logs.

      This is reproducible on Data Center: (yes)

      Steps to Reproduce

      1. Visit BambooBaseURL/agent/viewAgents.action without arguments

      Expected Results

      No errors in the logs

      Actual Results

      The below exception is thrown in the atlassian-bamboo.log file:

      2022-03-09 15:29:37,395 ERROR [http-nio-8085-exec-6] [runtime] Error executing FreeMarker template
      FreeMarker template error:
      The following has evaluated to null or missing:
      ==> entityType  [in template "agent/viewAgents.ftl" at line 166, column 36]
      
      ----
      Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use [#if myOptionalVar??]when-present[#else]when-missing[/#if]. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
      ----
      
      ----
      FTL stack trace ("~" means nesting-related):
              - Failed at: ${entityType}  [in template "agent/viewAgents.ftl" at line 166, column 34]
      ----
      
      Java stack trace (for programmers):
      ----
      freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
              at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
              at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:481)
              at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:401)
              at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:370)
              at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
              at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
              at freemarker.core.Environment.visit(Environment.java:347)
              at freemarker.core.Environment.visit(Environment.java:353)
              at freemarker.core.Environment.process(Environment.java:326)
              at freemarker.template.Template.process(Template.java:383)
              at org.apache.struts2.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:184)
              at org.apache.struts2.result.StrutsResultSupport.execute(StrutsResultSupport.java:206)
              at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:375)
              at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:279)
              at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:101)
      

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

      Attachments

        Issue Links

          Activity

            People

              72548a1cec6d Wioletta Dys
              sorlovski Zaro
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: