1. Release Notes for GemBuilder for Smalltalk 8.2

GemBuilder for Smalltalk (GBS) version 8.2 is a new version of the GemBuilder for Smalltalk product, adding support for VisualWorks 8.x and 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 8.1, and version 8.2. If you are upgrading from a version prior to 8.1, you should also review the release notes for each intermediate release between your version and v8.2, to see the full set of changes. In particular, the replication infrastructure changed in v8.x, so you should carefully review any use of private GBS protocol.

This release supports VisualWorks Smalltalk only, and cannot be used with VA Smalltalk. VA Smalltalk is supported by a separate set of GBS releases.

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

Supported Platforms and Versions

The following tables describe the client Smalltalk versions and platforms supported by GBS 8.2, and the certified GemStone server product shared library versions 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 8.2.

Table 1 Supported GemStone/S 64 Bit Server versions

 

VW 8.1.1
32-bit (RPC only)

and

64-bit (RPC, and linked on UNIX)

VW 7.10.1
32-bit (RPC only)

and

64-bit (RPC, and linked on UNIX)

Windows 8

3.3.1, 3.2.15

3.3.1, 3.2.15

Windows 2008 R2

3.3.1, 3.2.15

3.3.1, 3.2.15

Windows 7

3.3.1, 3.2.15

3.3.1, 3.2.15

Ubuntu Linux 12.04

3.3.1, 3.2.15

3.3.1, 3.2.15

Ubuntu Linux 14.04

3.3.1, 3.2.15

3.3.1, 3.2.15

Red Hat Linux ES 6.4

3.2.15

3.2.15

Red Hat Linux ES 6.5

3.2.15

3.2.15

Red Hat Linux ES 6.7

3.3.1

3.3.1

Red Hat Linux ES 7.1

3.3.1

3.3.1

SUSE Linux ES 12

3.3.1, 3.2.15

3.3.1, 3.2.15

Solaris 10 on SPARC

3.3.1, 3.2.15

3.3.1, 3.2.15

Changes in this Release

Support for VisualWorks 8.x

VisualWorks 8.0 introduced significant changes affecting the User Interface, requiring many changes in the GBS tools that modify the base VisualWorks tools, such as browsers and the debugger.

GBS v8.2 supports both 8.x and 7.x versions of VisualWorks, but the underlying GBS code for each has differences. There may be subtle differences in behavior in cases where GBS relies on the underlying VisualWorks functionality.

Visible changes include:

  • Methods and GS Methods tabs not present with VW 8.1.1

The base inspectors in VisualWorks 7.x included both Basic and Methods tabs, but in VisualWorks 8.1.1, only include a Basic button. For consistency, when using GBS 8.2 with VisualWorks 8.x, the GS Methods option is omitted.

The Object > browse menu item provides the method information.

  • Workspace Smalltalk menu not present with VW 8.1.1

The menu items previously under the Smalltalk Menu are now under the Edit menu. Specifics of the menu items and the popup menus also have minor differences between 8.2 under 8.1.1 and 7.10.1.

Change in Distribution

The GBS Distribution now includes an extra set of parcel files that are specific to either VisualWorks 7.x or VisualWorks 8.x. These files are GbsToolsVw7.pcl and .pst, and GbsToolsVw8.pcl and .pst.

The process of loading the GbsTools parcel automatically detects your VisualWorks version and loads the correct version-specific parcel.

Bugs Fixed

The following bugs in version 8.1 are fixed in version 8.2:

Some methods modified the client map without write protect

The method GbxDelegate>>asForwarder, and several private GBS methods, sent #unprotectedConnectNewClient:toServer: without acquiring the client map's writeProtect semaphore. (#46296)

Client map in 64-bit clients may have been corrupted by delete

On 64-bit VisualWorks clients, deletions from the client map that involve a collision chain that wraps around the end of the table may not be handled correctly, corrupting the table. (#46334)

This does not affect clients on 32-bit VisualWorks.

Client map auditHashing does not detect some kinds of corruption

Auditing the client map using auditHashing did not detect errors in cases where the hash collision chain wraps around the end of the table. (#46333)

Stuck semaphores due to race condition in process termination

There was a small window for a race condition with respect to process termination. If a process is terminated during this small window, the semaphore was not signaled, and the protected resource became unavailable to any process, leaving the semaphore stuck. (#46327)

Code formatting failed with server curly braces syntax

The GemStone/S server uses curly braces {} for Array constructors and for indexed query selection blocks. The VW code formatter did not understand this syntax. (#42784)