Bug: 38902

Impact:

Product:
GemStone/S 64

Versions:
2.2.5.1, 2.2.5, 2.2.x, 2.2, 2.1.5, 2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1

Platform:

Fixed In:
2.2.5.2

postconv script may early exit on linux if cachewarmers specified

When converting from versions prior to 2.0, to 2.0 or later, a
postconv script must be run to perform conversion of large methods
and large objects. Recent releases of GemStone/S 64 have added a
-c startcachewarmers option to the postconv operation.

The code that started the cachewarmers omitted the $ in a variable
reference. As a result, when using the -c option on certain
platforms/shells, depending on how the shell handles uninitialized
variables, the postconv script exited early without performing
the conversion. Failing to convert large methods may result in
corrupt method errors later. Failing to convert large objects
does not cause problems, but the internals of the large objects
will not take advantage of the 64-bit optimizations be less
efficient.

This problem occurs on Linux, but not on Solaris.

Workaround:

In $GEMSTONE/bin/postconv line 212

if [ status -eq 0 ]; then

should be modified to:

if [ $status -eq 0 ]; then