You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wicket.apache.org by Jonathan Locke <jo...@gmail.com> on 2007/05/19 03:52:03 UTC

PageExpiredException Bug

This is a real bug in 1.3, it turns out, and I think it does not have
anything to do with cookies or application servers.

I have verified in an application getting this exception that the session id
is constant for every request (modified wicket to print it out).

The exception is begin thrown from line 141 of WebRequestCycleProcessor.

Here's what I think is happening:

An AJAX callback that occurs in the onload handler for the page executes
line 84:

if (requestParameters.isOnlyProcessIfPathActive())

and finds it is true, then at line 90 

					IPageMap pageMap =
session.pageMapForName(requestParameters.getPageMapName(),
							false);

the session is retrieved, but it DOES NOT EXIST yet so the pagemap is null
then at line 97

						processRequest = false;

which causes the exception to be thrown.  

I do not understand this set/isOnlyProcessIfPathActive boolean's purpose.  


-- 
View this message in context: http://www.nabble.com/PageExpiredException-Bug-tf3781043.html#a10692981
Sent from the Wicket - Dev mailing list archive at Nabble.com.


Re: PageExpiredException Bug

Posted by Jonathan Locke <jo...@gmail.com>.

Could it be that the onload ajax request somehow comes back from the browser
before wicket creates the pagemap and binds it to the session?


Jonathan Locke wrote:
> 
> This is a real bug in 1.3, it turns out, and I think it does not have
> anything to do with cookies or application servers.
> 
> I have verified in an application getting this exception that the session
> id is constant for every request (modified wicket to print it out).
> 
> The exception is begin thrown from line 141 of WebRequestCycleProcessor.
> 
> Here's what I think is happening:
> 
> An AJAX callback that occurs in the onload handler for the page executes
> line 84:
> 
> if (requestParameters.isOnlyProcessIfPathActive())
> 
> and finds it is true, then at line 90 
> 
> 					IPageMap pageMap =
> session.pageMapForName(requestParameters.getPageMapName(),
> 							false);
> 
> the session is retrieved, but it DOES NOT EXIST yet so the pagemap is null
> then at line 97
> 
> 						processRequest = false;
> 
> which causes the exception to be thrown.  
> 
> I do not understand this set/isOnlyProcessIfPathActive boolean's purpose.  
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/PageExpiredException-Bug-tf3781043.html#a10693039
Sent from the Wicket - Dev mailing list archive at Nabble.com.


Re: PageExpiredException Bug

Posted by Jonathan Locke <jo...@gmail.com>.

Hah.  Okay, I'm an idiot tonight.  It looks like this was a JavaScript
cookie problem (not 100% sure though).


Jonathan Locke wrote:
> 
> 
> For whatever reason, this is 100% repeatable for me right now.  The AJAX
> callback does NOT have a sessionid cookie.
> 
> 
> Jonathan Locke wrote:
>> 
>> This is a real bug in 1.3, it turns out, and I think it does not have
>> anything to do with cookies or application servers.
>> 
>> I have verified in an application getting this exception that the session
>> id is constant for every request (modified wicket to print it out).
>> 
>> The exception is begin thrown from line 141 of WebRequestCycleProcessor.
>> 
>> Here's what I think is happening:
>> 
>> An AJAX callback that occurs in the onload handler for the page executes
>> line 84:
>> 
>> if (requestParameters.isOnlyProcessIfPathActive())
>> 
>> and finds it is true, then at line 90 
>> 
>> 					IPageMap pageMap =
>> session.pageMapForName(requestParameters.getPageMapName(),
>> 							false);
>> 
>> the session is retrieved, but it DOES NOT EXIST yet so the pagemap is
>> null
>> then at line 97
>> 
>> 						processRequest = false;
>> 
>> which causes the exception to be thrown.  
>> 
>> I do not understand this set/isOnlyProcessIfPathActive boolean's purpose.  
>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/PageExpiredException-Bug-tf3781043.html#a10693348
Sent from the Wicket - Dev mailing list archive at Nabble.com.


Re: PageExpiredException Bug

Posted by Jonathan Locke <jo...@gmail.com>.

For whatever reason, this is 100% repeatable for me right now.  The AJAX
callback does NOT have a sessionid cookie.


Jonathan Locke wrote:
> 
> This is a real bug in 1.3, it turns out, and I think it does not have
> anything to do with cookies or application servers.
> 
> I have verified in an application getting this exception that the session
> id is constant for every request (modified wicket to print it out).
> 
> The exception is begin thrown from line 141 of WebRequestCycleProcessor.
> 
> Here's what I think is happening:
> 
> An AJAX callback that occurs in the onload handler for the page executes
> line 84:
> 
> if (requestParameters.isOnlyProcessIfPathActive())
> 
> and finds it is true, then at line 90 
> 
> 					IPageMap pageMap =
> session.pageMapForName(requestParameters.getPageMapName(),
> 							false);
> 
> the session is retrieved, but it DOES NOT EXIST yet so the pagemap is null
> then at line 97
> 
> 						processRequest = false;
> 
> which causes the exception to be thrown.  
> 
> I do not understand this set/isOnlyProcessIfPathActive boolean's purpose.  
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/PageExpiredException-Bug-tf3781043.html#a10693152
Sent from the Wicket - Dev mailing list archive at Nabble.com.