• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Confusing lock error solved, but now a restoreSessionWithID lock issue
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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
References: 
 >Confusing lock error solved, but now a restoreSessionWithID lock issue (From: Simon McLean <email@hidden>)

  • Prev by Date: Enumeration cannot be resolved
  • Next by Date: Re: Enumeration cannot be resolved
  • Previous by thread: Re: Confusing lock error solved, but now a restoreSessionWithID lock issue
  • Next by thread: Aaargh, ERXApplication!
  • Index(es):
    • Date
    • Thread