My guess is that you passed some EOs into your quartz scheduler that is running 
in a separate thread. That is a good way to shoot yourself in the foot. Just 
pass in identifiers to your thread and refetch them in the scope of the thread 
and clean up after your self inside the thread.

Dov Rosenberg


On 12/8/10 11:27 AM, "Greg Lappen" <g...@lapcominc.com> 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/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to