2012-04-18 1 views
5

Attualmente ci troviamo di fronte al problema che da qualche parte nella nostra applicazione viene generata un'eccezione mostruosa. Dato che stiamo usando Grails e il framework Spring, l'eccezione viene lanciata da qualche parte lì dentro.Come leggere e comprendere un'eccezione mostruosa (ad esempio questa)

Sembra esserci un ciclo infinito e lo Stack eccezione si allunga sempre di più, ogni volta che viene lanciato di nuovo. Non ho idea di cosa possa aver causato ciò nel nostro codice, e presumo che sia solo uno dei soliti errori di configurazione o piccoli errori, che a volte fanno fallire drasticamente Grails.

Cercherò di delineare le parti principali dell'eccezione qui, ma poiché un'eccezione generata utilizza 2 GB nel registro, posso solo mostrare le parti. Anche vi ha difficoltà ad aprirlo e sembra essere lanciato fino a quando la memoria del disco rigido non è piena.

prima linea

 
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 

blocco che sembra ripetersi:

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

Degli indizi? O dovrei semplicemente controllare di nuovo la vista degli errori?

risposta

4

Probabilmente proverei a ridurre le dimensioni dello stack con -Xss in modo che non funzioni prima.

L'altra idea che si potrebbe provare è di eseguirla in un IDE con un punto di interruzione di eccezione per arrestarlo immediatamente e, si spera, trovare la causa principale.

+0

Grazie per la punta -Xss, non sapevano di che! Non ero in grado di riprodurre l'eccezione in un ambiente controllato. –

1

Ti offrirei un paio di consigli:

  1. Lo stack è la pena di avere, ma di solito è il primo messaggio che conta di più.
  2. Cerco classi che sono mie quando si cerca la causa principale. Quelli sono quelli su cui ho il maggior controllo. Non vedo nessuno che sia tuo in questa traccia.
  3. Taglia & incolla il messaggio che vedi in Google. Trovo che di solito non sono solo e non il primo quando qualcosa va storto. Quando faccio che per il vostro caso ottengo questo:

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

Che sistema operativo e JVM sono in esecuzione su? 32-bit contro 64-bit ha giocato un ruolo nel problema trovato da Google.

1

Avevo risolto un problema simile in questi due giorni.

Un'API obsoleta è stata utilizzata per comunicare con terze parti. Ha restituito alcuni dati JSON che non possono essere compresi da Spring, Spring ha generato un enorme tronco di eccezioni. Per peggiorare la situazione, un gestore di errori personalizzato in Grails tenta di acquisire le eccezioni in un corpo del messaggio di posta elettronica che provoca un ulteriore errore StackOverflow e di entrare nel ciclo infinito. Il risultato è che, in pochi minuti, sono stati generati oltre 20G log e mangiato tutto lo spazio su disco.

Dopo l'aggiornamento della vecchia API, aggiungere un blocco try al blocco di dumping del messaggio di eccezione, ora è tutto a posto.

7

Recentemente ho riscontrato un problema simile.Quello che stava accadendo a noi (e che cosa potrebbe accadere a voi) è:

  1. Un'eccezione viene gettata in un filtro
  2. che provoca Grails per reindirizzare la gestione degli errori di controllo, che sarebbe bene, MA
  3. filtri vengono eseguite prima tutti controller (se non diversamente specificato), così ..
  4. Il filtro problematica esegue di nuovo e lancia un'altra eccezione .. GOTO 1.

È possibile verificare il problema inserendo un'eccezione coerente nei vari filtri e verificare se il ciclo infinito si ripresenta.

Un modo per evitarlo è exclude your error handling controller from all Filters. Poiché il modo predefinito di gestire gli errori in Grails non cambia l'uri, questo può funzionare solo se si utilizza controller per specificare dove deve essere applicato il filtro (a differenza di uri). Questo avrà un aspetto simile:

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

Se questo non funziona per la vostra applicazione lo spostamento di un errore di pagina di gestione potenza statica. Aggiorneremo più tardi se/quando scoprirò di più su questa opzione.

Grails Filter documentation