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 protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to