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

Pau*_*ber 5 java grails spring exception spring-security

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)
[...]

有线索吗?或者我应该再次检查错误视图?

Nic*_*son 8

我最近遇到了一个类似的问题.发生在我们身上的事情(以及可能发生在你身上的事情)是:

  1. Filter中会抛出异常
  2. 这导致Grails重定向到错误处理控制器,这很好,但是
  3. 过滤器在所有控制器之前执行(除非另有说明),所以..
  4. 有问题的Filter再次执行并抛出另一个异常.. GOTO 1.

您可以通过在各种过滤器中插入一致的异常来测试问题,并查看是否再次发生无限循环.

避免它的一种方法是从所有过滤器中排除错误处理控制器.由于处理grails中的错误的默认方式不会更改uri,因此这可能仅在您controller用于指定应该应用Filter的位置(而不是uri)时才有效.这看起来像:

all(controller:'*', action:'*', controllerExclude: 'error')
Run Code Online (Sandbox Code Playgroud)

如果这对您的应用程序不起作用,则可能会转移到静态错误处理页面.如果/当我发现有关此选项的更多信息时,将在以后更新.

Grails Filter文档


biz*_*lop 4

我可能会尝试使用 -Xss 减小堆栈大小,以便它在此之前失败。

您可能尝试的另一个想法是在 IDE 中运行它,并设置异常断点以立即停止它并希望找到根本原因。