Thanks for taking the time to look.... I don't have any code that is directly calling methods on the osc - does locking editing contexts cause the underlying osc to get locked? Just wondering what kind of cleanup code is in the hypothetical missing finally block that I need to find.
Thanks again! On Wed, Dec 8, 2010 at 11:36 AM, Mike Schrag <msch...@pobox.com> wrote: > you can't spot the deadlock here ... it means a previous thread left the > osc locked and went away. because there's no thread BEYOND that lock, it > means the thread is gone now and you'll have to try and track down the one > the had a problem. I would look for possibly exceptions that were thrown in > the logs that might have not had a finally? > > On Dec 8, 2010, at 11:27 AM, Greg Lappen wrote: > > > Hi everyone, was wondering if anyone was up for a game of "spot the > deadlock" today. I have a thread dump which I have removed duplicates from > and cleaned up a bit. It seems that a lot of threads are BLOCKED waiting on > the EOObjectStoreCoordinator.lock() call > > > > Deadlock Detection: > > > > No deadlocks found. > > > > Thread t...@44035: (state = BLOCKED) > > - java.lang.Thread.sleep(long) @bci=0 (Compiled frame; information may > be imprecise) > > - sun.security.pkcs11.SunPKCS11$TokenPoller.run() @bci=20, line=692 > (Compiled frame) > > - java.lang.Thread.run() @bci=11, line=680 (Interpreted frame) > > > > > > Thread t...@44291: (state = BLOCKED) > > - java.net.PlainSocketImpl.accept(java.net.SocketImpl) @bci=0, line=388 > (Interpreted frame) > > - java.net.ServerSocket.implAccept(java.net.Socket) @bci=60, line=453 > (Interpreted frame) > > - java.net.ServerSocket.accept() @bci=48, line=421 (Interpreted frame) > > - com.webobjects.appserver._private.WOWorkerThread.run() @bci=26, > line=210 (Interpreted frame) > > - java.lang.Thread.run() @bci=11, line=680 (Interpreted frame) > > > > > > Thread t...@46083: (state = BLOCKED) > > - sun.misc.Unsafe.park(boolean, long) @bci=0 (Interpreted frame) > > - java.util.concurrent.locks.LockSupport.park(java.lang.Object) @bci=14, > line=158 (Interpreted frame) > > - > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt() > @bci=1, line=811 (Interpreted frame) > > - > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(java.util.concurrent.locks.AbstractQueuedSynchronizer$Node, > int) @bci=48, line=842 (Interpreted frame) > > - java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(int) > @bci=17, line=1178 (Compiled frame) > > - java.util.concurrent.locks.ReentrantLock$NonfairSync.lock() @bci=21, > line=186 (Compiled frame) > > - java.util.concurrent.locks.ReentrantLock.lock() @bci=4, line=262 > (Compiled frame) > > - com.webobjects.eocontrol.EOObjectStoreCoordinator.lock() @bci=4, > line=420 (Compiled frame) > > - com.webobjects.eocontrol.EOEditingContext.lockObjectStore() @bci=41, > line=4666 (Compiled frame) > > - > com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(com.webobjects.eocontrol.EOFetchSpecification, > com.webobjects.eocontrol.EOEditingContext) @bci=70, line=4067 (Interpreted > frame) > > - > com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(com.webobjects.eocontrol.EOFetchSpecification) > @bci=3, line=4444 (Interpreted frame) > > - > com.webobjects.eoaccess.EOUtilities.objectWithPrimaryKey(com.webobjects.eocontrol.EOEditingContext, > java.lang.String, com.webobjects.foundation.NSDictionary) @bci=34, line=461 > (Interpreted frame) > > - > com.webobjects.eoaccess.EOUtilities.objectWithPrimaryKeyValue(com.webobjects.eocontrol.EOEditingContext, > java.lang.String, java.lang.Object) @bci=10, line=432 (Interpreted frame) > > - net.paperfree.lightbeam.DocumentEmailAction.deliverDocumentAction() > @bci=211, line=59 (Interpreted frame) > > > > > > Thread t...@46595: (state = BLOCKED) > > - sun.misc.Unsafe.park(boolean, long) @bci=0 (Interpreted frame) > > - java.util.concurrent.locks.LockSupport.park(java.lang.Object) @bci=14, > line=158 (Interpreted frame) > > - > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt() > @bci=1, line=811 (Interpreted frame) > > - > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(java.util.concurrent.locks.AbstractQueuedSynchronizer$Node, > int) @bci=48, line=842 (Interpreted frame) > > - java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(int) > @bci=17, line=1178 (Compiled frame) > > - java.util.concurrent.locks.ReentrantLock$NonfairSync.lock() @bci=21, > line=186 (Compiled frame) > > - java.util.concurrent.locks.ReentrantLock.lock() @bci=4, line=262 > (Compiled frame) > > - com.webobjects.eocontrol.EOObjectStoreCoordinator.lock() @bci=4, > line=420 (Compiled frame) > > - com.webobjects.eocontrol.EOEditingContext.lockObjectStore() @bci=41, > line=4666 (Compiled frame) > > - > com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(com.webobjects.eocontrol.EOFetchSpecification, > com.webobjects.eocontrol.EOEditingContext) @bci=70, line=4067 (Interpreted > frame) > > - > com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(com.webobjects.eocontrol.EOFetchSpecification) > @bci=3, line=4444 (Interpreted > > frame) > > - net.paperfree.lightbeam.LBEntityHelper.getTimezones() @bci=20, > line=135 (Interpreted frame) > > - net.paperfree.lightbeam.components.LoginPage.timeZones() @bci=4, > line=120 (Interpreted frame) > > > > > > Thread t...@48387: (state = BLOCKED) > > - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be > imprecise) > > - org.quartz.simpl.SimpleThreadPool.runInThread(java.lang.Runnable) > @bci=58, line=384 (Compiled frame) > > - org.quartz.core.QuartzSchedulerThread.run() @bci=665, line=369 > (Compiled frame) > > > > > > Thread t...@48643: (state = BLOCKED) > > - > net.paperfree.lightbeam.MessageDeliveryJob.execute(org.quartz.JobExecutionContext) > @bci=5, line=20 (Interpreted frame) > > - org.quartz.core.JobRunShell.run() @bci=201, line=203 (Interpreted > frame) > > - org.quartz.simpl.SimpleThreadPool$WorkerThread.run() @bci=49, line=520 > (Compiled frame) > > > > Thread t...@50947: (state = BLOCKED) > > - sun.misc.Unsafe.park(boolean, long) @bci=0 (Interpreted frame) > > - java.util.concurrent.locks.LockSupport.park(java.lang.Object) @bci=14, > line=158 (Interpreted frame) > > - > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt() > @bci=1, line=811 (Interpreted frame) > > - > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(java.util.concurrent.locks.AbstractQueuedSynchronizer$Node, > int) @bci=48, line=842 (Interpreted frame) > > - java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(int) > @bci=17, line=1178 (Compiled frame) > > - java.util.concurrent.locks.ReentrantLock$NonfairSync.lock() @bci=21, > line=186 (Compiled frame) > > - java.util.concurrent.locks.ReentrantLock.lock() @bci=4, line=262 > (Compiled frame) > > - com.webobjects.eocontrol.EOObjectStoreCoordinator.lock() @bci=4, > line=420 (Compiled frame) > > - com.webobjects.eocontrol.EOEditingContext.lockObjectStore() @bci=41, > line=4666 (Compiled frame) > > - > com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(com.webobjects.eocontrol.EOFetchSpecification, > com.webobjects.eocontrol.EOEditingContext) @bci=70, line=4067 (Interpreted > frame) > > - > com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification(com.webobjects.eocontrol.EOFetchSpecification) > @bci=3, line=4444 (Interpreted frame) > > - > net.paperfree.lightbeam.MessageDeliveryJob.execute(org.quartz.JobExecutionContext) > @bci=42, line=25 (Interpreted frame) > > - org.quartz.core.JobRunShell.run() @bci=201, line=203 (Interpreted > frame) > > - org.quartz.simpl.SimpleThreadPool$WorkerThread.run() @bci=49, line=520 > (Compiled frame) > > > > > > Thread t...@51203: (state = BLOCKED) > > - java.lang.Thread.sleep(long) @bci=0 (Compiled frame; information may > be imprecise) > > - org.apache.log4j.helpers.FileWatchdog.run() @bci=11, line=103 > (Compiled frame) > > > > > > Thread t...@51459: (state = BLOCKED) > > - java.lang.Thread.sleep(long) @bci=0 (Compiled frame; information may > be imprecise) > > - com.webobjects.appserver.WOApplication$_LifebeatThread.run() @bci=233, > line=1619 (Compiled frame) > > > > > > Thread t...@51715: (state = BLOCKED) > > - java.lang.Thread.sleep(long) @bci=0 (Compiled frame; information may > be imprecise) > > - com.webobjects.appserver.WOSessionStore$_SessionTimeoutManager.run() > @bci=12, line=98 (Compiled frame) > > - java.lang.Thread.run() @bci=11, line=680 (Interpreted frame) > > > > > > Thread t...@51971: (state = BLOCKED) > > > > > > Thread t...@52227: (state = BLOCKED) > > > > > > Thread t...@52483: (state = BLOCKED) > > - sun.misc.Unsafe.park(boolean, long) @bci=0 (Interpreted frame) > > - java.util.concurrent.locks.LockSupport.park(java.lang.Object) @bci=14, > line=158 (Interpreted frame) > > - > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt() > @bci=1, line=811 (Interpreted frame) > > - > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(java.util.concurrent.locks.AbstractQueuedSynchronizer$Node, > int) @bci=48, line=842 (Interpreted frame) > > - java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(int) > @bci=17, line=1178 (Compiled frame) > > - java.util.concurrent.locks.ReentrantLock$NonfairSync.lock() @bci=21, > line=186 (Compiled frame) > > - java.util.concurrent.locks.ReentrantLock.lock() @bci=4, line=262 > (Compiled frame) > > - com.webobjects.eocontrol.EOObjectStoreCoordinator.lock() @bci=4, > line=420 (Compiled frame) > > - com.webobjects.eocontrol.EOEditingContext.lockObjectStore() @bci=41, > line=4666 (Compiled frame) > > - com.webobjects.eocontrol.EOEditingContext._dispose(boolean) @bci=181, > line=1172 (Compiled frame) > > - com.webobjects.eocontrol.EOEditingContext.finalize() @bci=9, line=1239 > (Interpreted frame) > > - java.lang.ref.Finalizer.invokeFinalizeMethod(java.lang.Object) @bci=0 > (Compiled frame) > > - java.lang.ref.Finalizer.runFinalizer() @bci=45, line=83 (Compiled > frame) > > - java.lang.ref.Finalizer.access$100(java.lang.ref.Finalizer) @bci=1, > line=14 (Compiled frame) > > - java.lang.ref.Finalizer$FinalizerThread.run() @bci=11, line=160 > (Compiled frame) > > > > > > Thread t...@52739: (state = BLOCKED) > > - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be > imprecise) > > - java.lang.Object.wait() @bci=2, line=485 (Compiled frame) > > - java.lang.ref.Reference$ReferenceHandler.run() @bci=46, line=116 > (Compiled frame) > > > > > > Thread t...@52995: (state = BLOCKED) > > - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be > imprecise) > > - > com.webobjects.appserver._WORunLoop._acceptInputBeforeDate(com.webobjects.foundation.NSTimestamp) > @bci=98, line=244 (Interpreted frame) > > - > com.webobjects.appserver._WORunLoop.runBeforeDate(com.webobjects.foundation.NSTimestamp) > @bci=39, line=95 (Interpreted frame) > > - com.webobjects.appserver.WOApplication._runOnce() @bci=17, line=1095 > (Interpreted frame) > > - com.webobjects.appserver.WOApplication.run() @bci=106, line=1248 > (Interpreted frame) > > - com.webobjects.appserver.WOApplication.main(java.lang.String[], > java.lang.Class) @bci=55, line=548 (Interpreted frame) > > - net.paperfree.lightbeam.Application.main(java.lang.String[]) @bci=3, > line=68 (Interpreted frame) > > - sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, > java.lang.Object, java.lang.Object[]) @bci=0 (Interpreted frame) > > - sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, > java.lang.Object[]) @bci=87, line=39 (Interpreted frame) > > - sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, > java.lang.Object[]) @bci=6, line=25 (Interpreted frame) > > - java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) > @bci=161, line=597 (Interpreted frame) > > - com.webobjects._bootstrap.WOBootstrap.main(java.lang.String[]) > @bci=118, line=87 (Interpreted frame) > > > > Any help with this would be greatly appreciated. > > > > Greg > > _______________________________________________ > > 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/mschrag%40pobox.com > > > > This email sent to msch...@pobox.com > >
_______________________________________________ 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