1. Release Notes for GemBuilder for Smalltalk 5.4.3

GemBuilder for Smalltalk (GBS) version 5.4.3 is a new version of the GemBuilder for Smalltalk product, adding support for GemStone/S 64 Bit version 3.3 and VA Smalltalk 8.6.2, as well as fixing a number of bugs. Please take time to read through these release notes before installing or upgrading, to acquaint yourself with the changes.

These release notes provide changes between the previous version of GBS, version 5.4.2, and version 5.4.3. If you are upgrading from a version prior to 5.4.2, please also review the release notes for each intermediate release to see the full set of changes.

This release does not support VisualWorks; VisualWorks is supported by separate set of releases of the GBS product. GBS 5.4.3 cannot be used with GemStone/S 64 Bit 2.x, nor can it be used with 32-bit GemStone/S. Support for these servers is provided in separate releases.

To install GemBuilder for Smalltalk 5.4.3, follow the instructions in the GemBuilder for Smalltalk Installation Guide for version 5.4.3.

Supported Platforms and Versions

The following tables describe the client Smalltalk versions and platforms supported by GBS 5.4.3, and the GemStone server product shared library versions that can be used with each.

For more details, including the specific required client libraries for each server product and versions, refer to the GemBuilder for Smalltalk Installation Guide for version 5.4.3.

Table 1 Supported GemStone/S 64 Bit Server versions - RPC logins only

 

VA Smalltalk 8.6.2

VA Smalltalk 8.5.2

Windows 8

3.3, 3.2.12

 

 

Windows Server 2008 R2

3.3, 3.2.12

3.3, 3.2.12

Windows 7

3.3, 3.2.12

3.3, 3.2.12

 

Changes and Bugs Fixed

Support for GemStone/S 64 Bit 3.3

This release adds support for GemStone/S 64 Bit v3.3.

This includes support for replicating SmallFraction, a new simple type in version 3.3.

Support for VA Smalltalk v8.6.x

Version 5.4.3 adds support for VA Smalltalk v8.6.2. There are minor GBS code changes related to this.

In VA Smalltalk v8.6.1 and 8.6.2, the Scintilla Editor in VA Smalltalk is more closely integrated with GBS debugger. While most issues have been addressed, there may still be cases in which behavior is not entirely correct when debugging in server code.

If GBS debugging is enabled, the StsDebugger will run without using the Scintilla editor. DbgDebugger and the GBS debugger, GbxDebugger, never use Scintilla. You can disable the Scintilla Editor, using the Transcript menu item Tools/VA Assist Pro/Settings/Use Scintilla Editor.

Debugger showed forwarder information rather than server object

When debugging in a server context, selecting a server object displayed forwarder information, rather than the object itself. This was related to the reset of the default debugger after a VA Smalltalk image save and restart. Now, the correct information is displayed when using the StsDebugger as well as with the GbsDebugger. (#40321).

Replicating FixedPoint with subnormal LargeInteger results in primitive failure

When the implementation components of a server FixedPoint (numerator or denominator) are LargeIntegers that are within the SmallInteger range, replicating the FixedPoint resulted in a primitive failure in #basicHash:. (#43119)

Errors if multiple sessions send #asGSObjectInSession: to the same object

When creating a server object from a client object, if another process is trying to create a server object from the same client object, there is a small chance that two delegates will be created for the client object, the former being immediately thrown away by the second. This can result in a GbsObjErrDoesNotExist or another kind of error. (#45222)

Possible deadlock due to incorrect semaphore acquisition order

The method GbsSession >> connectST:toGS: obtains the cache semaphore and may later need to acquire the session semaphore. This violates GBS's semaphore acquisition order protocol, and under some conditions could result in a deadlock. (#45137)

Debugger may select incorrect initial frame

When selecting the initial frame to highlight in the debugger, the selection failed to account for some conditions in which the server frame should be selected. (#45395)

Errors when single stepping past server code frames

When single-stepping through server code, errors could result when the end of server side code is reached and the next step returns to client side code. (#45359)

Exceptions reported generic error messages

Exception display invoked #errorString rather than #messageText, and as a result, reported a generic error message rather than the specific error details. (#45319)

SmallDouble replication not always handled correctly

Flushing SmallDoubles from VA to the GemStone server could create a Float rather than a SmallDouble.

Replicating SmallDoubles from the server to VA could result in an incorrect sign bit, or fail to create an immutable client object. (#45309)

Hierarchy browser could display truncated hierarchy of classes

Due to changes in the way blocks are handled on the server, the list of classes displayed in the Hierarchy browser may be truncated in certain cases with 3.2.x servers. (#45027)

dumpAllProcessStacks used 1-second resolution to create filenames

GbsConfiguration >> dumpAllProcessStacks creates a filename based on the current date and time. Since the resolution was 1 second, it could overwrite a file if two stacks were dumped in the same second. The filename now includes the millisecond. (#45175)

Browsing server classes from association name may result in walkback

Server classes may have multiple associations for the same class; for example, Segment has an association to GsObjectSecurityPolicy, to allow code references to the older name to be resolved. Using the GemStone menu Browse class and specifying the alias name did not work correctly. (#45209)