Re: Session locks up and will not die - new revalations
Re: Session locks up and will not die - new revalations
- Subject: Re: Session locks up and will not die - new revalations
- From: Chuck Hill <email@hidden>
- Date: Thu, 20 Nov 2003 20:13:47 -0800
That looks vaugely familiar. File handles and sockets come from the same
resource pool. The problem is likely too many open sockets rather than too
many open files. It could be the result of something else on the machine,
not your application. One thing to check is the web server log to see what
is producing the requests.
Another possible explanation is:
-----------------------------------
It seems that this problem is becoming more common. I have not found the
root cause, but there are a couple af ways to keep things running so that
WebObjects is functional. This describes what works for us:
The problems seem to come from wotaskd and killing this daemon will clear
up the problems, at least for a while. There are a number of ways of
killing this daemon:
1) the command
/System/Library/Startupitems/WebObjects/WebObjects restart
should restart the wotaskd. It will also restart JavaMonitor if that has
been enabled in the script. Unfortunately on our systems the script has a
bug that prevents the script from stopping the daemon(s). This can be
fixed by removing the lines
local PSCOMMAND="$PS -jaxwwwww"
and then replacing $PSCOMMAND with $PS -jaxwwwwww in the rest of the file.
2) it is also possible to kill the processes manually if you are familar
with unix process control commands. First find the process woservice.sh
that started the wotaskd, then find the children of that process.
kill the children, then kill the parent and finally restart wotaskd either
manually or use the script
/System/Library/Startupitems/WebObjects/WebObjects start
This script will also try to restart JavaMonitor so beware.
3) the command
killall java
will kill all java processes, wotaskd, JavaMonitor and all WebObjects
applications as well as any other java processes. This works on our
systems because we do not have java processes not associated with
WebObjects. The WebObjects processes will restart automatically. There is
a long term problem with this method however. Each time the processes are
restarted the wait period is doubled, so after a while the system will
sleep for 5, 10 then 20 minutes before restarting the processes. When this
happens the woservices process must be restarted (see the above methods).
Any comments or other fixes are welcome.
Martin Hofmann
-----------------------------------
Chuck
At 01:30 PM 21/11/2003 +1300, Denis Stanton wrote:
>I've been getting some help from this list with a problem that occurs
>about once each day on my deployed app. The user will get no response
>while using a session. They can usually just log in again, but the old
>session never times out and cannot be shut down.
>
>It happened this morning, but this time starting a new instance only
>provided a short respite before it happened again. I made them wait
>while I took a backup copy of the database from the server onto my
>desktop. In the course of this I also tried to copy the log file and
>found to my amazement that it was 635.8 MB. I checked back and found
>that while most log files were 4 - 400 K, I have some registering 257
>MB and 754 MB. These were a bit much to recover to my Mac from the
>Server which is miles away across town, while I have not-very-broadband
>128k DSL
>
>The huge log files are filled with the following:
>[2003-11-21 12:00:37 NZDT] <WorkerThread138> <WOWorkerThread id=138
>socket=null> IOException occurred while accepting server socket:
>java.net.SocketException: Too many open files
>[2003-11-21 12:00:37 NZDT] <WorkerThread163> <WOWorkerThread id=163
>socket=null> IOException occurred while accepting server socket:
>java.net.SocketException: Too many open files
>[2003-11-21 12:00:37 NZDT] <WorkerThread168> <WOWorkerThread id=168
>socket=null> IOException occurred while accepting server socket:
>java.net.SocketException: Too many open files
>[2003-11-21 12:00:37 NZDT] <WorkerThread170> <WOWorkerThread id=170
>socket=null> IOException occurred while accepting server socket:
>java.net.SocketException: Too many open files
>[2003-11-21 12:00:37 NZDT] <WorkerThread182> <WOWorkerThread id=182
>socket=null> IOException occurred while accepting server socket:
>java.net.SocketException: Too many open files
>[2003-11-21 12:00:37 NZDT] <WorkerThread195> <WOWorkerThread id=195
>socket=null> IOException occurred while accepting server socket:
>java.net.SocketException: Too many open files
>
>and so on for another 600+ MB.
>
>Please can someone tell me what this means? Who has to many files? I
>just use EOM to communicate with a MySQL database. It looks like one
>file to me.
>
>I'm using Mac OS X 10.2.8. WebObjects 5.2.1 and MySQL
>MySQL is either 4.0.14 or 4.0.16, I'm not sure if I updated the server/
>My SQL connector is 3.0.1 or 3.0.9
>
>Denis Stanton
>email@hidden
>Home: (09) 533 0391
>mobile: 021 1433622
>_______________________________________________
>webobjects-dev mailing list | email@hidden
>Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/webobjects-dev
>Do not post admin requests to the list. They will be ignored.
>
--
Chuck Hill email@hidden
Global Village Consulting Inc. http://www.global-village.net
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.