• 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
Re: Need help with a (non) deadlock Issue
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Need help with a (non) deadlock Issue


  • Subject: Re: Need help with a (non) deadlock Issue
  • From: Dov Rosenberg <email@hidden>
  • Date: Wed, 8 Dec 2010 08:45:33 -0800
  • Acceptlanguage: en-US
  • Thread-topic: Need help with a (non) deadlock Issue

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" <email@hidden> 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      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Need help with a (non) deadlock Issue
      • From: Greg Lappen <email@hidden>
References: 
 >Need help with a (non) deadlock Issue (From: Greg Lappen <email@hidden>)

  • Prev by Date: WOBrowser selections missing
  • Next by Date: RE: WOBrowser selections missing
  • Previous by thread: Re: Need help with a (non) deadlock Issue
  • Next by thread: Re: Need help with a (non) deadlock Issue
  • Index(es):
    • Date
    • Thread