• 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: Advise on deadlock
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Advise on deadlock


  • Subject: Re: Advise on deadlock
  • From: "Ricardo J. Parada" <email@hidden>
  • Date: Thu, 10 Jun 2010 16:31:50 -0400

On Jun 10, 2010, at 4:03 PM, Chuck Hill wrote:

> Moving this to the correct list.
>

Thanks.

>
> On Jun 10, 2010, at 12:54 PM, Ricardo J. Parada wrote:
>
>>
>> We have one app that we just turned on concurrent request handling and we seem to get a deadlock.  But I'm not sure why or what to do to fix it.  :-)
>> This happens logging in to the application.
>>
>> I'm using WO 5.4.3 and Wonder revision 10715.
>>
>> Here's a stack trace of each thread (it looks like the deadlock is between WorkerThread13 and WorkerThread14:
>
> No, both of those threads are waiting for a session that other threads have checked out (possibly the same thread).  Either that thread is takinga  long time or the session did not get checked back in.
>

When does the session get checked back in?  I'm not familiar with that aspect of WO.


> Do you have any code the Session methods awake, sleep, or terminate?
>

I looked and the code in awake() is just setting a couple of i-vars.  It doesn't seem to be doing much.  But I'll look more carefully.


>
> Chuck
>
>
>>
>>
>> Jun 10 10:14:34 PatientPortionPricer[2013] FATAL er.extensions.statistics.ERXStatisticsStore  - Request is taking too long, possible deadlock: 300294 ms
>>
>> Request Thread Name: ERXStopWatchTimer
>>
>> Java2D Disposer:
>> Thread[Java2D Disposer,10,main]:
>>       at java.lang.Object.wait(Native Method)
>>       at java.lang.ref.ReferenceQueue.remove(Unknown Source)
>>       at java.lang.ref.ReferenceQueue.remove(Unknown Source)
>>       at sun.java2d.Disposer.run(Unknown Source)
>>       at java.lang.Thread.run(Unknown Source)
>> WorkerThread13:
>> Thread[WorkerThread13,5,main]:
>>       at java.lang.Object.wait(Native Method)
>>       at java.lang.Object.wait(Unknown Source)
>>       at com.webobjects.appserver.WOSessionStore.checkOutSessionWithID(WOSessionStore.java:191)
>>       at com.webobjects.appserver.WOApplication.restoreSessionWithID(WOApplication.java:1913)
>>       at er.extensions.appserver.ERXApplication.restoreSessionWithID(ERXApplication.java:2215)
>>       at com.mpv.webapp.patientportionpricer.Application.restoreSessionWithID(Application.java:46)
>>       at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:324)
>>       at com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:369)
>>       at com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:445)
>>       at er.ajax.AjaxRequestHandler.handleRequest(AjaxRequestHandler.java:17)
>>       at com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
>>       at er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:1920)
>>       at er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:1885)
>>       at com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
>>       at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
>>       at java.lang.Thread.run(Unknown Source)
>> Session Timeout Thread:
>> Thread[Session Timeout Thread,5,main]:
>>       at java.lang.Thread.sleep(Native Method)
>>       at com.webobjects.appserver.WOSessionStore$_SessionTimeoutManager.run(WOSessionStore.java:98)
>>       at java.lang.Thread.run(Unknown Source)
>> WorkerThread14:
>> Thread[WorkerThread14,5,main]:
>>       at java.lang.Object.wait(Native Method)
>>       at java.lang.Object.wait(Unknown Source)
>>       at com.webobjects.appserver.WOSessionStore.checkOutSessionWithID(WOSessionStore.java:191)
>>       at com.webobjects.appserver.WOApplication.restoreSessionWithID(WOApplication.java:1913)
>>       at er.extensions.appserver.ERXApplication.restoreSessionWithID(ERXApplication.java:2215)
>>       at com.mpv.webapp.patientportionpricer.Application.restoreSessionWithID(Application.java:46)
>>       at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:324)
>>       at com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:369)
>>       at com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:445)
>>       at er.ajax.AjaxRequestHandler.handleRequest(AjaxRequestHandler.java:17)
>>       at com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
>>       at er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:1920)
>>       at er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:1885)
>>
>>
>> Thanks,
>> Ricardo
>>
>
> --
> 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

  • Follow-Ups:
    • Re: Advise on deadlock
      • From: Chuck Hill <email@hidden>
References: 
 >Re: Advise on deadlock (From: Chuck Hill <email@hidden>)

  • Prev by Date: Re: Advise on deadlock
  • Next by Date: Re: Advise on deadlock
  • Previous by thread: Re: Advise on deadlock
  • Next by thread: Re: Advise on deadlock
  • Index(es):
    • Date
    • Thread