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
> _______________________________________________