

GemStone/S 64 Bitâ„¢ 3.7.2.2 is a new version of the GemStone/S 64 Bit object server, fixing a rare but potentially critical bug. Version 3.7.2.2 also includes a small number of other bug fixes and minor changes.
These Release Notes include changes between the previous version of GemStone/S 64 Bit, v3.7.2, and v3.7.2.2. v3.7.2.1 was a limited distribution release; all changes in that version are included in these Release Notes. If you are upgrading from a version prior to 3.7.2, review the release notes for each intermediate release to see the full set of changes.
The Installation Guide has not been updated for this release. For installation, upgrade and conversion instructions, use the Installation Guide for version 3.7.2.


GemStone/S 64 Bit version 3.7.2.2 is supported on the following platforms:
For more information and detailed requirements for each supported platforms, please refer to the GemStone/S 64 Bit v3.7.2 Installation Guide for that platform.

The following versions of GBS are supported with GemStone/S 64 Bit version 3.7.2.2:

The GemStone/S 64 Bit v3.7.2.2 distribution includes a prerelease version of VSD 5.6.5. The previous release, v3.7.2, contained VSD v5.6.1. v5.6.5 includes new features that allows limiting the view by the number of samples, and allow display of PIDs in legends. For changes in versions of VSD through 5.6.4, see https://gemtalksystems.com/products/vsd/history/.


If the stone is stopped or shuts down while there is a commit record backlog, on restart it disposes of the commit record backlog. If there is a low free space condition in the extent space while it is disposing of the commit record backlog that was found on restart, such that the Stone attempts to grow the extents, this can cause repository corruption. This is a risk mainly when there is a very large commit record backlog and when there are commits before the disposal process has completed. (#51768)

When a session logs in using the recently added GCI login flag GCI_PERFORM_DETACH, the Gem may run hot and consume a large percent of CPU due to excessive socket polls. (#51287)

There was a very small window during the period where a session is logging in, for which System class >> processKindForSlot: for the new session's slot (invoked by another session) may return 0. The method System class >> cacheStatisticsDescriptionAt: expects a non-zero result, and reported a primitive error. (#51324)

V3.7.2.2 includes sha fa138d87 of the FileSystemGs project. This has had a number of code changes from the version included in v3.7.2 (sha 095f66ac).
The following bug fixes are included. Class comments have also been expanded and improved.

When an environment variable was undefined, this previously caused low level methods to return nil, which resulted in a message not understood. Now, this will signal an error, Error occurred (error 2710), Environment variable undefined in envName.

Linked sessions do not have gem logs; this method was incorrect in linked sessions. It incorrectly returned the root directory, and could result in MNUs under some conditions. This method now returns nil for linked sessions. (#51363)

The printed form of a FileReference previously omitted the @ and quotes, and thus could not be used as-is to recreate the FileReference.

SystemResolver >> supportedOrigins returns different results in v3.7.2.2. The origins extent1, extent1Directory, and tranlog are no longer included. gemLogDirectory is now only included in supportedOrigins for RPC sessions.

FileLocator and SystemResolver classes previously provided methods to access the paths for the GemStone extent and tranlogs. Since FileSystem is implement for the Gem's file system (not the server’s), this was not correct and not reliable. (#51359)
The following methods have been removed:
FileLocator class >> extent1
FileLocator class >> extent1Directory
FileLocator class >> extent:
FileLocator class >> tranlog
SystemResolver >> extent1
SystemResolver >> extent1Directory
SystemResolver >> tranlog
SystemResolver >> _extent:

V3.7.2.2 includes sha 5d4cb92f of the RemoteServiceReplication project. This has had a number of internal changes from the version included in v3.7.2 (sha 9a3398de).
The following bug fix is included:

The Remote Service Replication (RSR) open-source project that is included with GemStone for use by other open-source projects. This framework only handled the GsFinalizeNotification asynchronous signal; the TransactionBacklog signal was ignored. Now, it will respond to a TransactionBackup by aborting. (#51433)
To control TransactionBacklog handling in an RSR environment, the application must run its own asynchronous event mechanism, which must handle GsFinalizeNotification as well as TransactionBackup. If GsFinalizeNotification is not handled it may result in deadlocks or hangs.