I'm using wicket 1.5 RC3 and just started getting some total system lockups
recently in prod that I can't understand.

Once it gets into this state, the only remedy is to restart tomcat.
Unfortunately, I haven't yet figured out how to reproduce this, so meanwhile
I thought I'd ask if someone could please help me understand how page
locking works in general and what I should be looking for.

When I think of locking I usually think of threading, so not sure if it
matters, but I do start one a thread for email sending with the Application
thread local set for it also (because I manage data sources thru the app so
it was easier that way).  I could try refactoring that, but without a
reproducable test case, it's just a guess at this point.  My other plan
would be to revert to some older wicket version, but again, just a guess.

Here is the stack trace; nothing unusual precedes it.  (This is just a user
trying to visit the home page).  The only thing I notice is that these
issues all seem to be using the PageParameter version of the page
constructor.

tomcat stuff omitted..
...
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedConstructorAccessor9.newInstance(Unknown Source)
    at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:153)
    ... 27 more
Caused by: org.apache.wicket.page.CouldNotLockPageException: Could not lock
page 0. Attempt lasted 1 minute
    at
org.apache.wicket.page.PageAccessSynchronizer.lockPage(PageAccessSynchronizer.java:138)
    at
org.apache.wicket.page.PageAccessSynchronizer$1.touchPage(PageAccessSynchronizer.java:194)
    at org.apache.wicket.Page.dirty(Page.java:327)
    at org.apache.wicket.Page.init(Page.java:779)
    at org.apache.wicket.Page.<init>(Page.java:223)
    at org.apache.wicket.Page.<init>(Page.java:202)
    at org.apache.wicket.markup.html.WebPage.<init>(WebPage.java:99)
    at
com.togetherauction.ui.AbstractAuctionPage.<init>(AbstractAuctionPage.java:31)
    at com.togetherauction.ui.HomePage.<init>(HomePage.java:33)
    ... 31 more
WARN  - PageAccessSynchronizer     - http-80-15 failed to acquire lock to
page 0, attempted for 1 minute out of allowed 1 minute
ERROR - DefaultExceptionMapper     - Unexpected error occurred
org.apache.wicket.WicketRuntimeException: Can't instantiate page using
constructor public
com.togetherauction.ui.HomePage(org.apache.wicket.request.mapper.parameter.PageParameters)
and argument
    at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:173)
    at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:91)
    at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:43)
    at org.apache.wicket.DefaultMapperContext.newPageInstance

I could use a hand here - anyone want to give me some advise?

Thanks,
-- Jim
http://togetherauction.com

Reply via email to