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

This email sent to arch...@mail-archive.com

Reply via email to