GemStone/S 64 Bit 3.2.10 is a new version of the GemStone/S 64 Bit object server. This release fixes a number of bugs, and adds a new configuration parameter; we recommend everyone using or planning to use GemStone/S 64 Bit v3.2.x upgrade to this new version.
These release notes provide changes between the previous version of GemStone/S 64 Bit, version 3.2.9, and version 3.2.10. If you are upgrading from a version prior to 3.2.9, review the release notes for each intermediate release to see the full set of changes.
For installation, upgrade and conversion instructions, use the Installation Guide for version 3.2.6.
GemStone/S 64 Bit version 3.2.10 is supported on the following platforms:
For more information and detailed requirements for supported platforms, please refer to the GemStone/S 64 Bit Installation Guide for that platform.
The following versions of GBS are supported with GemStone/S 64 Bit version 3.2.10. You must use GBS version 7.6.1 or later for VisualWorks, or 5.4.2 or later for VA Smalltalk with GemStone/S 64 Bit v3.2.10.
The following configuration parameter has been added. This allows errors such as out-of-range values to prevent the process from running rather than to use the default value.
CONFIG_WARNINGS_FATAL
If TRUE then any warning about invalid or out of range entries in a configuration file is treated as a fatal error terminating the process (Gem or Stone) that is reading the file. The last occurrence of this parameter in the configuration file controls the handling of errors. If the last occurrence is TRUE, then any warnings from parsing preceding configuration parameters are treated as fatal.
The following bugs have been fixed in v3.2.10:
When an application modifies an instance variable of an object that participates in an index, the index is automatically updated. If this value is a committed object that is not currently in temporary object memory, it is possible for this to SEGV. (#45742)
When a modified index is represented in memory in certain ways, and the session aborts, it was incorrectly treated as if it were a uncommitted index, and removed from the VM. This did not affect the committed state of the index. (#45689)
Under some circumstances, an internal value used by the ReclaimGem may become stale, resulting in the Reclaim Gem threads using CPU but without making progress for 5-minute intervals. (#45720)
If an AlmostOutOfMemory was signalled while the process had recursed from C back into Smalltalk, it was not correctly deferred or handled. This resulted in an error that prevented commit, with an uninformative message "ErrorC during index Recursion to Smalltalk".
Version 3.2.9 included fixes for this that did not entirely address the problems; there are further fixes in v3.2.10. (#45633)
During the process of the NetLDI forking a child process, if there is a failure in certain paths of the fork sequence, the socket that had been created was not cleaned up. This socket leak eventually resulted in the NetLDI running hot. (#45738)
When GEM_READ_AUTH_ERR_STUBS is set to TRUE, read authorization errors on the client should appear as UnauthorizedObjectStub object, and not trigger an error. However, in a case where a readable object is replicated on the client, and another session changes the authorization so the client no longer has read access, the client saw an GbsAuthErrSegRead error on their next commit/abort. (#45695)