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