FreeMarker template error (HTML_DEBUG mode; use RETHROW in production!)

The following has evaluated to null or missing:
==> currentAction.viewId  [in template "com/cubchicken/common/commonMacros.ftl" at line 49, column 10]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
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: #if currentAction.viewId == "toc"  [in template "com/cubchicken/common/commonMacros.ftl" in macro "canonicalLink" at line 49, column 5]
	- Reached through: @com.canonicalLink  [in template "com/cubchicken/layout/view/DisplayObjectAction/success.ftl" at line 43, column 9]
	~ Reached through: #nested  [in template "com/cubchicken/common/commonMacros.ftl" in macro "designParameterOrElse" at line 1656, column 9]
	~ Reached through: @com.designParameterOrElse name="disp...  [in template "com/cubchicken/layout/view/DisplayObjectAction/success.ftl" at line 6, column 1]
----

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.compare(EvalUtil.java:198)
	at freemarker.core.EvalUtil.compare(EvalUtil.java:115)
	at freemarker.core.ComparisonExpression.evalToBoolean(ComparisonExpression.java:78)
	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)
	at freemarker.core.Environment.visit(Environment.java:371)
	at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:877)
	at freemarker.core.Environment.invokeMacro(Environment.java:813)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
	at freemarker.core.Environment.visit(Environment.java:371)
	at freemarker.core.Environment.invokeNestedContent(Environment.java:621)
	at freemarker.core.BodyInstruction.accept(BodyInstruction.java:60)
	at freemarker.core.Environment.visit(Environment.java:335)
	at freemarker.core.Environment.visit(Environment.java:377)
	at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:877)
	at freemarker.core.Environment.invokeMacro(Environment.java:813)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
	at freemarker.core.Environment.visit(Environment.java:335)
	at freemarker.core.Environment.visit(Environment.java:341)
	at freemarker.core.Environment.process(Environment.java:314)
	at freemarker.template.Template.process(Template.java:383)
	at org.apache.struts2.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:223)
	at com.cubchicken.plugin.quickstart.model.QuickstartSSR.doExecute(QuickstartSSR.java:287)
	at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:193)
	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:372)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:276)
	at com.cubchicken.authorization.interceptor.ObjectViewAuthorizationInterceptor.intercept(ObjectViewAuthorizationInterceptor.java:101)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.authorization.interceptor.BasicAuthorizationInterceptor.intercept(BasicAuthorizationInterceptor.java:70)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.authentication.interceptor.AuthenticationInterceptor.intercept(AuthenticationInterceptor.java:115)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.authentication.interceptor.ExternalCrawlerDetectionInterceptor.intercept(ExternalCrawlerDetectionInterceptor.java:140)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.common.interceptor.P3PInterceptor.intercept(P3PInterceptor.java:64)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.common.control.LoggingInterceptor.intercept(LoggingInterceptor.java:107)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.cms.interceptor.UrlContextInterceptor.intercept(UrlContextInterceptor.java:140)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.common.interceptor.ExceptionHandlingInterceptor.intercept(ExceptionHandlingInterceptor.java:78)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.common.interceptor.SiteAbuseInterceptor.intercept(SiteAbuseInterceptor.java:114)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.common.interceptor.SiteSetterInterceptor.intercept(SiteSetterInterceptor.java:52)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.personalization.interceptor.UserPreferenceInjectionInterceptor.intercept(UserPreferenceInjectionInterceptor.java:97)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor.intercept(ActionAutowiringInterceptor.java:120)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.common.interceptor.IgnoreIOErrors.intercept(IgnoreIOErrors.java:46)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.common.dao.hibernate.HibernateSessionInterceptor.intercept(HibernateSessionInterceptor.java:106)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.common.interceptor.InitialAbuseInterceptor.intercept(InitialAbuseInterceptor.java:115)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.common.interceptor.ExpirationSettingInterceptor.intercept(ExpirationSettingInterceptor.java:64)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.cubchicken.common.interceptor.ExceptionFinalInterceptor.intercept(ExceptionFinalInterceptor.java:68)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
	at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:575)
	at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81)
	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
	at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.base/java.lang.Thread.run(Thread.java:833)

The following has evaluated to null or missing: ==> currentAction.viewId [in template "com/cubchicken/common/commonMacros.ftl" at line 49, column 10] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- 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: #if currentAction.viewId == "toc" [in template "com/cubchicken/common/commonMacros.ftl" in macro "canonicalLink" at line 49, column 5] - Reached through: @com.canonicalLink [in template "com/cubchicken/layout/view/DisplayObjectAction/success.ftl" at line 43, column 9] ~ Reached through: #nested [in template "com/cubchicken/common/commonMacros.ftl" in macro "designParameterOrElse" at line 1656, column 9] ~ Reached through: @com.designParameterOrElse name="disp... [in template "com/cubchicken/layout/view/DisplayObjectAction/success.ftl" at line 6, column 1] ----

Error: The following has evaluated to null or missing: ==> currentAction.viewId [in template "com/cubchicken/common/commonMacros.ftl" at line 49, column 10] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- 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: #if currentAction.viewId == "toc" [in template "com/cubchicken/common/commonMacros.ftl" in macro "canonicalLink" at line 49, column 5] - Reached through: @com.canonicalLink [in template "com/cubchicken/layout/view/DisplayObjectAction/success.ftl" at line 43, column 9] ~ Reached through: #nested [in template "com/cubchicken/common/commonMacros.ftl" in macro "designParameterOrElse" at line 1656, column 9] ~ Reached through: @com.designParameterOrElse name="disp... [in template "com/cubchicken/layout/view/DisplayObjectAction/success.ftl" at line 6, column 1] ----

Return to site.

If this looks like a bug, please send us a note describing what happened, and we'll try to get things fixed as soon as we can. providing us details on the steps leading to this error. We'll get back to you as soon as possible.