Re: freemarker IOException
Daniel Dekany <[email protected]>
| Newsgroups | gmane.comp.web.freemarker.user |
|---|---|
| Message-ID | <[email protected]> |
That "root cause" exception trace stinks, because it doesn't contain freemarker.cache.TemplateCache.getTemplate anywhere. I can't imagine how is that possible, other than it's actually not the full cause-chain that we see here. And the key to find out what went wrong is the cause exception of that IOException. -- Best regards, Daniel Dekany Monday, October 22, 2012, 6:06:42 AM, Eric Xing wrote: > Hi all, I'm using struts2.1.8 and freemarker 2.3.15. It goes well > on the test environment, but throws IOException after goes online. I > can't tell what's wrong and hope to get some hint here. Thanks a lot. > Here is the stack trace. > > java.io.IOException: There was an error loading the template on an > earlier attempt; it is attached as a cause > > freemarker.cache.TemplateCache.throwLoadFailedException(TemplateCache.java:400) > freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:278) > freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:235) > freemarker.template.Configuration.getTemplate(Configuration.java:487) > freemarker.template.Configuration.getTemplate(Configuration.java:459) > > org.apache.struts2.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:168) > > org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186) > > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266) > > org.apache.struts2.interceptor.MessageStoreInterceptor.intercept(MessageStoreInterceptor.java:204) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.creditease.p2p.interceptor.AccessInterceptor.intercept(AccessInterceptor.java:75) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.creditease.p2p.interceptor.SessionInterceptor.intercept(SessionInterceptor.java:94) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252) > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488) > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) > org.ecside.filter.ECSideFilter.doFilter(ECSideFilter.java:188) > com.creditease.core.utils.PagerFilter.doFilter(PagerFilter.java:25) > > com.creditease.p2p.censorword.CensorWordFilter.doFilter(CensorWordFilter.java:106) > > com.creditease.core.utils.PageAccessFilter.doFilter(PageAccessFilter.java:93) > > org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102) > > com.creditease.p2p.filter.CheckAttackFilter.doFilter(CheckAttackFilter.java:40) > > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > root cause > java.lang.NullPointerException > > com.creditease.core.exception.ExceptionInterceptor.intercept(ExceptionInterceptor.java:42) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > org.apache.struts2.interceptor.MessageStoreInterceptor.intercept(MessageStoreInterceptor.java:204) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.creditease.p2p.interceptor.AccessInterceptor.intercept(AccessInterceptor.java:75) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.creditease.p2p.interceptor.SessionInterceptor.intercept(SessionInterceptor.java:94) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252) > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138) > > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176) > > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) > > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) > > org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488) > > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) > > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) > org.ecside.filter.ECSideFilter.doFilter(ECSideFilter.java:188) > com.creditease.core.utils.PagerFilter.doFilter(PagerFilter.java:25) > > com.creditease.p2p.censorword.CensorWordFilter.doFilter(CensorWordFilter.java:106) > > com.creditease.core.utils.PageAccessFilter.doFilter(PageAccessFilter.java:93) > > org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102) > > com.creditease.p2p.filter.CheckAttackFilter.doFilter(CheckAttackFilter.java:40) > > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct