• 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
Need help with deadlock in app
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

  • Follow-Ups:
    • Re: Need help with deadlock in app
      • From: Chuck Hill <email@hidden>
    • Re: Need help with deadlock in app
      • From: Anjo Krank <email@hidden>
  • Prev by Date: postgresql and stored proceedures (and exporting excel also)
  • Next by Date: Re: Need help with deadlock in app
  • Previous by thread: postgresql and stored proceedures (and exporting excel also)
  • Next by thread: Re: Need help with deadlock in app
  • Index(es):
    • Date
    • Thread