WebObjects 4.5.1: WebObjects 4.5.1 Update 4 Overview

This document contains an overview and download information for Apple's Update 4 for WebObjects Release 4.5.1. Apple recommends that all users of WebObjects 4.5.1 install this update on all platforms.

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.

This update includes modified WebObjects HTTP Adaptor binaries. On Mac OS X (Server) 10.1 and later, the update installer automatically places the modified adaptor binaries in the appropriate Web server directory. On Mac OS X Server 1.2, Windows, Solaris, and HP-UX, an extra step is needed to use the new adaptor binaries after installing the update. After the update installer places the modified adaptor binaries in the WebObjects installation, you must manually install them in the correct location for the Web server being used. Refer to the WebObjects documentation for more detailed instructions on how to do this on your system. The update also includes a complete set of updated adaptor source files to match the modified binaries.

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:


If you are upgrading an existing Mac OS X WebObjects 4.5.1 development system, you should install the software in the following order:
Important: Whether you are using Software Update or installing the update manually, you must 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 results in a failed installation. You must also ensure that no WebObjects or EOF applications are running during the installation of the update.

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.


Installing WebObjects 4.5.1 Update 4 on Mac OS X Server 1.2

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.


Installing WebObjects 4.5.1 Update 4 on Windows NT 4.0 or Windows 2000

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.


Installing WebObjects 4.5.1 Update 4 on Solaris and HP-UX
Corrected in WebObjects 4.5.1 Update 4

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:


Published Date: Oct 10, 2016