WebObjects 4.5.1 Update 4 includes all of the fixes from all previous WebObjects 4.5.1 Updates. If you have already installed any WebObjects 4.5.1 Update, you can install Update 4 over your existing installation. If you have not installed any WebObjects 4.5.1 Update, you only need to install Update 4.
The WebObjects Current Patch List, document 70037, contains information on all available patches and updates for all versions of WebObjects. Please read this document if you're not sure which updates you need on your system.
If you attempt to rebuild the Apache adaptor on Mac OS X (Server) 10.1.x, you will see an "Undefined symbols" link error related to the two level namespace changes in Mac OS X 10.1 (Apple reference #2795562). In order to build the adaptor successfully on Mac OS X 10.1, you will need to add the linker flag "-flat_namespace". This can be added in ProjectBuilderWO using the Build Attributes panel in the Project Inspector.
WebObjects 4.5.1 Update 4 for Mac OS X (Server) 10.1 and later (Software Update)
There are two mutually exclusive updates for this platform. If you have WebObjects 4.5.1 Developer installed on Mac OS X, you need WebObjects 4.5.1 Developer Update 4. If you have WebObjects 4.5.1 Deployment installed on Mac OS X Server, you need WebObjects 4.5.1 Deployment Update 4. You do not need both on any system.
This update is available through the Software Update feature of Mac OS X. If you use Software Update to install this update, only the proper update for the software which you have installed on your system will be visible and available for download. If you prefer to download and install the package manually, follow the instructions in the section titled "Installing WebObjects 4.5.1 Update 4 on Mac OS X (Server) 10.1 (Manual Download)", below.
Note: WebObjects 4.5.1 Developer Update 4 requires Mac OS X 10.1.3 or later plus the December 2001 Mac OS X Development Tools. WebObjects 4.5.1 Deployment Update 4 requires Mac OS X Server 10.1.3 plus the 10.1.2 Server Update or later. If you have not updated to the correct version of Mac OS X (Server), you must do so before installing WebObjects 4.5.1 Update 4.
If you are creating a new Mac OS X WebObjects 4.5.1 development system, you should install the software in the following order:
2. Mac OS X 10.1.3 update
3. December 2001 Mac OS X Development Tools
4. WebObjects 4.5.1 Developer
5. WebObjects 4.5.1 Developer Update 4
2. December 2001 Mac OS X 10.1 Development Tools
3. WebObjects 4.5.1 Developer Update 4
Installing WebObjects 4.5.1 Update 4 on Mac OS X (Server) 10.1 (Manual Download)
These instructions are for manually downloading and installing WebObjects 4.5.1 Update 4. If you are installing using Software Update, see the section titled "WebObjects 4.5.1 Update 4 for Mac OS X (Server) 10.1 and later (Software Update)", above.
Note: WebObjects 4.5.1 Developer Update 4 requires Mac OS X 10.1.3 or later plus the December 2001 Mac OS X Development Tools. WebObjects 4.5.1 Deployment Update 4 requires Mac OS X Server 10.1.3 plus the 10.1.2 Server Update or later. If you have not updated to the correct version of Mac OS X (Server), you must do so before installing WebObjects 4.5.1 Update 4.
2. Untar the update package.
Your web browser may perform this step for you.
3. Double-click on the update package you downloaded in step 1.
The Authorization panel opens.
4. You need to install the update as root.
If you do not have the Administrator password, see your system administrator. Click the lock icon at the bottom left of the panel to authenticate as the root user. Enter Name: "root" and Password: "<root password>" and click the OK button.
Important: You have to be logged in as "root" user in order to perform the installation. Logging in as "Administrator", or authenticating as "root" is insufficient. Failure to follow this requirement will result in an installation failure.
5. Click Continue in the Introduction panel.
6. Read the software license agreement then click Continue.
7. To agree to the license and continue the installation, click Agree.
8. Select the volume that contains Mac OS X (Server) and WebObjects 4.5.1, then click Continue.
9. Make sure that there are no WebObjects or EOF applications running.
10. Click Install to proceed with installation.The Installer window displays information about the progress of the installation, which may take several minutes.
11. Restart your computer.
There are two mutually exclusive updates for this platform. If you have WebObjects 4.5.1 Developer installed, you need WebObjects 4.5.1 Developer Update 4. If you have WebObjects 4.5.1 Deployment installed, you need WebObjects 4.5.1 Deployment Update 4. You do not need both on any system.
2. Untar the update package.
Your web browser may perform this step for you.
3. Log in as root on your Mac OS X Server 1.2 system.
If you're not sure how to log in as root, see your system administrator.
4. Double-click on the update package you downloaded in step 1.
5. Click the Install button in the Installer package window.
An Install Package panel opens.
6. Make sure that there are no WebObjects or EOF applications running.
7. Click 'Install' in the Install Package panel and, when prompted for confirmation, click OK to proceed. The Installer window displays information about the progress of the installation, which may take several minutes.
8. If desired, manually install the updated .jar file needed to resolve "WOCollapsibleContent doesn't initialize correctly (Apple reference #2709677)" by copying them to your web server's document root as described in detail in the release note below.
9. When the installation completes, restart the computer.
Log out and use the reboot button on the login panel.
There are two mutually exclusive updates for this platform. If you have WebObjects 4.5.1 Developer installed, you need WebObjects 4.5.1 Developer Update 4. If you have WebObjects 4.5.1 Deployment installed, you need WebObjects 4.5.1 Deployment Update 4. You do not need both on any computer.
2. Log in as a user with Administrator privileges.
3. Make sure that there are no WebObjects or EOF applications running.
4. Double-click on the update installer you downloaded in step 1 to start the installation process.
A screen with information about this update appears.
5. Read the update information.
6. Click "Next" to continue.
7. The license agreement for this update appears.
To agree to the license and continue the installation, click "Yes".
8. The update will be installed on your computer and you will be asked if you want to restart.
Select "Yes, I want to restart my computer now" to restart your computer. There will be a brief delay while the WinZip self-extractor removes its temporary files.
9. If desired, manually install the updated .jar file needed to resolve "WOCollapsibleContent doesn't initialize correctly (Apple reference #2709677)" by copying them to your web server's document root as described in detail in the release note below.
2. Log in as root.
3. Make sure that there are no WebObjects or EOF applications running, including Monitor.
4. If a web server is running on the computer on which you are installing the update, stop it.
5. Stop WebObjects services (wotaskd and woservice) using the WOServices script.
At the command prompt enter:
cd $NEXT_ROOT/Library/WebObjects/Executables
./WOServices stop
These services will be restarted when you restart after installing the update.
6. To Install the update, cd to the directory containing the update and the patcher.sh installation script.
At the command prompt enter:
patcher.sh -install WO451SolarisUpdate2.TAR.Zorpatcher.sh -install WO451HPUXUpdate2.TAR.Z
For more information on using patcher.sh, at the command prompt enter:
patcher.sh -help
7. If desired, manually install the updated .jar file needed to resolve "WOCollapsibleContent doesn't initialize correctly (Apple reference #2709677)" by copying them to your web server's document root as described in detail in the release note below.
8. Restart your computer.
Test configuration data left in obj.conf file for the NSAPI adaptor
Apple Reference 2420536
ISSUE:
Some test configuration data was left in the sample obj.conf file for the NSAPI plugin adaptor.
RESOLUTION:
The extra text has been removed.
Monitor Adaptor settings are inconsistent between display, Monitor, and Adaptor
Apple Reference 2464532
ISSUE:
Adaptor settings in Monitor were displayed as integers but stored as decimals. They were then sent as decimals to the adaptor, where they were translated back to integers.
RESOLUTION:
Monitor now stores adaptor settings as integers.
ISAPI does not upload files larger than 64k
Apple Reference 2488931
ISSUE:
Some customers have reported receiving socket errors ("socket not connected") when attempting to upload large files using the ISAPI adaptor.
RESOLUTION:
The ISAPI adaptor has been modified to allow successful uploading of files larger than 64 KB.
Oracle adaptor raises with pessimistic locking
Apple Reference 2512093
ISSUE:
Fetching objects using pessimistic locking and then attempting to save changes to the fetched objects results in the Oracle adaptor raising an exception. The exception says "attempted to begin a transaction within a transaction".
RESOLUTION:
EOF has been modified to not begin a new transaction when saving changes to an object that was fetched with pessimistic locking enabled.
WOCollapsibleContent doesn't initialize correctly
Apple Reference 2709677
ISSUE:
WOCollapsibleContent's -isVisible method incorrectly initializes the visible state when dynamically bound.
RESOLUTION:
This problem has been corrected. This change affects the following file in the WODocument root:
$NEXT_ROOT/Library/WebObjects/WODocumentRoot/WebObjects/Java/woextensions.jar
This update places an upgraded version of this file in the WebObjects installation. To enable this fix for deployment this file must be manually replaced in the web server document root in the following location:
{web server doc root}/WebObjects/Java/woextensions.jar
WOMultiThreadedAdaptor hardcodes '256' rather than using FD_SETSIZE
Apple Reference 2730943
ISSUE:
WOMultiThreadedAdaptor uses a hardcoded '256' as a limit for the maximum number of simultaneous open connections, but uses select() along with the FD_SET and related macros to service the connections. On Windows the default FD_SETSIZE is less than 256, so it is possible that on a busy site some connections will be accepted but never serviced.
RESOLUTION:
On the Windows platform only the WebObjects framework has been modified to change the limit for the maximum number of simultaneous open connections to 64. On the other platforms the number remains unchanged at 256.
FD_xxx macros used without locks
Apple Reference 2730945
ISSUE:
The FD_SET and related macros are used by WebObject applications in servicing requests. When the application side adaptor is running multithreaded there may be synchronization issues in its use of these macros. (These issues are most likely to manifest as problems on Windows due to the way the macros are implemented on that platform.)
RESOLUTION:
Locking code has been added to the WebObjects framework to prevent data synchronization issues associated with the FD_xxx macros in the application side adaptor.
WONonBlockingAccept can return 0 on windows
Apple Reference 2730951
ISSUE:
Under heavy load on an MP Windows system, low level socket functions can be blocked because of interaction between the NT/MP code and the NIC. This can cause an incorrect value (0) to be returned from accept() to WebObjects applications.
RESOLUTION:
A Windows specific change has been made to the WebObjects framework to detect and work around this situation.
Monitor identified P4 processor as PowerPC (603e)
Apple Reference 2731079
ISSUE:
Wotaskd running on Microsoft Windows would report the processor as a PowerPC 603e when the real processor was a P4.
RESOLUTION:
This problem has been corrected.
HTTP Adaptors catch wrong error message on Microsoft Windows
Apple Reference 2751677
ISSUE:
The WebObjects adaptor uses the error codes EPIPE and EMSGSIZE when checking return values from certain system calls. These are incorrect on the Windows platform.
RESOLUTION:
The adaptor has been changed to use WSACONNECTABORTED and WSAEMSGSIZE on Windows instead.
WOHyperlink queryDictionary/fragmentIdentifier combo results in wrong HTML
Apple Reference 2789133
ISSUE:
In some circumstances the WebObjects framework generates URLs which have the query string and fragment identifier interchanged.
RESOLUTION:
This problem has been corrected.
WOAdaptor does not set request->content when request->method is not 'POST'
Apple Reference 2793625
ISSUE:
If the request method is other than 'POST' and the request content length is nonzero, the request content is not properly initialized. This can cause a web server crash.
RESOLUTION:
The request content is now properly initialized in this case.
Buffer overflow in WOAdaptors
Apple Reference 2795823
ISSUE:
The WebObjects adaptor code allocates a buffer which could be one byte too small. This could cause a one byte buffer overrun if a very long host name is used.
RESOLUTION:
This problem has been corrected.
Instance launched on the wrong host
Apple Reference 2796516
ISSUE:
There was a race condition where an incoming lifebeat could cause wotaskd to launch an instance on the wrong host.
RESOLUTION:
This problem has been corrected.
malloc off-by-one in adaptors
Apple Reference 2802333
ISSUE:
The WebObjects adaptor allocates a buffer which is one byte too small.
RESOLUTION:
This problem has been corrected.
Monitor becomes unusable when server is down
Apple Reference 2823824
ISSUE:
Several of Monitor's pages (Hosts, Applications, DetailPage) attempt to contact each host's wotaskd for each instance configured. This causes Monitor to be very slow to respond when a server is down.
RESOLUTION:
Monitor has been changed to cache the state of hosts and instances. The cache timeouts can be changed using the defaults mentioned below. During development you will likely want to set the timeouts to a lower value.
WOMonitorHostCacheTimeout | 40 seconds by default |
WOMonitorInstanceCacheTimeout | 25 seconds by default |
old Foundation version installed
Apple Reference 2830592
ISSUE:
Some installation configurations could result in an old version of Foundation being installed. See Apple Knowledge Base article 75198, "WebObjects 4.5.1: Earlier Foundation Framework Installed In Certain Configurations" for the details.
RESOLUTION:
The update for Windows Deployment installs the correct version of Foundation.dll. For other affected configurations, follow the instructions in the KBase article.
Corrected in WebObjects 4.5.1 Update 3
wotaskd sometimes returns content length 0
Apple Reference 2744196
ISSUE:
On Mac OS X 10.1 wotaskd sometimes returns empty content for all requests, depending on how it is started.
RESOLUTION:
This problem has been corrected.
ObjC apps raise when running on Mac OS X 10.1
Apple Reference 2757892
ISSUE:
In Mac OS X 10.0.x, immutable collections in Foundation were implemented as mutable collections. In Mac OS X 10.1, the collection implementations were changed so that immutable collections were actually immutable. This change was incompatible with WebObjects 4.5.1.
RESOLUTION:
WebObjects.framework now uses a compatibility mode in Foundation in which all collections are mutable.
WebObjects Builder broken after upgrading to Mac OS X 10.1
Apple Reference 2782527
ISSUE:
The upgrade installer for Mac OS X 10.1 removes HTMLEditing.framework from the system. Since WebObjects Builder depends on this framework, it will no longer run. Upon launching WebObjects Builder, you will see the following error message:
dyld: /Developer/Applications/WebObjects Builder.app/Contents/MacOS/WebObjects Builder can't open library:
/System/Library/PrivateFrameworks/HTMLEditing.framework/Versions/A/HTMLEditing
(No such file or directory, errno = 2)
RESOLUTION:
The update installs the version of HTMLEditing.framework shipped with WebObjects 4.5.1.
"Save as" does not change the name in the title bar for a model
Apple Reference 2796022
ISSUE:
After performing a "Save as" operation, EOModeler does not change the name of the model in the window title bar.
RESOLUTION:
The window title bar now properly reflects the new name of the model.
WOSendMail calls obsolete methods on NSUserDefaults
Apple Reference 2798848
ISSUE:
WOSendMail calls several obsolete NSUserDefaults methods, which caused warning messages to be printed.
RESOLUTION:
WOSendMail no longer calls the obsolete methods.
wotaskd and Monitor run with unexpected defaults on Mac OS X 10.1
Apple Reference 2802265
ISSUE:
The user defaults system changed between Mac OS X 10.0.x and Mac OS X 10.1. This causes Monitor and wotaskd to run with an unexpected set of defaults.
RESOLUTION:
Monitor and wotaskd have been modified to work properly with the user defaults system on Mac OS X 10.1.
Corrected in WebObjects 4.5.1 Update 2
Wrong Swing method in IB code generation for NSTableView
Apple Reference 2453148
ISSUE:
Swing code generated by InterfaceBuilder improperly uses setWidth instead of setPreferredWidth for NSTableView.
RESOLUTION:
This has been corrected.
woservice has a small memory leak
Apple Reference 2491807
ISSUE:
woservice has a small memory leak each time it launches the application it watches.
RESOLUTION:
The leak has been removed.
WOSession leaks an ivar
Apple Reference 2503730
ISSUE:
WOSession leaked an ivar when deallocated.
RESOLUTION:
This has been corrected.
NSAttributeDictionary methods crash if +initialize hasn't completed
Apple Reference 2529298
ISSUE:
A multithreaded application can crash if NSAttributeDictionary methods are called before its +initialize method has finished executing.
RESOLUTION:
NSAttributeDictionary is now initialized early in the application's startup.
Snapshot ref counting problem when inserting into and deleting parent/child ECs
Apple Reference 2609375
ISSUE:
Certain sequences of operations involving nested editing contexts can cause problems with the snapshot reference count.
RESOLUTION:
Snapshot reference counts are now properly maintained. Correcting this problem required adding an instance variable to the EOEditingContext class, changing the size of an EOEditingContext instance. This breaks binary compatibility for customers that subclass EOEditingContext and add ivars. Customers who do this must recompile.
direct action URL generation missing instance numbers
Apple Reference 2616937
ISSUE:
Under certain circumstances WebObjects would not include an instance number when generating a URL for a direct action. This could cause the WebObjects adaptor to load balance to a different instance which does not contain the user's session.
RESOLUTION:
URL generation for direct actions has been modified to preserve the instance number when appropriate.
Monitor/wotaskd could not tell the difference between Mac OS X Server 1.2 and Mac OS X Server 10.0.x
Apple Reference 2657074
ISSUE:
Monitor/wotaskd used a compile time method to determine the OS reported in Monitor's Hosts page. A Mac OS X 10.0.x machine was reported as Mac OS X Server.
RESOLUTION:
Mac OS X (Server) 10.0.x now reports the information in /System/Library/CoreServices/SystemVersion.plist. Mac OS X Server 1.2 will report as "Mac OS X Server".
Server-side WebAssistant launch line incorrect
Apple Reference 2661845
ISSUE:
If your DirectToWeb application uses '-D2WWebAssistantEnabled YES' as a command line argument rather than programmatically setting it after the application has finished launching, the port number will not yet be set and the server-side WebAssistant launch line will print with the incorrect port number -1, as in the following example:
appletviewer http://localhost:-1/cgi-bin/WebObjects/Administrate.woa/wa/D2WActions/openWebAssistant
RESOLUTION:
Specify a real port number in the appletviewer launch command, or specify a port at launch using the -WOPort <#> command line argument.
Adding an object to an owns relationship always puts it in the "inserted" list
Apple Reference 2663566
ISSUE:
Adding an object which has already been saved to an owns relationship always puts it in the list of 'inserted' objects. This creates an inconsistency when saving changes.
RESOLUTION:
EOControl has been modified to check whether the object is already in the editing context before adding it to the inserted list.
Sessionless direct action development apps inaccessible via web server
Apple Reference 2663739
ISSUE:
An instance of a sessionless direct action application does not include the instance id in the URL generated by WOHyperlink. As a result, this type of application is not accessible through the WebObjects web server adaptor when running as a development instance.
RESOLUTION:
URL generation has been modified to include the instance number for development instances.
Adaptor XML parser can crash with bad syntax
Apple Reference 2664670
ISSUE:
Certain textual formatting errors in the XML configuration file for the WebObjects HTTP adaptor can cause the adaptor to crash. (Note that wotaskd produces correct XML, so this only applies if a file is being used to configure the adaptor.)
RESOLUTION:
The XML parser has been modified to correctly handle the case that was causing the crash.
CreatePlots and LongRequest examples fail to clean or build on MOSXS 1.2
Apple Reference 2667045
ISSUE:
These two examples cannot be cleaned or built on Mac OS X Server 1.2 because the path to gnumake defined in PB.project is incorrect for this platform.
RESOLUTION:
The PB.project files for these two examples have been corrected.
NSUnarchive exception when running SetupWizard.app in the EOF Examples on MacOS X Server 1.2
Apple Reference 2673597
ISSUE:
The nibs in the EOF examples were corrupted in the shipping version of WebObjects 4.5.1.
RESOLUTION:
The update replaces the corrupted nibs with the correct files.
Time zone updates missing on Windows
Apple Reference 2678768
ISSUE:
Several files needed to resolve the issues originally resolved in WebObjects 4.0.1 Patch 2 and WebObjects 4.5 Update 3 (see Apple reference #2406610 in either update overview in the Knowledge Base for details) were omitted from WebObjects 4.5.1 on the Windows platform only.
RESOLUTION:
This update includes the missing files for Windows.
Update 4.5.1 adaptor to 5.0 GM version
Apple Reference 2691647
ISSUE:
Some changes were made to the WebObjects adaptor between the WebObjects 4.5.1 release and the WebObjects 5.0 release.
RESOLUTION:
This update includes all the source changes to the WebObjects adaptor up to the WebObjects 5.0 release. (This update also includes changes which were made after the WebObjects 5.0 release. These are documented separately.)
EOTextAssociation does not recognize Mac OS X rtf header "{\\\\rtf1" and throws an exception
Apple Reference 2695698
ISSUE:
New RTF data generated on Mac OS X 10.0.x uses the header "{\\\\rtf1" where previous WebObjects platforms used "{\\\\rtf0".
RESOLUTION:
EOTextAssociation has been updated to handle the new RTF signature properly.
WebObjects 4.5.1 adaptor source won't compile on MOSXS 1.2
Apple Reference 2696008
ISSUE:
The Mac OS X Server 1.2 installation includes sources for the WebObjects 4.0.1 adaptor. Installing the WebObjects 4.5.1 adaptor on a system with the 4.0.1 sources results in an incompatible mix of files from the two versions.
RESOLUTION:
This update removes any existing installed adaptor source on Mac OS X Server 1.2 and Mac OS X (Server) 10.0.x. The full WebObjects adaptor source is included in the update and installed on all platforms.
EOPalette raises when opening connection inspector
Apple Reference 2732969
ISSUE:
EOPalette sometimes raised an exception when the user selected the Connections inspector. This prevented the developer from changing or creating connections in existing nib files.
RESOLUTION:
This has been corrected.
Corrected in WebObjects 4.5.1 Update 1
WebObjects 4.5.1 Update 1 was applicable only to Mac OS X 10.0.x systems with WebObjects 4.5.1 Developer installed. It did the following: