Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to read and understand a monster exception (for example this one)

We are currently facing the problem that somewhere in our application a monstrous exception is generated. Since we are using Grails and the Spring Framework, the Exception is thrown somewhere in there.

There seems to be some endless loop, and the Exception Stack is getting longer and longer, everytime it is thrown again. I have no clue what in our code could have caused this, and I assume that it is just one of the usual misconfigurations or small errors, that sometimes make Grails fail dramatically.

I will try to outline the major parts of the exception here, but since a thrown exception uses 2 GB in the log, i can only show parts. Even vi is having trouble opening it, and it seems to be thrown until the Hard Disk memory is full.

First Line

2012-04-17 23:52:34,325 [http-8080-9] ERROR errors.GrailsExceptionResolver  -
Unable to render errors view: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
[...]
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: Request processing failed;
nested exception is org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: javax.servlet.ServletException: Servlet execution threw an exception

Block that seems to repeat:

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:99)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
at org.codehaus.groovy.grails.plugins.springsecurity.RequestHolderAuthenticationFilter.doFilter(RequestHolderAuthenticationFilter.java:40)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.codehaus.groovy.grails.plugins.springsecurity.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:79)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:57)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:109)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:298)
at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:264)
at org.codehaus.groovy.grails.web.errors.GrailsExceptionResolver.resolveException(GrailsExceptionResolver.java:120)
at org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:987)
at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:319)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:99)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
at org.codehaus.groovy.grails.plugins.springsecurity.RequestHolderAuthenticationFilter.doFilter(RequestHolderAuthenticationFilter.java:40)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.codehaus.groovy.grails.plugins.springsecurity.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:79)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:57)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:109)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:298)
at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:264)
at org.codehaus.groovy.grails.web.errors.GrailsExceptionResolver.resolveException(GrailsExceptionResolver.java:120)
at org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:987)
at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:319)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:369)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:99)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
at org.codehaus.groovy.grails.plugins.springsecurity.RequestHolderAuthenticationFilter.doFilter(RequestHolderAuthenticationFilter.java:40)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.codehaus.groovy.grails.plugins.springsecurity.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:79)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:57)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:109)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:381)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:168)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:298)
at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:264)
at org.codehaus.groovy.grails.web.errors.GrailsExceptionResolver.resolveException(GrailsExceptionResolver.java:120)
at org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:987)
at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:319)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
[...]

Any clues? Or should I just check the errors view again?

like image 474
Paul Weber Avatar asked Apr 18 '12 09:04

Paul Weber


3 Answers

I have recently run into a similar-looking issue. What was happening to us (and what might be happening to you) is:

  1. An exception is being thrown in a Filter
  2. Which causes Grails to redirect to the error handling controller, which would be fine, BUT
  3. Filters are executed before all controllers (unless otherwise specified), so..
  4. The problematic Filter executes again and throws another exception.. GOTO 1.

You can test the problem by inserting a consistent exception into your various Filters and see if the infinite loop happens again.

One way to avoid it is to exclude your error handling controller from all Filters. Since the default way of handling errors in grails doesn't change the uri, this may only work if you are using controller to specify where the Filter should be applied (as opposed to uri). This will look something like:

all(controller:'*', action:'*', controllerExclude: 'error')

If this doesn't work for your application moving to a static error handling page might. Will update later if/when I find out more about this option.

Grails Filter documentation

like image 54
Nick Knowlson Avatar answered Oct 17 '22 12:10

Nick Knowlson


I'd probably try to reduce the stack size with -Xss so that it fails earlier than that.

The other idea you might try is to run it in an IDE with an exception breakpoint to stop it straight away and hopefully find the root cause.

like image 35
biziclop Avatar answered Oct 17 '22 14:10

biziclop


I'd offer a couple of tips:

  1. The stack is worth having, but it's usually the first message that matters the most.
  2. I look for classes that are mine when searching for root cause. Those are the ones I have the most control over. I don't see any that are yours in this trace.
  3. Cut & paste the message you see into Google. I find that I'm usually not alone and not the first when something goes wrong. When I do that for your case I get this:

http://subversion.open.collab.net/ds/viewMessage.do?dsForumId=3&dsMessageId=398648

What operating system and JVM are you running on? 32-bit versus 64-bit played a role in the problem Google found.

like image 33
duffymo Avatar answered Oct 17 '22 13:10

duffymo