You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2013/01/17 09:56:13 UTC

[jira] [Commented] (WICKET-4973) AbstractRequestLogger - infinite ArrayIndexOutOfBoundsException when requestWindow size is 0

    [ https://issues.apache.org/jira/browse/WICKET-4973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13555995#comment-13555995 ] 

Martin Grigorov commented on WICKET-4973:
-----------------------------------------

[~papegaaij]: you pushed a fix already. Is there anything else to be done for this ticket ?
                
> 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