On Aug 14, 2008, at 11:49 AM, Alan Zebchuk wrote:
On 14-Aug-08, at 9:26 PM, Chuck Hill wrote:
On Aug 14, 2008, at 9:48 AM, Alan Zebchuk wrote:
Has anyone ever seen a case where multiple instances of an app
become non-responsive almost simultaneously?
The log file has this:
2008-08-14 11:50:22,348 DEBUG MyApp[72021:2023 23] NSLog
(ERXNSLogLog4jBridge.java:46) -
<com.webobjects.appserver._private.WODefaultAdaptor>: Growing
number of WOWorkerThreads to 32
2008-08-14 11:50:52,350 DEBUG MyApp[72020:2009 34] NSLog
(ERXNSLogLog4jBridge.java:46) -
<com.webobjects.appserver._private.WODefaultAdaptor>: Growing
number of WOWorkerThreads to 32
I'd take that as an almost certain sign of deadlock. It might be
on the database if this happens to all instances almost
simultaneously. It could also be a very sharp, sudden spike in load.
The applications has a fairly consistent load.
Are you dispatching requests concurrently?
But no further information.
The projects are both using Wonder and have all the automatic
editing context locking enabled.
Any help is greatly appreciated.
When this happens, get a thread dump of each instance. Without
that, you are just guessing.
http://www.gvcsitemaker.com/gvc.webobjects/faq&mode=single&recordID=41413
I have a thread dump. In both cases, there's 1 thread that's IN_NATIVE
Thread [EMAIL PROTECTED]: (state = IN_NATIVE)
- java.net.PlainSocketImpl.socketAccept(java.net.SocketImpl) @bci=0
(Interpreted frame)
- java.net.PlainSocketImpl.accept(java.net.SocketImpl) @bci=7,
line=384 (Interpreted 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 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
And all the other threads are BLOCKED:
Thread [EMAIL PROTECTED]: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Interpreted frame)
- java.lang.Object.wait() @bci=2, line=474 (Interpreted frame)
- com.webobjects.foundation.NSMultiReaderLock$ConditionLock.await()
@bci=12, line=506 (Interpreted frame)
- com.webobjects.foundation.NSMultiReaderLock._lockForWriting()
@bci=92, line=204 (Compiled frame)
- com.webobjects.foundation.NSMultiReaderLock.lockForWriting()
@bci=8, line=165 (Compiled frame)
-
com
.webobjects
.eocontrol
.EOEditingContext
.objectsWithFetchSpecification
(com.webobjects.eocontrol.EOFetchSpecification,
com.webobjects.eocontrol.EOEditingContext) @bci=70, line=4112
(Interpreted frame)
-
er
.extensions
.eof
.ERXEC
.objectsWithFetchSpecification
(com.webobjects.eocontrol.EOFetchSpecification,
com.webobjects.eocontrol.EOEditingContext) @bci=10, line=1109
(Interpreted frame)
-
com
.webobjects
.eocontrol
.EOEditingContext
.objectsWithFetchSpecification
(com.webobjects.eocontrol.EOFetchSpecification) @bci=3, line=4500
(Interpreted frame)
-
com
.webobjects
.eoaccess
.EOUtilities
.objectWithPrimaryKey(com.webobjects.eocontrol.EOEditingContext,
java.lang.String, com.webobjects.foundation.NSDictionary) @bci=34,
line=433 (Interpreted frame)
-
com
.webobjects
.eoaccess
.EOUtilities
.objectWithPrimaryKeyValue
(com.webobjects.eocontrol.EOEditingContext, java.lang.String,
java.lang.Object) @bci=10, line=405 (Interpreted frame)
NSMultiReaderLock. Sniff. Smells like EOSharedEditingContext. I
don't use it, but my first guess is mis-use of the shared EC. And EOF
deadlock somehow or other.
Chuck
--
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-deploy mailing list (Webobjects-deploy@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-deploy/archive%40mail-archive.com
This email sent to [EMAIL PROTECTED]