Hi Pedro,

I've increased the max page map setting from 5 to 10 and the exception went away.
Thanks for the suggestion - for a quick fix that is good enough for now :)
Still it seems like a bug.
Can I help with some specific logs to determine the source of the problem?

Regards,
Daniel

On 04.02.2011 18:15, Pedro Santos wrote:
Hi Daniel, try to increase the application max page map number, if the
problem remains we can eliminate the WICKET-3108 as the source.

On Fri, Feb 4, 2011 at 2:46 PM, Daniel Soneira<daniel.sone...@joyn-it.at>wrote:

Hi there,

I'm experiencing a weird problem that I've tried to solve for 2 days now.

After updating Wicket from 1.4.12 to the latest version (1.4.15) because of
WICKET-3136 (JVM 1.6 crash) one particular page (bookmarkable) always throws
a PageExpiredException on clicking an AjaxSubmitLink. I simply start the
application, open the page, click the link =>  BAM, exception!

The curious thing about this is that, if I just remove (== not add) one
other button (from a group of 3 - all doing nearly the same thing) it works.
Those 3 buttons all subclass a nested abstract inner class inside another
nested class of the page. Also there are a lot of buttons / menu items on
that page.
But that one exact button is not causing the problem because I can remove
any of those 3 buttons of the group to get it working.
    2 of those buttons: GOOD
    3 of those buttons: EXCEPTION

The problem also vanishes if I remove code from the buttons that reference
the page implicitly like the following:

== CODE ==

public void onConfigure() {
    super.onConfigure();
    setEnabled(isFormEnabled()&&  isDetailObjectPersistent());
}

== == == ==

Here isFormEnabled and isDetailObjectPersistent are methods of the PAGE not
the buttons.

Essentially it looks like there is a problem serializing the whole page,
which is why the page map is null inside the following code block from
WebRequestCycleProcessor.resolve:

== CODE ==
    if (requestParameters.isOnlyProcessIfPathActive())
    {
        .....
        if (pageMap == null) {
            processRequest = 1;
        }
    ....
    }

== == == ==

I've tested all versions after 1.4.12 and they all show the same behavior
while 1.4.12 itself works for this case.
I don't think I'm able to reproduce this in a QuickStart without some major
effort since there is a deep class hierarchy involved, but I guess this
issue has something to do with WICKET-3108 (Problems with page maps stored
in session). I've tried to do a QuickStart with a simple test page with
nested classes - but that worked (sadly).

Also I'm having one @SpringBean inside the page that is used by those
buttons which seem to cause trouble.
Maybe someone can point me in the right direction?

Because of WICKET-3136 staying with 1.4.12 unfortunately is not an option
for us.
Any help is really appreciated.


Kind regards,
Daniel

PS: I know no one is looking forward to digging into a serialization / page
expired problem but maybe someone has mercy and helps me out on this one.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to