1. GemStone/S 64 Bit 3.5.5 Release Notes

Overview

GemStone/S 64 Bitâ„¢ 3.5.5 is a new version of the GemStone/S 64 Bit object server, including several critical bug fixes. We recommend everyone using or planning to use GemStone/S 64 Bit upgrade to this new version.

These release notes describe changes between the previous version of GemStone/S 64 Bit, version 3.5.4, and version 3.5.5. If you are upgrading from a version prior to 3.5.4, 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.5.3.

Supported Platforms

Platforms for Version 3.5.5

GemStone/S 64 Bit version 3.5.5 is supported on the following platforms:

  • Red Hat Enterprise Linux Server and CentOS Linux 6.10, 7.8, and 8.1; Ubuntu 16.04, 18.04, and 20.04
    GemStone performs testing on a mixture of Red Hat and CentOS servers; both are fully certified platforms. Any reference to Red Hat applies to both distributions.
  • Solaris 10 and 11.4 on x86
  • AIX 7.1 and 7.2
    Note that AIX v6.1 is no longer a supported platform.
  • OS X 10.14.6 (Mojave) with Darwin 18.7.0 kernel, and OSX 10.15.6 (Catalina) with Darwin 19.6.0 kernel, on x86
    Mac is supported for development only.

For more information, please refer to the GemStone/S 64 Bit Installation Guide for v3.5.3 (the most recent version of the Installation Guides) for that platform.

GemBuilder for Smalltalk (GBS) Versions

GemStone/S 64 Bit version 3.5.5 requires GBS version 8.4 or later for VisualWorks Smalltalk, or version 5.4.5 or later for VA Smalltalk.

The following versions of GBS are supported with GemStone/S 64 Bit version 3.5.5.

GBS version 8.5

VisualWorks
8.3.2

32-bit

VisualWorks
8.3.2

64-bit

  • Windows 10 and Windows 7
  • RedHat ES/CentOS 8.1, 7.8, and 6.10;
    Ubuntu 20.04, 18.04, and 16.04
  • Windows 10 and Windows 7
  • RedHat ES/CentOS 8.1, 7.8, and 6.10;
    Ubuntu 20.04, 18.04, and 16.04
GBS version 8.4

VisualWorks
8.3.2

32-bit

VisualWorks
8.3.2

64-bit

  • Windows 10 and Windows 7
  • RedHat ES/CentOS 8.1, 7.8, and 6.10;
    Ubuntu 20.04, 18.04, and 16.04
  • Windows 10 and Windows 7
  • RedHat ES/CentOS 8.1, 7.8, and 6.10;
    Ubuntu 20.04, 18.04, and 16.04
GBS version 5.4.6

VA Smalltalk
9.2.2

VA Smalltalk
8.6.3

  • Windows 10                     
  • Windows 10
  • Windows 7, Professional or above   
GBS version 5.4.5

VA Smalltalk
9.2.2

VA Smalltalk
9.1

VA Smalltalk
8.6.3

  • Windows 10
  • Windows 7, Professional or above
  • Windows 10
  • Windows 7, Professional or above
  • Windows 10
  • Windows 8.1, Professional or above
  • Windows 7, Professional or above

Windows 7 reached end of life in January of 2020. While GemTalk continues to test on and support GemStone clients on Windows 7, it is no longer considered fully certified.

For more details on supported GBS and client Smalltalk platforms and requirements, see the GemBuilder for Smalltalk Installation Guide for that version of GBS.

VSD Version

The GemStone/S 64 Bit v3.5.5 distribution includes VSD version 5.5.1. The previous version of GemStone/S 64 Bit, v3.5.4, included VSD v5.5.

VSD version 5.5.1 includes a number of new features and bug fixes. For details on the changes, see the Release Notes for VSD v5.5.1.

VSD 5.5.1 is included with the GemStone distribution, and can also be downloaded as a separate product from https://gemtalksystems.com/vsd/

Changes in this release

Updated library version

  • The version of OpenSSL has been updated to 1.1.1i
  • The version of OpenLdap has been updated to 2.4.56
  • The version of MIT Kerberos has been updated to 1.18.3
  • The version of lz4 has been updated to 1.9.3

GemConnect v2.4 included in distribution

Gemstone/S 64 Bit v3.5.5 is distributed with libraries compatible with GemConnect v2.4. Previous versions of GemStone/S 64 Bit included GemConnect v2.3-compatible libraries. If you are using GemConnect v2.3 and require libraries compatible with 3.5.5, or if you need libraries for another configuration, contact GemTalk Technical Support.

GsTsExternalSession Changes

Improved GciTsLibrary >> version:

When connecting a GsTsExternalSession to a repository running a different version of GS64, the method GciTsLibrary >> version: tests that the other version is compatible. The initial implementation was not flexible regarding the input argument.

ArgumentError during GsTsExternalSession >> send:to:withArguments:

If the initial use of send:to:withArguments: for a particular instance of GsTsExternalSession has fewer arguments than a later use of the same method, the later use may get an error such as "offset not within bounds of memory owned by aCByteArray". (#49284)

Gem login failures may not report details

When a login fails with error 4138/REP_ERR_SYSTEM_REP_NOT_ATTACHED, it did not report the details of why the login failed. The reported case was an extent file permissions issue. (#49273)

System _writtenObjects from within nested transaction is incomplete

When System _writtenObjects is executed within a nested transaction, it does not return the full closure of the transaction. This usage should be replaced with System enumerateDirtyList: -1 .

UncontinuableError in GCI execution

Rare cases have been seen of UncontinuableErrors in GemConnect, related to scheduler interrupts for asynchronous exceptions. These may also occur during non-GemConnect execution of GCI code.

GCI_PERFORM_FLAG_DISABLE_ASYNC_EVENTS is a flag passed to GciExecute* and GciPerform*, which prevents asynchronous exceptions such as InterSessionSignal and TransactionBacklog from being signalled during the execution. This flag now also disables scheduler interrupts caused by an expiring higher priority Delay. (#48818)

CHeap memory leaks in failed X509 logins

Linked topaz sessions and HostAgents may have excessive CHeap memory use after failed X509 logins. (#49230)

Statmonitor Changes

Deleting a statmonitor file in use may corrupt the new file

If the file to which statmonitor is writing is deleted, statmonitor opens a new file and continues writing. However it may write the buffered data to the new file before it writes the statmonitor header; which means VSD cannot read the file. (#49233)

In auto-restart mode, file name may be reused

When running with statmonitor -r or -R, which automatically create new files periodically, a new filename is generated containing an incremented sequence number. However, if the current file is moved or deleted, a file with that same sequence number was generated, rather than the next in the logical sequence. (#49235)

Added cache statistic

CodeCacheSizeKBytes (Gem)
Total size in kilobytes of copies of GsMethods or GsNMethods that are in the code generation area and ready for execution, as of the end of mark/sweep.

GLASS/GsDevKit changes

SessionMethodTransactionBoundaryPolicy not installed correctly after upgrade

After upgrading a GLASS environment to 3.5.x, added methods may not be resolved by existing sessions. This is due to SessionMethodTransactionBoundaryPolicy not being installed correctly. (#49225)

upgradeSeasideImage added -W

The -W argument was added to the upgradeSeasideImage script. This allows users who are familiar with topaz debugging to attach topaz following an image upgrade error and debug the issue.

Removed methods

GsObjectInventory >> profileObjectsInBm: 
GsObjectInventory >> profileObjectsInFile: 

These methods were unnecessarily added in v3.5.3.

GsBitmap >> peakLast 

Duplicate of the existing method GsBitmap >> peekLast.

Object >> _idxForCompareEqualToDoubleByteSymbol:collator:
Object >> _idxForCompareEqualToQuadByteSymbol:collator:
Object >> _idxForCompareEqualToSymbol:collator:

Unused private methods without behavior.