6

我们目前面临的问题是在我们的应用程序的某个地方生成了一个巨大的异常。由于我们使用的是 Grails 和 Spring 框架,因此会在其中某个地方抛出异常。

似乎有一些无限循环,并且异常堆栈越来越长,每次再次抛出。我不知道我们的代码中是什么导致了这种情况,我认为这只是常见的错误配置或小错误之一,有时会使 Grails 严重失败。

我将尝试在此处概述异常的主要部分,但由于抛出的异常在日志中使用 2 GB,因此我只能显示部分。连vi都无法打开,好像一直扔到硬盘内存满了。

第一行

2012-04-17 23:52:34,325 [http-8080-9] 错误错误。GrailsExceptionResolver -
无法呈现错误视图:请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
[...]
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: org.springframework.web.util.NestedServletException: 请求处理失败;
嵌套异常是 org.codehaus.groovy.grails.exceptions.GrailsRuntimeException: javax.servlet.ServletException: Servlet 执行抛出异常

似乎重复的块:

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

有什么线索吗?还是我应该再次检查错误视图?

4

4 回答 4

8

我最近遇到了一个类似的问题。我们发生的事情(以及您可能发生的事情)是:

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

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

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

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

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

Grails 过滤器文档

于 2014-12-02T19:30:58.837 回答
4

我可能会尝试使用 -Xss 减小堆栈大小,以便它更早地失败。

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

于 2012-04-18T09:51:54.310 回答
1

这两天我解决了一个类似的问题。

使用过时的 API 与第三方通信。它返回了一些 Spring 无法理解的 JSON 数据,Spring 产生了大量的异常。更糟糕的是,Grails 中的自定义错误处理程序会尝试将异常捕获到电子邮件正文中,这会导致额外的 StackOverflow 错误并进入无限循环。结果是,几分钟之内,就生成了超过 20G 的日志,并吃掉了所有的硬盘空间。

升级旧API后,在异常消息转储块中添加try catch,现在可以了。

于 2012-12-10T16:17:13.283 回答
1

我会提供几个提示:

  1. 堆栈值得拥有,但它通常是最重要的第一条消息。
  2. 在寻找根本原因时,我会寻找属于我的课程。这些是我最能控制的。我在这条踪迹中看不到任何属于你的东西。
  3. 将您看到的消息剪切并粘贴到 Google 中。我发现当出现问题时,我通常并不孤单,也不是第一个。当我为你的情况这样做时,我得到了这个:

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

你在什么操作系统和JVM上运行?32 位与 64 位在 Google 发现的问题中发挥了作用。

于 2012-04-18T10:42:54.507 回答