Re: Confusing lock error solved, but now a restoreSessionWithID lock issue
Re: Confusing lock error solved, but now a restoreSessionWithID lock issue
- Subject: Re: Confusing lock error solved, but now a restoreSessionWithID lock issue
- From: Chuck Hill <email@hidden>
- Date: Thu, 9 Oct 2008 11:02:00 -0700
On Oct 9, 2008, at 2:07 AM, Simon McLean wrote:
Hi All -
I found a localInstanceOf in a long response, whose removal seems to
have got rid of a pile of ec errors.
I've still got one though. The stack trace is below, but the problem
looks like a locked thread trying to restore a session here:
Read that error very carefully! It is a tricky one. :-)
com
.webobjects
.appserver.WOApplication.restoreSessionWithID(WOApplication.java:1550)
Chuck suggested a while back that it could be caused by an uncaught
exception in application's handleException, but everything in our
handle exception is in a try/catch (in fact, it's based on the
recommended way of overriding that method in chucks book!)
So the question is - any other ideas on what could cause
restoreSessionWithID to lock up ?
Thanks, Simon
!!! Attempting to lock editing context from Finalizer
So the thread attempting the lock is the Finalizer thread. The EC is
being disposed of.
that was previously locked in WorkerThread7!!! Current stack trace:
java.lang.Throwable at
com
.clicktravel
.plumbing
.system.ScreamingEditingContext._trace(ScreamingEditingContext.java:
52) at
com
.clicktravel
.plumbing
.system.ScreamingEditingContext.lock(ScreamingEditingContext.java:
130) at
com
.webobjects
.eocontrol.EOEditingContext.lockObjectStore(EOEditingContext.java:
4735) at
com
.webobjects
.eocontrol.EOEditingContext._dispose(EOEditingContext.java:1110) at
com
.webobjects
.eocontrol.EOEditingContext.finalize(EOEditingContext.java:1178) at
er.extensions.eof.ERXEC.finalize(ERXEC.java:619) at
com
.clicktravel
.plumbing
.system
.ScreamingEditingContext.finalize(ScreamingEditingContext.java:80)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method) at
java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83) at
java.lang.ref.Finalizer.access$100(Finalizer.java:14) at
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
But it can't lock it because it was locked here:
!!! Stack trace for most recent lock: java.lang.Throwable at
com
.clicktravel
.plumbing
.system.ScreamingEditingContext._trace(ScreamingEditingContext.java:
52) at
com
.clicktravel
.plumbing
.system.ScreamingEditingContext.lock(ScreamingEditingContext.java:
113) at
com.webobjects.appserver.WOSession._awakeInContext(WOSession.java:
717) at
com
.webobjects
.appserver.WOApplication.restoreSessionWithID(WOApplication.java:
1550) at
er
.extensions
.appserver.ERXApplication.restoreSessionWithID(ERXApplication.java:
1937) at
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
._dispatchWithPreparedApplication(WOComponentRequestHandler.java:
314) at
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
._handleRequest(WOComponentRequestHandler.java:358) at
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
.handleRequest(WOComponentRequestHandler.java:435) at
com
.webobjects
.appserver.WOApplication.dispatchRequest(WOApplication.java:1306) at
er
.extensions
.appserver
.ERXApplication.dispatchRequestImmediately(ERXApplication.java:1646)
at
er
.extensions
.appserver.ERXApplication.dispatchRequest(ERXApplication.java:1610)
at
com
.webobjects
.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:173)
at
com
.webobjects
.appserver._private.WOWorkerThread.run(WOWorkerThread.java:254) at
java.lang.Thread.run(Thread.java:613)
So you have a hanging lock some place. That looks like the default EC
that is still locked. Maybe session.sleep() can throw an exception
that prevents the default ec from getting unlocked?
Chuck
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden