Need help with deadlock in app
Need help with deadlock in app
- Subject: Need help with deadlock in app
- From: Lon Varscsak <email@hidden>
- Date: Fri, 11 Jun 2010 11:04:14 -0700
I'm sure it's something I've done...I just don't know how to interpret
what I'm seeing here in the jstack output (see below). Any help would
be greatly appreciated.
Thanks,
Lon
Here is the jstack stuff for just the deadlock (since the list
wouldn't allow the full file):
Found one Java-level deadlock:
=============================
"WorkerThread255":
waiting for ownable synchronizer 0x00002aaab421aef0, (a
java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by "WorkerThread9"
"WorkerThread9":
waiting for ownable synchronizer 0x00002aaac0ecc338, (a
java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by "Finalizer"
"Finalizer":
waiting for ownable synchronizer 0x00002aaab421aef0, (a
java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by "WorkerThread9"
Java stack information for the threads listed above:
===================================================
"WorkerThread255":
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00002aaab421aef0> (a
java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:773)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:806)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1136)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)
at com.webobjects.eocontrol.EOObjectStoreCoordinator.lock(EOObjectStoreCoordinator.java:420)
at com.webobjects.eocontrol.EOEditingContext.lockObjectStore(EOEditingContext.java:4666)
at er.extensions.eof.ERXEC.lockObjectStore(ERXEC.java:715)
at com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:4067)
at er.extensions.eof.ERXEC.objectsWithFetchSpecification(ERXEC.java:1211)
at com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(EOEditingContext.java:4444)
at com.smarthealth.businesslogic.production._ValueSet.fetchValueSets(_ValueSet.java:199)
at com.smarthealth.businesslogic.production._ValueSet.fetchValueSet(_ValueSet.java:219)
at com.smarthealth.businesslogic.production._ValueSet.fetchRequiredValueSet(_ValueSet.java:251)
at com.smarthealth.woapp.smartscrubs.Session.defaultSiteID(Session.java:83)
at com.smarthealth.woapp.smartscrubs.Session.<init>(Session.java:73)
at sun.reflect.GeneratedConstructorAccessor37.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at java.lang.Class.newInstance0(Class.java:372)
at java.lang.Class.newInstance(Class.java:325)
at com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:616)
at com.webobjects.appserver.WOApplication.createSessionForRequest(WOApplication.java:1974)
at er.extensions.appserver.ERXApplication.createSessionForRequest(ERXApplication.java:2170)
at com.webobjects.appserver.WOApplication._initializeSessionInContext(WOApplication.java:2110)
at com.webobjects.appserver.WOContext.session(WOContext.java:369)
at com.webobjects.appserver.WOAction.session(WOAction.java:165)
at com.smarthealth.woapp.smartscrubs.DirectAction.session(DirectAction.java:49)
at com.smarthealth.woapp.smartscrubs.DirectAction.<init>(DirectAction.java:44)
at sun.reflect.GeneratedConstructorAccessor29.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:614)
at com.webobjects.appserver._private.WOActionRequestHandler.getActionInstance(WOActionRequestHandler.java:197)
at com.webobjects.appserver._private.WOActionRequestHandler._handleRequest(WOActionRequestHandler.java:242)
at com.webobjects.appserver._private.WOActionRequestHandler.handleRequest(WOActionRequestHandler.java:161)
at er.extensions.appserver.ERXDirectActionRequestHandler.handleRequest(ERXDirectActionRequestHandler.java:124)
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(Thread.java:636)
"WorkerThread9":
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00002aaac0ecc338> (a
java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:773)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:806)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1136)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)
at com.webobjects.eocontrol.EOEditingContext.lock(EOEditingContext.java:4617)
at er.extensions.eof.ERXEC.lock(ERXEC.java:505)
at er.extensions.eof.ERXEC.autoLock(ERXEC.java:627)
at er.extensions.eof.ERXEC.globalIDForObject(ERXEC.java:844)
at com.webobjects.eoaccess.EODatabaseContext._fireDeferredFaultWithSourceObject(EODatabaseContext.java:2370)
at com.webobjects.eoaccess.EOAccessDeferredFaultHandler.createFaultForDeferredFault(EOAccessDeferredFaultHandler.java:49)
at com.webobjects.eocontrol.EOCustomObject.willReadRelationship(EOCustomObject.java:1279)
at er.extensions.eof.ERXGenericRecord.willReadRelationship(ERXGenericRecord.java:400)
at com.webobjects.eocontrol.EOGenericRecord$_LazyDictionaryBinding.valueInObject(EOGenericRecord.java:280)
at er.extensions.eof.ERXGenericRecord$TouchingBinding.valueInObject(ERXGenericRecord.java:201)
at com.webobjects.eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.java:1634)
at com.smarthealth.businesslogic.marketing._PromotionMaster.promotionPresentationDetail(_PromotionMaster.java:226)
at com.smarthealth.woapp.smartscrubs.components.AvailablePromotions.aPromotionCartMessage(AvailablePromotions.java:29)
at sun.reflect.GeneratedMethodAccessor256.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor$1.methodValue(NSKeyValueCoding.java:636)
at com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(NSKeyValueCoding.java:1134)
at com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1324)
at com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1736)
at com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValueCoding.java:447)
at com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation.valueForKeyPath(NSKeyValueCodingAdditions.java:212)
at com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:1804)
at com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java:50)
at er.extensions.components._private.ERXWOString.appendToResponse(ERXWOString.java:67)
at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at er.extensions.components._private.ERXWORepetition.appendToResponse(ERXWORepetition.java:543)
at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at er.extensions.components.conditionals.ERXWOConditional.appendChildrenToResponse(ERXWOConditional.java:127)
at er.extensions.components.conditionals.ERXWOConditional.appendToResponse(ERXWOConditional.java:121)
at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
at com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1122)
at er.extensions.components.ERXComponent.appendToResponse(ERXComponent.java:107)
at er.extensions.components.ERXNonSynchronizingComponent.appendToResponse(ERXNonSynchronizingComponent.java:73)
at com.webobjects.appserver._private.WOComponentReference.appendToResponse(WOComponentReference.java:135)
at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at er.extensions.components._private.ERXWOForm.appendChildrenToResponse(ERXWOForm.java:287)
at er.extensions.components._private.ERXWOForm.appendToResponse(ERXWOForm.java:437)
at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
at com.webobjects.appserver._private.WOComponentContent.appendToResponse(WOComponentContent.java:51)
at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
at com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1122)
at er.extensions.components.ERXComponent.appendToResponse(ERXComponent.java:107)
at com.smarthealth.webobjects.SHWOComponent.appendToResponse(SHWOComponent.java:51)
at com.webobjects.appserver._private.WOComponentReference.appendToResponse(WOComponentReference.java:135)
at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
at com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1122)
at er.extensions.components.ERXComponent.appendToResponse(ERXComponent.java:107)
at com.smarthealth.webobjects.SHWOComponent.appendToResponse(SHWOComponent.java:51)
at com.webobjects.appserver.WOSession.appendToResponse(WOSession.java:1385)
at er.extensions.appserver.ERXSession.appendToResponse(ERXSession.java:548)
at com.smarthealth.woapp.smartscrubs.Session.appendToResponse(Session.java:371)
at com.webobjects.appserver.WOApplication.appendToResponse(WOApplication.java:1794)
at er.extensions.appserver.ERXApplication.appendToResponse(ERXApplication.java:1822)
at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedPage(WOComponentRequestHandler.java:242)
at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedSession(WOComponentRequestHandler.java:298)
at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:332)
at com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:369)
at com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:445)
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(Thread.java:636)
"Finalizer":
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00002aaab421aef0> (a
java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:773)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:806)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1136)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)
at com.webobjects.eocontrol.EOObjectStoreCoordinator.lock(EOObjectStoreCoordinator.java:420)
at com.webobjects.eocontrol.EOEditingContext.lockObjectStore(EOEditingContext.java:4666)
at er.extensions.eof.ERXEC.lockObjectStore(ERXEC.java:715)
at com.webobjects.eocontrol.EOEditingContext.editingContextDidForgetObjectWithGlobalID(EOEditingContext.java:3881)
at er.extensions.eof.ERXEC.editingContextDidForgetObjectWithGlobalID(ERXEC.java:1159)
at com.webobjects.eocontrol.EOEditingContext._forgetObject(EOEditingContext.java:1571)
at com.webobjects.eocontrol.EOEditingContext._dispose(EOEditingContext.java:1183)
at com.webobjects.eocontrol.EOEditingContext.finalize(EOEditingContext.java:1239)
at er.extensions.eof.ERXEC.finalize(ERXEC.java:701)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:101)
at java.lang.ref.Finalizer.access$100(Finalizer.java:32)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:178)
Found 1 deadlock.
_______________________________________________
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