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

Reply via email to