Advise on deadlock

From: Ricardo J. Parada (rparad..ac.com)
Date: Thu Jun 10 2010 - 19:54:38 UTC

  • Next message: Alexis Tual (JIRA): "[OS-JIRA] Created: (WOL-1162) Maven build should set pom version in Info.plist"

    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:

    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



    This archive was generated by hypermail 2.0.0 : Thu Jun 10 2010 - 19:56:20 UTC