• 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: Greg Lappen <email@hidden>
  • Date: Wed, 8 Dec 2010 22:24:15 -0500

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


 _______________________________________________
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: Chuck Hill <email@hidden>
References: 
 >Need help with a (non) deadlock Issue (From: Greg Lappen <email@hidden>)
 >Re: Need help with a (non) deadlock Issue (From: Mike Schrag <email@hidden>)

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