Looks like a Hibernate issue. When underlying frameworks throw exceptions in
templating solutions the stack traces can be large, but the problem is
obvious.

This isn't a Struts issue, but if you need assistance figuring out where the
two sessions are coming from you could post to the user list.

Dave
 On Nov 4, 2010 2:07 PM, "Miguel" <miguel...@gmail.com> wrote:
> 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
>

Reply via email to