1. Release Notes for 3.6.2


Supported Platforms

Platforms for Version 3.6.2

GemBuilder for Smalltalk (GBS) Versions

VSD Version

Changes in this version

Updated library versions

Number rounding/truncation

Added ability to customize passivation of dynamic instance variables

GemStone-specific SUnit classes now renamed and in image


Performance improvements in WriteStreamPortable

Converting ByteArrays containing UTF-16 into UTF-8

Utf8 >> readStream now permitted

Added ability to check if private key matches an encrypted extent

gslist -m contacting remote NetLDI running with authentication

NetLDI -a attempted authentication with empty password

gslist -m not usable with remote NetLDI in secure mode

Admin GcGem’s number of threads is now dynamically configured

Object Read Tracking

Configuring objects to be tracked

Enable and disable Read Tracking

Read Tracking

Limitation in Read Tracking

Object Read Log File

File Management

Added Configuration File Options

UserProfiles exempt from read tracking

Added Privileges

Added Cache Statistics

Object Read Log File Format

UserProfile userId permissible Character limitations

LdapDirectoryServer now supports TLS options

Added LdapDirectoryServer methods

Other Added Methods

Print peer information in log when invalid data on listening socket

Multi-threaded warnings on cache slot use now include operation name

Improved printing for page cache faults

Removed Methods

Enhancements to FFI/CByteArray

Extracting a string from a CByteArray

Extracting a string from a CPointer

CByteArray added instance creation methods

Importing an Array into a CByteArray

Adding a UTF8-encoded string to a CByteArray

Computing required CByteArray space for the contents of an Array

Handling code point zero

Other Added FFI methods

All thread-safe GCI functions now available in GciTsLibrary

Added cache statistics

Added Errors

Bugs Fixed

Invalid record may be written to tranlog

Issue with incremental tranlogging


Native code errors in some cases using Array constructors {}

Incorrect results from Object >> passivate

File descriptor leak fetching host statistics on Linux

startstone issues if STN_FREE_SPACE_THRESHOLD space is unavailable

copydbf fails on decryption of encrypted extent that was pregrown or restored

Tranlog restore may encounter illegal store error

Epoch garbage collection failure may leave Admin GcGem in transaction

Upgrade from 3.5.6 to 3.6.x broken

GsFile issues

GsFile position incorrect for r+ file mode with atEnd

Failure in OS call from GsFile write primitives potential to SEGV

Shared Page Cache could have run out of slots

objectaudit/pageaudit do not correctly handle some kinds of error state

Extreme log growth attempting to printing stack if stack corrupted

Risk of C memory corruption on in-memory GC in libicu operation

GsSocket >> readWillNotBlockWithin: does not handle nil returned by readWillNotBlock

Multi-threaded scan issues

GC state change during multithreaded scan fails to report error

Multi-threaded operations could use up all available process slots

Issues related to Symbol Garbage Collection

Cumulative algorithm changes in Symbol GC

Symbol GC slow with many dead symbols

Logsender not connected to stone could have transmitted incomplete tranlog records

kernel.yama.ptrace_scope=1 disallowed stacks with NetLDI in authentication mode

Page read error message unhelpful

Cache warming may have excessive impact on page use

FFI-related issues

CCallout string arguments allowed MultiByteString, disallowed Utf8

CDeclaration doesNotUnderstand: #'cByteArraySpecies'

CByteArray >> floatAt:put: did not accept SmallFloat arguments

LDAP issues

LDAP did not work for processes in setuid mode

GemStone's LDAP library did not correctly set directory for ldap.conf

LDAP did not support reset of TLS credentials

ClassOrganizer >> referencesToLiteral: could miss literal symbol

System _add:to: called missing method

User Action library load may fail with missing extension

Debugging issues with stack trimming with blocks