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

Reply via email to