...
A current app I'm working freezes up for about a minute when calling editingContext.saveChanges. The following message is added to the system output:
Code Block | ||||
---|---|---|---|---|
| ||||
<WorkerThread3> <WOWorkerThread id=3 socket=Socket[addr=/xxx.xxx.xxx.xxx,port=51634,localport=51563]> Exception while sending response: java.net.SocketException: Broken pipe |
...
- Optimize your application so that the request is processed more quickly.
- Use the WOLongReponsePage to handle long running requests.
- Increase the Connect Timeout and Receive Timeout values in JavaMonitor so that the woadaptor will wait long enough for your application to provide the response.
...
Note |
---|
If this message happens in other contexts (i.e. not when a request takes a long time to process) it might just mean that the user hit stop in their browser or clicked another link.
Note |
---|
Where's my stderr!?
Wotaskd launches new WOA instances using a script called SpawnOfWotaskd.sh that is located in /System/Library/WebObjects/JavaApplications/wotaskd.woa/Contents/Resources/SpawnOfWotaskd.sh on OS X. For some reason, this script was written to throw away stdout and redirrect stderr to stdout. This means that if you ever want to get a thread stack dump, you're out of luck. Fortunately this is an easy fix. If you edit SpawnOfWotaskd.sh, the stock version looks like:
...
Running this following command in a terminal window will tell you exactly why wotaskd is not launching...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
sudo -u appserver /System/Library/WebObjects/JavaApplications/wotaskd.woa/Contents/Resources/javawoservice.sh \ -appPath /System/Library/WebObjects/JavaApplications/wotaskd.woa/wotaskd |
...