Re: Advise on deadlock
Re: Advise on deadlock
- Subject: Re: Advise on deadlock
- From: Chuck Hill <email@hidden>
- Date: Thu, 10 Jun 2010 13:03:00 -0700
Moving this to the correct list.
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.
Do you have any code the Session methods awake, sleep, or terminate?
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