Hello, I have a problem and Struts reports an error in one of it's own files: error.ftl. My code throws an exception and then the error.flt throws another exception while trying to print my exception, thus masking mine. I'm posting to dev, because I think it's an struts problem. Thanks for your help. I have pasted the stacktrace below.
The following code that throws the exception: <#if (msgs?size > 1)> <ol> <#list msgs as msg> <#if (msg?is_method)> <li>${msg[0]}</li> <--- this line <#else> <li>${msg}</li> </#if> </#list> Struts Problem Report Struts has detected an unhandled exception: Messages: 1. FreeMarker template error! 2. 3. 4. Method public java.lang.String org.hibernate.exception.NestableRuntimeException.getMessage(int) threw an exception when invoked on org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions 5. The problematic instruction: 6. ---------- 7. ==> ${msg[0]} [on line 68, column 29 in org/apache/struts2/dispatcher/error.ftl] 8. ---------- 9. 10. Java backtrace for programmers: 11. ---------- 12. freemarker.template.TemplateModelException: Method public java.lang.String org.hibernate.exception.NestableRuntimeException.getMessage(int) threw an exception when invoked on org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions 13. at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:130) 14. at freemarker.ext.beans.SimpleMethodModel.get(SimpleMethodModel.java:138) 15. at freemarker.core.DynamicKeyName.dealWithNumericalKey(DynamicKeyName.java:111) 16. at freemarker.core.DynamicKeyName._getAsTemplateModel(DynamicKeyName.java:90) 17. at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) 18. at freemarker.core.Expression.getStringValue(Expression.java:93) 19. at freemarker.core.DollarVariable.accept(DollarVariable.java:76) 20. at freemarker.core.Environment.visit(Environment.java:209) 21. at freemarker.core.MixedContent.accept(MixedContent.java:92) 22. at freemarker.core.Environment.visit(Environment.java:209) 23. at freemarker.core.IfBlock.accept(IfBlock.java:82) 24. at freemarker.core.Environment.visit(Environment.java:209) 25. at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179) 26. at freemarker.core.Environment.visit(Environment.java:416) 27. at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102) 28. at freemarker.core.Environment.visit(Environment.java:209) 29. at freemarker.core.MixedContent.accept(MixedContent.java:92) 30. at freemarker.core.Environment.visit(Environment.java:209) 31. at freemarker.core.IfBlock.accept(IfBlock.java:82) 32. at freemarker.core.Environment.visit(Environment.java:209) 33. at freemarker.core.MixedContent.accept(MixedContent.java:92) 34. at freemarker.core.Environment.visit(Environment.java:209) 35. at freemarker.core.Environment.process(Environment.java:189) 36. at freemarker.template.Template.process(Template.java:237) 37. at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:748) 38. at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505) 39. at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.jav a:395) 40. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:242) 41. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:208) 42. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:343) 43. at org.springframework.security.web.access.intercept.FilterSecurityInterceptor. invoke(FilterSecurityInterceptor.java:109) 44. at org.springframework.security.web.access.intercept.FilterSecurityInterceptor. doFilter(FilterSecurityInterceptor.java:83) 45. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:355) 46. at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter( ExceptionTranslationFilter.java:97) 47. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:355) 48. at org.springframework.security.web.authentication.AnonymousAuthenticationFilte r.doFilter(AnonymousAuthenticationFilter.java:78) 49. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:355) 50. at org.springframework.security.web.authentication.rememberme.RememberMeAuthent icationFilter.doFilter(RememberMeAuthenticationFilter.java:119) 51. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:355) 52. at org.springframework.security.web.authentication.AbstractAuthenticationProces singFilter.doFilter(AbstractAuthenticationProcessingFilter.java:188) 53. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:355) 54. at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter (LogoutFilter.java:105) 55. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:355) 56. at org.springframework.security.web.context.SecurityContextPersistenceFilter.do Filter(SecurityContextPersistenceFilter.java:79) 57. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:355) 58. at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(Co ncurrentSessionFilter.java:109) 59. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:355) 60. at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFi lter(ChannelProcessingFilter.java:109) 61. at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilte r(FilterChainProxy.java:355) 62. at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy. java:149) 63. at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Delegati ngFilterProxy.java:237) 64. at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilt erProxy.java:167) 65. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:242) 66. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:208) 67. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:243) 68. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:201) 69. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163 ) 70. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108 ) 71. at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556) 72. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :118) 73. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:402) 74. at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:439) 75. at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProt ocol.java:390) 76. at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java: 1555) 77. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11 10) 78. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6 03) 79. at java.lang.Thread.run(Thread.java:636) 80. Caused by: java.lang.NullPointerException 81. at freemarker.ext.beans.SimpleMemberModel.unwrapArguments(SimpleMemberModel.jav a:85) 82. at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:106) 83. ... 66 more
--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org For additional commands, e-mail: dev-h...@struts.apache.org