Re: Let's play "Spot the Deadlock" ;-)
Re: Let's play "Spot the Deadlock" ;-)
- Subject: Re: Let's play "Spot the Deadlock" ;-)
- From: Chuck Hill <email@hidden>
- Date: Wed, 7 Oct 2009 18:15:46 -0700
On Oct 7, 2009, at 5:09 PM, Miguel Arroz wrote:
Hi!
Before going to Niue, specially because it's a bit shaky there
right now, you may add some code that detects OSC locks.
We have the following on our WOComponent's subclass form where all
the pages inherit from. I don't know if it compiles or works on 5.4,
but it surely does on 5.3.
public WOActionResults invokeAction(WORequest worequest, WOContext
wocontext){
WOActionResults results = super.invokeAction( worequest,
wocontext );
if(_isPage()){
NSRecursiveLock oscLock =
((EOObjectStoreCoordinator
)EOEditingContext.defaultParentObjectStore())._lock();
if( oscLock._verifyLock() ){
Note that this return true only if the OSC is locked and the lock
owner is the current thread.
LOG.error( "LOCKED OSC left after invoking action in
component: " + this.getClass().getName() );
LOG.error( "Context " + wocontext.toString() );
/*while( oscLock._verifyLock() ) {
LOG.error( "Forcing OSC unlock" );
oscLock.unlock();
}
LOG.error( "OSC unlocked" ); */
}
}
return results;
}
What this does is checking if the OSC is released after
invokeAction is finished. If not, something screwed up in between.
The commented part is the "I have no freaking idea of what's going
on, so whatever happened, at least unlock that damn thing so all the
users don't get stuck" switch. Luckily we never were desperate
enough to feel the need to uncomment that, so I can't be sure if it
works fine, as it was never tested in production. The uncommented
part is working in production right now, and it's a dream come
true. :)
Miguel showed me this a while ago (Paulo Andrade's code, I think).
I've been meaning to try this in Application.dispatchRequest(). It
seems safe enough, but testing would be good.
Chuck
On 2009/10/07, at 21:06, Kieran Kelleher wrote:
Here is an interesting deadlock I got today. I know some of you
like to comment on deadlocks ...... and I certainly appreciate it!
BTW, I have concurrent off and Session deadlock detection on on
that instance, so I am guessing this was an EOF lock. This app uses
Wonder, ERXEC, safe autolocking, and Wonder EOF stack
synchronization within instances, however there is only one common
EOF stack for normal requests and EOF stacks are created
occasionally for intensive background tasks.
Any comments on possible root cause and or troubleshooting tips?
I had a gazillion of stacks that were the same as the two under
REMOVED STACKS below, so I have removed all those for readability:
REMOVED STACKS (I removed these ones that appearred multiple time
from the jstack output for readability):
Thread t@56835: (state = BLOCKED)
- java.net.PlainSocketImpl.accept(java.net.SocketImpl) @bci=0,
line=382 (Compiled frame; information may be imprecise)
- java.net.ServerSocket.implAccept(java.net.Socket) @bci=50,
line=450 (Interpreted frame)
- java.net.ServerSocket.accept() @bci=48, line=421 (Interpreted
frame)
- com.webobjects.appserver._private.WOWorkerThread.run() @bci=26,
line=238 (Compiled frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@72451: (state = BLOCKED)
-
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
.handleRequest(com.webobjects.appserver.WORequest) @bci=21,
line=432 (Interpreted frame)
-
com
.webobjects
.appserver
.WOApplication.dispatchRequest(com.webobjects.appserver.WORequest)
@bci=41, line=1306 (Compiled frame)
-
er
.extensions
.appserver
.ERXApplication
.dispatchRequestImmediately(com.webobjects.appserver.WORequest)
@bci=74, line=1887 (Compiled frame)
-
er
.extensions
.appserver
.ERXApplication.dispatchRequest(com.webobjects.appserver.WORequest)
@bci=13, line=1852 (Compiled frame)
- com.webobjects.appserver._private.WOWorkerThread.runOnce()
@bci=729, line=173 (Compiled frame)
- com.webobjects.appserver._private.WOWorkerThread.run() @bci=129,
line=254 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@75779: (state = BLOCKED)
-
com
.webobjects
.appserver
._private
.WOActionRequestHandler
.handleRequest(com.webobjects.appserver.WORequest) @bci=54,
line=142 (Interpreted frame)
-
er
.extensions
.appserver
.ERXDirectActionRequestHandler
.handleRequest(com.webobjects.appserver.WORequest) @bci=222,
line=124 (Interpreted frame)
-
com
.webobjects
.appserver
.WOApplication.dispatchRequest(com.webobjects.appserver.WORequest)
@bci=41, line=1306 (Compiled frame)
-
er
.extensions
.appserver
.ERXApplication
.dispatchRequestImmediately(com.webobjects.appserver.WORequest)
@bci=74, line=1887 (Compiled frame)
-
er
.extensions
.appserver
.ERXApplication.dispatchRequest(com.webobjects.appserver.WORequest)
@bci=13, line=1852 (Compiled frame)
- com.webobjects.appserver._private.WOWorkerThread.runOnce()
@bci=729, line=173 (Compiled frame)
- com.webobjects.appserver._private.WOWorkerThread.run() @bci=129,
line=254 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
REMAINING STACKS (this is everything else):
Thread t@72195: (state = IN_NATIVE)
-
com
.webobjects
.appserver
.WOApplication.dispatchRequest(com.webobjects.appserver.WORequest)
@bci=9, line=1298 (Compiled frame; information may be imprecise)
-
er
.extensions
.appserver
.ERXApplication
.dispatchRequestImmediately(com.webobjects.appserver.WORequest)
@bci=74, line=1887 (Compiled frame)
-
er
.extensions
.appserver
.ERXApplication.dispatchRequest(com.webobjects.appserver.WORequest)
@bci=13, line=1852 (Compiled frame)
- com.webobjects.appserver._private.WOWorkerThread.runOnce()
@bci=729, line=173 (Compiled frame)
- com.webobjects.appserver._private.WOWorkerThread.run() @bci=129,
line=254 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@76035: (state = IN_NATIVE)
- java.net.PlainSocketImpl.socketAccept(java.net.SocketImpl)
@bci=0 (Compiled frame; information may be imprecise)
- java.net.PlainSocketImpl.accept(java.net.SocketImpl) @bci=7,
line=384 (Compiled frame)
- java.net.ServerSocket.implAccept(java.net.Socket) @bci=50,
line=450 (Interpreted frame)
- java.net.ServerSocket.accept() @bci=48, line=421 (Interpreted
frame)
- com.webobjects.appserver._private.WOWorkerThread.run() @bci=26,
line=238 (Compiled frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@76291: (state = BLOCKED)
- sun.misc.Unsafe.park(boolean, long) @bci=0 (Interpreted frame)
- java.util.concurrent.locks.LockSupport.park() @bci=5, line=118
(Interpreted frame)
- java.util.concurrent.locks.AbstractQueuedSynchronizer
$ConditionObject.await() @bci=41, line=1841 (Interpreted frame)
- java.util.concurrent.LinkedBlockingQueue.take() @bci=29,
line=359 (Interpreted frame)
- java.util.concurrent.ThreadPoolExecutor.getTask() @bci=47,
line=470 (Interpreted frame)
- java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=18,
line=674 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@76547: (state = BLOCKED)
- sun.misc.Unsafe.park(boolean, long) @bci=0 (Interpreted frame)
- java.util.concurrent.locks.LockSupport.park() @bci=5, line=118
(Interpreted frame)
- java.util.concurrent.locks.AbstractQueuedSynchronizer
$ConditionObject.await() @bci=41, line=1841 (Interpreted frame)
- java.util.concurrent.LinkedBlockingQueue.take() @bci=29,
line=359 (Interpreted frame)
- java.util.concurrent.ThreadPoolExecutor.getTask() @bci=47,
line=470 (Interpreted frame)
- java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=18,
line=674 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@76803: (state = BLOCKED)
- sun.misc.Unsafe.park(boolean, long) @bci=0 (Interpreted frame)
- java.util.concurrent.locks.LockSupport.park() @bci=5, line=118
(Interpreted frame)
- java.util.concurrent.locks.AbstractQueuedSynchronizer
$ConditionObject.await() @bci=41, line=1841 (Interpreted frame)
- java.util.concurrent.LinkedBlockingQueue.take() @bci=29,
line=359 (Interpreted frame)
- java.util.concurrent.ThreadPoolExecutor.getTask() @bci=47,
line=470 (Interpreted frame)
- java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=18,
line=674 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@77059: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Interpreted frame)
- java.lang.ref.ReferenceQueue.remove(long) @bci=44, line=120
(Compiled frame)
- java.lang.ref.ReferenceQueue.remove() @bci=2, line=136 (Compiled
frame)
- org.apache.commons.httpclient.MultiThreadedHttpConnectionManager
$ReferenceQueueThread.run() @bci=10, line=1122 (Interpreted frame)
Thread t@77315: (state = BLOCKED)
- java.lang.Thread.sleep(long) @bci=0 (Compiled frame; information
may be imprecise)
- au.com.forward.threads.ThreadReturn$1.run() @bci=3, line=391
(Compiled frame)
Thread t@77571: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Interpreted frame)
-
org
.apache.commons.httpclient.util.IdleConnectionTimeoutThread.run()
@bci=49, line=108 (Interpreted frame)
Thread t@77827: (state = BLOCKED)
- sun.misc.Unsafe.park(boolean, long) @bci=0 (Interpreted frame)
- java.util.concurrent.locks.LockSupport.park() @bci=5, line=118
(Interpreted frame)
- java.util.concurrent.locks.AbstractQueuedSynchronizer
$ConditionObject.await() @bci=41, line=1841 (Interpreted frame)
- java.util.concurrent.LinkedBlockingQueue.take() @bci=29,
line=359 (Interpreted frame)
- java.util.concurrent.ThreadPoolExecutor.getTask() @bci=47,
line=470 (Interpreted frame)
- java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=18,
line=674 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@78339: (state = BLOCKED)
- sun.misc.Unsafe.park(boolean, long) @bci=0 (Interpreted frame)
- java.util.concurrent.locks.LockSupport.park() @bci=5, line=118
(Interpreted frame)
- java.util.concurrent.locks.AbstractQueuedSynchronizer
$ConditionObject.await() @bci=41, line=1841 (Interpreted frame)
- java.util.concurrent.LinkedBlockingQueue.take() @bci=29,
line=359 (Interpreted frame)
- java.util.concurrent.ThreadPoolExecutor.getTask() @bci=47,
line=470 (Interpreted frame)
- java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=18,
line=674 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@78595: (state = BLOCKED)
- sun.misc.Unsafe.park(boolean, long) @bci=0 (Interpreted frame)
- java.util.concurrent.locks.LockSupport.park() @bci=5, line=118
(Interpreted frame)
- java.util.concurrent.locks.AbstractQueuedSynchronizer
$ConditionObject.await() @bci=41, line=1841 (Interpreted frame)
- java.util.concurrent.DelayQueue.take() @bci=28, line=131
(Interpreted frame)
- java.util.concurrent.ScheduledThreadPoolExecutor
$DelayedWorkQueue.take() @bci=4, line=504 (Interpreted frame)
- java.util.concurrent.ScheduledThreadPoolExecutor
$DelayedWorkQueue.take() @bci=1, line=497 (Interpreted frame)
- java.util.concurrent.ThreadPoolExecutor.getTask() @bci=47,
line=470 (Interpreted frame)
- java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=18,
line=674 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@78851: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Interpreted frame)
- java.lang.Object.wait() @bci=2, line=474 (Interpreted frame)
- java.util.TimerThread.mainLoop() @bci=28, line=483 (Interpreted
frame)
- java.util.TimerThread.run() @bci=1, line=462 (Interpreted frame)
Thread t@79107: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Interpreted frame)
- er.javamail.ERMailSender.run() @bci=26, line=276 (Interpreted
frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@81411: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Compiled frame; information
may be imprecise)
- java.lang.Object.wait() @bci=2, line=474 (Compiled frame)
- com.webobjects.eoaccess.EODatabaseContext.lock() @bci=56,
line=1973 (Compiled frame)
-
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.addCooperatingObjectStore
(com.webobjects.eocontrol.EOCooperatingObjectStore) @bci=5,
line=130 (Compiled frame)
-
com
.webobjects
.eoaccess
.EODatabaseChannel
.setCurrentEditingContext
(com.webobjects.eocontrol.EOEditingContext) @bci=34, line=166
(Compiled frame)
-
com
.webobjects
.eoaccess
.EODatabaseChannel
._selectWithFetchSpecificationEditingContext
(com.webobjects.eocontrol.EOFetchSpecification,
com.webobjects.eocontrol.EOEditingContext) @bci=158, line=788
(Compiled frame)
-
com
.webobjects
.eoaccess
.EODatabaseChannel
.selectObjectsWithFetchSpecification
(com.webobjects.eocontrol.EOFetchSpecification,
com.webobjects.eocontrol.EOEditingContext) @bci=64, line=215
(Compiled frame)
-
com
.webobjects
.eoaccess
.EODatabaseContext
._objectsWithFetchSpecificationEditingContext
(com.webobjects.eocontrol.EOFetchSpecification,
com.webobjects.eocontrol.EOEditingContext) @bci=219, line=3205
(Compiled frame)
-
com
.webobjects
.eoaccess
.EODatabaseContext
.objectsWithFetchSpecification
(com.webobjects.eocontrol.EOFetchSpecification,
com.webobjects.eocontrol.EOEditingContext) @bci=34, line=3346
(Compiled frame)
-
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.objectsWithFetchSpecification
(com.webobjects.eocontrol.EOFetchSpecification,
com.webobjects.eocontrol.EOEditingContext) @bci=97, line=539
(Compiled frame)
-
com
.webobjects
.eocontrol
.EOEditingContext
.objectsWithFetchSpecification
(com.webobjects.eocontrol.EOFetchSpecification,
com.webobjects.eocontrol.EOEditingContext) @bci=79, line=4114
(Compiled frame)
-
er
.extensions
.eof
.ERXEC
.objectsWithFetchSpecification
(com.webobjects.eocontrol.EOFetchSpecification,
com.webobjects.eocontrol.EOEditingContext) @bci=68, line=1189
(Compiled frame)
-
com
.webobjects
.eocontrol
.EOEditingContext
.objectsWithFetchSpecification
(com.webobjects.eocontrol.EOFetchSpecification) @bci=3, line=4500
(Compiled frame)
- wk.cheetah.eof.ProgramBehaviour
$
Utilities.hasAllTemplatesApprovedAndValid(wk.cheetah.eof.CTProgram)
@bci=5, line=130 (Compiled frame)
- wk.cheetah.eof.ProgramBehaviour
$Utilities.doesRequireAttention(wk.cheetah.eof.CTProgram) @bci=15,
line=120 (Compiled frame)
-
wk.cheetah.eof.JobsiteRadiusProgramBehaviour.doesRequireAttention()
@bci=4, line=148 (Compiled frame)
- wk.cheetah.eof.CTProgram.doesRequireAttention() @bci=4, line=425
(Compiled frame)
-
sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object,
java.lang.Object[]) @bci=6, line=25 (Compiled frame)
- java.lang.reflect.Method.invoke(java.lang.Object,
java.lang.Object[]) @bci=111, line=585 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCoding$ValueAccessor
$1.methodValue(java.lang.Object, java.lang.reflect.Method) @bci=3,
line=684 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCoding
$_MethodBinding.valueInObject(java.lang.Object) @bci=9, line=1160
(Compiled frame)
-
com
.webobjects.eocontrol.EOCustomObject.valueForKey(java.lang.String)
@bci=14, line=1559 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCoding
$Utility.valueForKey(java.lang.Object, java.lang.String) @bci=26,
line=498 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCodingAdditions
$DefaultImplementation.valueForKeyPath(java.lang.Object,
java.lang.String) @bci=19, line=212 (Compiled frame)
-
com
.webobjects
.eocontrol.EOCustomObject.valueForKeyPath(java.lang.String) @bci=2,
line=1675 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCodingAdditions
$Utility.valueForKeyPath(java.lang.Object, java.lang.String)
@bci=26, line=149 (Compiled frame)
-
com
.webobjects
.eocontrol.EOKeyValueQualifier.evaluateWithObject(java.lang.Object)
@bci=5, line=131 (Compiled frame)
-
com
.webobjects
.eocontrol
.EOQualifier
.filteredArrayWithQualifier(com.webobjects.foundation.NSArray,
com.webobjects.eocontrol.EOQualifier) @bci=55, line=635 (Compiled
frame)
- wk.cheetah.eof.CTLocation.requiresAttentionPrograms() @bci=22,
line=376 (Compiled frame)
-
sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object,
java.lang.Object[]) @bci=6, line=25 (Compiled frame)
- java.lang.reflect.Method.invoke(java.lang.Object,
java.lang.Object[]) @bci=111, line=585 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCoding$ValueAccessor
$1.methodValue(java.lang.Object, java.lang.reflect.Method) @bci=3,
line=684 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCoding
$_MethodBinding.valueInObject(java.lang.Object) @bci=9, line=1160
(Compiled frame)
-
com
.webobjects.eocontrol.EOCustomObject.valueForKey(java.lang.String)
@bci=14, line=1559 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCoding
$Utility.valueForKey(java.lang.Object, java.lang.String) @bci=26,
line=498 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCodingAdditions
$DefaultImplementation.valueForKeyPath(java.lang.Object,
java.lang.String) @bci=32, line=216 (Compiled frame)
-
com
.webobjects
.eocontrol.EOCustomObject.valueForKeyPath(java.lang.String) @bci=2,
line=1675 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCodingAdditions
$Utility.valueForKeyPath(java.lang.Object, java.lang.String)
@bci=26, line=149 (Compiled frame)
- com.webobjects.foundation.NSArray
$_Operator._operationValue(java.lang.Object, java.lang.String)
@bci=17, line=79 (Compiled frame)
- com.webobjects.foundation.NSArray
$_SumNumberOperator.compute(com.webobjects.foundation.NSArray,
java.lang.String) @bci=3, line=46 (Compiled frame)
-
com
.webobjects
.foundation.NSArray._valueForKeyPathWithOperator(java.lang.String)
@bci=71, line=744 (Compiled frame)
-
com.webobjects.foundation.NSArray.valueForKeyPath(java.lang.String)
@bci=16, line=778 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCodingAdditions
$Utility.valueForKeyPath(java.lang.Object, java.lang.String)
@bci=26, line=149 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCodingAdditions
$DefaultImplementation.valueForKeyPath(java.lang.Object,
java.lang.String) @bci=52, line=217 (Compiled frame)
-
com
.webobjects
.eocontrol.EOCustomObject.valueForKeyPath(java.lang.String) @bci=2,
line=1675 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCodingAdditions
$Utility.valueForKeyPath(java.lang.Object, java.lang.String)
@bci=26, line=149 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCodingAdditions
$DefaultImplementation.valueForKeyPath(java.lang.Object,
java.lang.String) @bci=52, line=217 (Compiled frame)
-
com
.webobjects.appserver.WOComponent.valueForKeyPath(java.lang.String)
@bci=2, line=1600 (Compiled frame)
-
com
.webobjects.appserver.WOComponent.valueForBinding(java.lang.String)
@bci=22, line=735 (Compiled frame)
- sun.reflect.GeneratedMethodAccessor261.invoke(java.lang.Object,
java.lang.Object[]) @bci=36 (Compiled frame)
-
sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object,
java.lang.Object[]) @bci=6, line=25 (Compiled frame)
- java.lang.reflect.Method.invoke(java.lang.Object,
java.lang.Object[]) @bci=111, line=585 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCoding$ValueAccessor
$1.methodValue(java.lang.Object, java.lang.reflect.Method) @bci=3,
line=684 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCoding
$_MethodBinding.valueInObject(java.lang.Object) @bci=9, line=1160
(Compiled frame)
- com.webobjects.foundation.NSKeyValueCoding
$DefaultImplementation.valueForKey(java.lang.Object,
java.lang.String) @bci=34, line=1268 (Compiled frame)
-
com.webobjects.appserver.WOComponent.valueForKey(java.lang.String)
@bci=2, line=1539 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCoding
$Utility.valueForKey(java.lang.Object, java.lang.String) @bci=26,
line=498 (Compiled frame)
- com.webobjects.foundation.NSKeyValueCodingAdditions
$DefaultImplementation.valueForKeyPath(java.lang.Object,
java.lang.String) @bci=19, line=212 (Compiled frame)
-
com
.webobjects.appserver.WOComponent.valueForKeyPath(java.lang.String)
@bci=2, line=1600 (Compiled frame)
-
com
.webobjects
.appserver
._private
.WOHTMLDynamicElement
._appendAttributesFromAssociationsToResponse
(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext,
com.webobjects.foundation.NSDictionary) @bci=60, line=317 (Compiled
frame)
-
com
.webobjects
.appserver
._private
.WOGenericElement
.appendAttributesToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=161, line=158 (Compiled
frame)
-
com
.webobjects
.appserver
._private
.WOGenericElement
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=60, line=181 (Compiled
frame)
-
com
.webobjects
.appserver
._private
.WOGenericContainer
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=3, line=29 (Compiled frame)
-
com
.webobjects
.appserver
.WOComponent.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=56, line=992 (Compiled
frame)
-
er
.extensions
.components
.ERXComponent.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=26, line=107 (Compiled
frame)
-
wk
.webobjects
.appserver
.WKAbstractComponent
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=30, line=457 (Compiled
frame)
-
com
.webobjects
.appserver
._private
.WOComponentReference
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=11, line=111 (Compiled
frame)
-
com
.webobjects
.appserver
._private
.WODynamicGroup
.appendChildrenToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=46, line=121 (Compiled
frame)
-
er
.extensions
.components
._private
.ERXWORepetition
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=90, line=508 (Compiled
frame)
-
com
.webobjects
.appserver
._private
.WODynamicGroup
.appendChildrenToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=46, line=121 (Compiled
frame)
-
com
.webobjects
.appserver
._private
.WODynamicGroup
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=3, line=130 (Compiled frame)
-
com
.webobjects
.appserver
._private
.WOComponentContent
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=36, line=43 (Compiled frame)
-
com
.webobjects
.appserver
._private
.WODynamicGroup
.appendChildrenToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=46, line=121 (Compiled
frame)
-
com
.webobjects
.appserver
._private
.WOGenericContainer
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=15, line=32 (Compiled frame)
-
com
.webobjects
.appserver
._private
.WODynamicGroup
.appendChildrenToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=46, line=121 (Compiled
frame)
-
com
.webobjects
.appserver
._private
.WODynamicGroup
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=3, line=130 (Compiled frame)
-
com
.webobjects
.appserver
.WOComponent.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=56, line=992 (Compiled
frame)
-
er
.extensions
.components
.ERXComponent.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=26, line=107 (Compiled
frame)
-
wk
.webobjects
.appserver
.WKAbstractComponent
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=30, line=457 (Compiled
frame)
-
wk
.cheetah
.wocomponents
.PageWrapper.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=505, line=247 (Interpreted
frame)
-
com
.webobjects
.appserver
._private
.WOComponentReference
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=11, line=111 (Compiled
frame)
-
com
.webobjects
.appserver
._private
.WODynamicGroup
.appendChildrenToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=46, line=121 (Compiled
frame)
-
com
.webobjects
.appserver
._private
.WODynamicGroup
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=3, line=130 (Compiled frame)
-
com
.webobjects
.appserver
.WOComponent.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=56, line=992 (Compiled
frame)
-
er
.extensions
.components
.ERXComponent.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=26, line=107 (Compiled
frame)
-
wk
.webobjects
.appserver
.WKAbstractComponent
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=30, line=457 (Compiled
frame)
-
wk
.cheetah
.wocomponents
.Customers.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=7, line=349 (Interpreted
frame)
-
com
.webobjects
.appserver
.WOSession.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=30, line=1200 (Interpreted
frame)
-
er
.extensions
.appserver
.ERXSession.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=11, line=540 (Interpreted
frame)
-
wk
.webobjects
.appserver
.WKSession.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=33, line=176 (Interpreted
frame)
-
wk
.cheetah
.Session.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=205, line=657 (Interpreted
frame)
-
com
.webobjects
.appserver
.WOApplication
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=100, line=1418
(Interpreted frame)
-
er
.extensions
.appserver
.ERXApplication
.appendToResponse(com.webobjects.appserver.WOResponse,
com.webobjects.appserver.WOContext) @bci=3, line=1789 (Interpreted
frame)
-
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
._dispatchWithPreparedPage(com.webobjects.appserver.WOComponent,
com.webobjects.appserver.WOSession,
com.webobjects.appserver.WOContext,
com.webobjects.foundation.NSDictionary) @bci=218, line=230
(Interpreted frame)
-
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
._dispatchWithPreparedSession(com.webobjects.appserver.WOSession,
com.webobjects.appserver.WOContext,
com.webobjects.foundation.NSDictionary) @bci=186, line=287
(Interpreted frame)
-
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
._dispatchWithPreparedApplication
(com.webobjects.appserver.WOApplication,
com.webobjects.appserver.WOContext,
com.webobjects.foundation.NSDictionary) @bci=84, line=322
(Interpreted frame)
-
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
._handleRequest(com.webobjects.appserver.WORequest) @bci=109,
line=358 (Interpreted frame)
-
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
.handleRequest(com.webobjects.appserver.WORequest) @bci=23,
line=432 (Interpreted frame)
-
com
.webobjects
.appserver
.WOApplication.dispatchRequest(com.webobjects.appserver.WORequest)
@bci=41, line=1306 (Compiled frame)
-
er
.extensions
.appserver
.ERXApplication
.dispatchRequestImmediately(com.webobjects.appserver.WORequest)
@bci=74, line=1887 (Compiled frame)
-
er
.extensions
.appserver
.ERXApplication.dispatchRequest(com.webobjects.appserver.WORequest)
@bci=13, line=1852 (Compiled frame)
- com.webobjects.appserver._private.WOWorkerThread.runOnce()
@bci=729, line=173 (Compiled frame)
- com.webobjects.appserver._private.WOWorkerThread.run() @bci=129,
line=254 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@84483: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Compiled frame; information
may be imprecise)
- java.lang.Object.wait() @bci=2, line=474 (Compiled frame)
- er.extensions.eof.ERXObjectStoreCoordinatorSynchronizer
$ProcessChangesQueue.run() @bci=31, line=573 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@84739: (state = BLOCKED)
- java.lang.Thread.sleep(long) @bci=0 (Interpreted frame)
- com.webobjects.appserver.WOApplication$_LifebeatThread.run()
@bci=233, line=1233 (Interpreted frame)
Thread t@84995: (state = BLOCKED)
- java.lang.Thread.sleep(long) @bci=0 (Interpreted frame)
- com.webobjects.appserver.WOSessionStore
$_SessionTimeoutManager.run() @bci=16, line=110 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
Thread t@85507: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Compiled frame; information
may be imprecise)
- java.lang.Object.wait() @bci=2, line=474 (Compiled frame)
- com.webobjects.eocontrol.EOObjectStoreCoordinator.lock() @bci=4,
line=466 (Compiled frame)
- com.webobjects.eocontrol.EOEditingContext.lockObjectStore()
@bci=41, line=4735 (Compiled frame)
- er.extensions.eof.ERXEC.lockObjectStore() @bci=7, line=668
(Compiled frame)
- com.webobjects.eocontrol.EOEditingContext._dispose(boolean)
@bci=181, line=1110 (Compiled frame)
- com.webobjects.eocontrol.EOEditingContext.finalize() @bci=9,
line=1178 (Interpreted frame)
- er.extensions.eof.ERXEC.finalize() @bci=62, line=653
(Interpreted 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
(Interpreted frame)
Thread t@85763: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Compiled frame; information
may be imprecise)
- java.lang.Object.wait() @bci=2, line=474 (Compiled frame)
Thread t@86019: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Interpreted frame)
-
com
.webobjects
.appserver
._WORunLoop
._acceptInputBeforeDate(com.webobjects.foundation.NSTimestamp)
@bci=98, line=217 (Interpreted frame)
-
com
.webobjects
.appserver
._WORunLoop.runBeforeDate(com.webobjects.foundation.NSTimestamp)
@bci=39, line=71 (Interpreted frame)
- com.webobjects.appserver.WOApplication._runOnce() @bci=17,
line=775 (Interpreted frame)
- com.webobjects.appserver.WOApplication.run() @bci=99, line=900
(Interpreted frame)
- er.extensions.appserver.ERXApplication.run() @bci=292, line=1225
(Interpreted frame)
- com.webobjects.appserver.WOApplication.main(java.lang.String[],
java.lang.Class) @bci=24, line=324 (Interpreted frame)
- er.extensions.appserver.ERXApplication.main(java.lang.String[],
java.lang.Class) @bci=6, line=716 (Interpreted frame)
- wk.cheetah.Application.main(java.lang.String[]) @bci=3, line=88
(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=111, line=585 (Interpreted frame)
- com.webobjects._bootstrap.WOBootstrap.main(java.lang.String[])
@bci=118, line=87 (Interpreted frame)
_______________________________________________
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
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
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