CryptedUrlWebRequestCodingStrategy fails while decoding parameters after the 
app has been up and running for quite some time.
-----------------------------------------------------------------------------------------------------------------------------

                 Key: WICKET-2294
                 URL: https://issues.apache.org/jira/browse/WICKET-2294
             Project: Wicket
          Issue Type: Bug
          Components: wicket
    Affects Versions: 1.4-RC4
         Environment: WebSphere AppServer 6.1.0.x (servlet based wicket 
application)
            Reporter: Dominik Drzewiecki
            Priority: Critical
             Fix For: 1.4-RC5


After the application has been running for quite some time, I start getting 
weird stacktraces:

[5/29/09 10:38:40:953 CEST] 00000040 SystemOut     O [WebContainer : 11] INFO  
[NIK:49433203] o.a.w.p.h.r.CryptedUrlWebRequestCodingStrategy  - Invalid URL: 
resources/org.apache.wicket.markup.html.WicketEventReference/wicket-event.js?x=wnBdgbNM8h95LCyWTuURN3Cy9ygCdsR6,
 message:null
[5/29/09 10:38:40:953 CEST] 00000040 ServletWrappe E   SRVE0068E: Uncaught 
exception thrown in one of the service methods of the servlet: wicket.xxxxxxxx. 
Exception thrown : org.apache.wicket.protocol.http.PageExpiredException: 
Invalid URL
        at 
org.apache.wicket.protocol.http.request.CryptedUrlWebRequestCodingStrategy.onError(CryptedUrlWebRequestCodingStrategy.java:293)
        at 
org.apache.wicket.protocol.http.request.CryptedUrlWebRequestCodingStrategy.onError(CryptedUrlWebRequestCodingStrategy.java:305)
        at 
org.apache.wicket.protocol.http.request.CryptedUrlWebRequestCodingStrategy.decodeURL(CryptedUrlWebRequestCodingStrategy.java:278)
        at 
org.apache.wicket.protocol.http.request.CryptedUrlWebRequestCodingStrategy.decode(CryptedUrlWebRequestCodingStrategy.java:108)
        at 
org.apache.wicket.protocol.http.WicketFilter.getLastModified(WicketFilter.java:1149)
        at 
org.apache.wicket.protocol.http.WicketServlet.getLastModified(WicketServlet.java:278)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:739)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1096)
        at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1037)
        at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
        at 
xxx.xxxxx.web.filters.AbstractMDCFilter.doFilter(AbstractMDCFilter.java:38)
        at 
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
        at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
        at 
xxx.xxxxx.xxxxxxxxxx.web.authorization.SecurityContextFilter.doFilter(SecurityContextFilter.java:39)
        at 
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
        at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
        at 
org.apache.wicket.protocol.http.servlet.WicketSessionFilter.doFilter(WicketSessionFilter.java:192)
        at 
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
        at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
        at 
com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
        at 
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:832)
        at 
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679)
        at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:566)
        at 
com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
        at 
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
        at 
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:748)
        at 
com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)
        at 
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:119)
        at 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
        at 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
        at 
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
        at 
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
        at 
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
        at 
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
        at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
        at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
        at 
com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
        at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)

If, however, I grab the offending url and forge a request using wget or simply 
paste it into address bar of the browser, I receive the proper response (HTTP 
200 and expected output instead of HTTP 500)
It is difficult to track down as I observe this in our production environment 
(no debugging :/) serving an application internally, before it goes gold. I 
cannot reproduce this in the staging nor development environment having the 
very same setup but serving way smaller traffic. Application server restart 
solves (or should i say works around temporarily) the problem. Any help would 
be appreciated.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to