[ 
https://issues.apache.org/jira/browse/WW-4573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15076140#comment-15076140
 ] 

victorsosa commented on WW-4573:
--------------------------------

I was looking into this and we can fix this using a CopyOnWriteArrayList. This 
is to keep Memory consistency.

> NPE/ concurrent modification exception
> --------------------------------------
>
>                 Key: WW-4573
>                 URL: https://issues.apache.org/jira/browse/WW-4573
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.3.24
>            Reporter: adam brin
>            Priority: Minor
>             Fix For: 2.3.25
>
>
> Apologies for the lack of contextual information, it appears that there were 
> no other errors logged that add context. But, we're seeing a few of these 
> each day in our production exception logs.  It looks like something may have 
> changed in how the ValueStack has been referenced /called and thus is causing 
> a concurrent modification exception.
> {code}
> ERROR 2015-11-29 09:21:43,987 389933021 [ajp-bio-8009-exec-6841 []] 
> (CommonsLogger.java:42) 
> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor - null
> org.apache.struts2.StrutsException
>         at org.apache.struts2.components.UIBean.end(UIBean.java:540) 
> ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.struts2.views.freemarker.tags.CallbackWriter.afterBody(CallbackWriter.java:84)
>  ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> freemarker.core.Environment.visitAndTransform(Environment.java:427) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.UnifiedCall.accept(UnifiedCall.java:107) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Environment.visit(Environment.java:324) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.MixedContent.accept(MixedContent.java:54) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at 
> freemarker.core.Environment.visitByHiddingParent(Environment.java:345) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.IfBlock.accept(IfBlock.java:48) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at 
> freemarker.core.Environment.visitByHiddingParent(Environment.java:345) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Environment.visit(Environment.java:324) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.MixedContent.accept(MixedContent.java:54) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Environment.visit(Environment.java:324) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Macro$Context.runMacro(Macro.java:184) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Environment.invoke(Environment.java:701) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at 
> freemarker.core.Environment.visitByHiddingParent(Environment.java:345) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at 
> freemarker.core.IteratorBlock$IterationContext.executeNestedBlockInner(IteratorBlock.java:240)
>  ~[freemarker-2.3.23.jar:2.3.23]
>         at 
> freemarker.core.IteratorBlock$IterationContext.executeNestedBlock(IteratorBlock.java:220)
>  ~[freemarker-2.3.23.jar:2.3.23]
>         at 
> freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:194) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at 
> freemarker.core.Environment.visitIteratorBlock(Environment.java:572) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at 
> freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:78) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.IteratorBlock.accept(IteratorBlock.java:64) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Environment.visit(Environment.java:324) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.MixedContent.accept(MixedContent.java:54) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Environment.visit(Environment.java:324) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.EscapeBlock.accept(EscapeBlock.java:48) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Environment.visit(Environment.java:324) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.MixedContent.accept(MixedContent.java:54) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Environment.visit(Environment.java:324) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Environment.process(Environment.java:302) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.template.Template.process(Template.java:325) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at 
> org.apache.struts2.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:223)
>  ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:191)
>  ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:369)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:273)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76)
>  ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
>  ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
>  ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
>  ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:139)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.struts2.interceptor.MessageStoreInterceptor.intercept(MessageStoreInterceptor.java:197)
>  ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.tdar.struts.interceptor.HttpMethodInterceptor.intercept(HttpMethodInterceptor.java:29)
>  ~[HttpMethodInterceptor.class:?]
>         at 
> org.tdar.struts.interceptor.HttpsInterceptor.doHttpIntercept(HttpsInterceptor.java:52)
>  ~[HttpsInterceptor.class:?]
>         at 
> org.tdar.struts.interceptor.HttpsInterceptor.intercept(HttpsInterceptor.java:34)
>  ~[HttpsInterceptor.class:?]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.tdar.struts.interceptor.CacheControlInterceptor.intercept(CacheControlInterceptor.java:40)
>  ~[CacheControlInterceptor.class:?]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.tdar.struts.interceptor.SessionSecurityInterceptor.intercept(SessionSecurityInterceptor.java:85)
>  ~[SessionSecurityInterceptor.class:?]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.tdar.struts.interceptor.ActivityLoggingInterceptor.intercept(ActivityLoggingInterceptor.java:69)
>  ~[ActivityLoggingInterceptor.class:?]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  ~[xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
>  [xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:244)
>  [xwork-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) 
> [struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:564) 
> [struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81)
>  [struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:93)
>  [struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
>  [sitemesh-2.4.2.jar:?]
>         at 
> com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
>  [sitemesh-2.4.2.jar:?]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:91)
>  [struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151)
>  [spring-orm-4.2.2.RELEASE.jar:4.2.2.RELEASE]
>         at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>  [spring-web-4.2.2.RELEASE.jar:4.2.2.RELEASE]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) 
> [urlrewritefilter-4.0.4.jar:4.0.4]
>         at 
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) 
> [urlrewritefilter-4.0.4.jar:4.0.4]
>         at 
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
>  [urlrewritefilter-4.0.4.jar:4.0.4]
>         at 
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)
>  [urlrewritefilter-4.0.4.jar:4.0.4]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71)
>  [log4j-web-2.4.1.jar:2.4.1]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) 
> [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
> [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>  [tomcat-catalina-7.0.52.jar:7.0.52]
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
> [tomcat-catalina-7.0.52.jar:7.0.52]
>         at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:193) 
> [tomcat-coyote-7.0.52.jar:7.0.52]
>         at 
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
>  [tomcat-coyote-7.0.52.jar:7.0.52]
>         at 
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
>  [tomcat-coyote-7.0.52.jar:7.0.52]
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [?:1.8.0_66]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [?:1.8.0_66]
>         at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66]
> Caused by: java.util.ConcurrentModificationException
>         at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901) 
> ~[?:1.8.0_66]
>         at java.util.ArrayList$Itr.next(ArrayList.java:851) ~[?:1.8.0_66]
>         at 
> org.apache.struts2.components.IteratorComponent.end(IteratorComponent.java:333)
>  ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.struts2.views.freemarker.tags.CallbackWriter.afterBody(CallbackWriter.java:84)
>  ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> freemarker.core.Environment.visitAndTransform(Environment.java:427) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.UnifiedCall.accept(UnifiedCall.java:107) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Environment.visit(Environment.java:324) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.MixedContent.accept(MixedContent.java:54) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at 
> freemarker.core.Environment.visitByHiddingParent(Environment.java:345) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.IfBlock.accept(IfBlock.java:48) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Environment.visit(Environment.java:324) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.MixedContent.accept(MixedContent.java:54) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Environment.visit(Environment.java:324) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.core.Environment.process(Environment.java:302) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at freemarker.template.Template.process(Template.java:325) 
> ~[freemarker-2.3.23.jar:2.3.23]
>         at 
> org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:158)
>  ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         at 
> org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:584) 
> ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         at org.apache.struts2.components.UIBean.end(UIBean.java:538) 
> ~[struts2-core-2.3.24.1.jar:2.3.24.1]
>         ... 119 more
> DEBUG 2015-11-29 09:21:44,034 389933068 [ajp-bio-8009-exec-6812 []] 
> (ActivityLoggingInterceptor.java:78) 
> org.tdar.struts.interceptor.ActivityLoggingInterceptor - >> activity end: 
> GET:/search/advanced?groups[0].starti:
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to