[ 
https://issues.apache.org/jira/browse/WICKET-4973?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Grigorov reassigned WICKET-4973:
---------------------------------------

    Assignee: Emond Papegaaij
    
> AbstractRequestLogger - infinite ArrayIndexOutOfBoundsException when 
> requestWindow size is 0
> --------------------------------------------------------------------------------------------
>
>                 Key: WICKET-4973
>                 URL: https://issues.apache.org/jira/browse/WICKET-4973
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 6.3.0
>            Reporter: Michiel Korthuis
>            Assignee: Emond Papegaaij
>              Labels: requestlogger
>
> On our production-system we discovered an issue:
> We saw this stacktrace in our logs (at the end of _every_ request):
> 13-01-13 16:59:33 ERROR - RequestCycle                   - Exception occurred 
> during onEndRequest
> java.lang.ArrayIndexOutOfBoundsException: -1
>         at 
> org.apache.wicket.protocol.http.AbstractRequestLogger.hasBufferRolledOver(AbstractRequestLogger.java:185)
>         at 
> org.apache.wicket.protocol.http.AbstractRequestLogger.resizeBuffer(AbstractRequestLogger.java:448)
>         at 
> org.apache.wicket.protocol.http.AbstractRequestLogger.addRequest(AbstractRequestLogger.java:339)
>         at 
> org.apache.wicket.protocol.http.CobraRequestLogger.addRequest(CobraRequestLogger.java:40)
>         at 
> org.apache.wicket.protocol.http.AbstractRequestLogger.requestTime(AbstractRequestLogger.java:246)
>         at org.apache.wicket.Application$2.onEndRequest(Application.java:1640)
>         at 
> org.apache.wicket.request.cycle.RequestCycleListenerCollection$2.notify(RequestCycleListenerCollection.java:85)
>         at 
> org.apache.wicket.request.cycle.RequestCycleListenerCollection$2.notify(RequestCycleListenerCollection.java:81)
>         at 
> org.apache.wicket.util.listener.ListenerCollection.reversedNotify(ListenerCollection.java:144)
>         at 
> org.apache.wicket.request.cycle.RequestCycleListenerCollection.onEndRequest(RequestCycleListenerCollection.java:80)
>         at 
> org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:596)
>         at 
> org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:558)
>         at 
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:285)
>         at 
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
>         at 
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:245)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>         at 
> nl.topicus.cobra.hibernate.CloseTransactionAfterViewFilter.doFilterInternal(CloseTransactionAfterViewFilter.java:65)
>         at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>         at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>         at 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>         at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
>         at 
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
>         at 
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:722)
> Apparently our requestWindow array was initialized with size 0. Problem is, 
> when trying to resize it to a larger size, an ArrayIndexOutOfBoundsException 
> occurs, so resizing fails (and because of that it tries to resize it on every 
> request...)
> The problem disappears (and sometimes returns) when restarting the 
> application.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to