Bug 34905

GemBuilder for Smalltalk

7.0, 6.2, 6.1, 6.0, 5.2.5, 5.2.4, 5.2.3, 5.2.2, 5.2.1, 5.2

All

7.0.1, 5.3, 5.2.6

Hashed collection replication involving class generation causes corruption

Under some circumstances, a hashed collection (such as a Bag, Set, or
Dictionary), replicated from the server to the client, can become
corrupted.

This bug applies under the following circumstances:

- a hashed collection (such as Bag, Set, or Dictionary) is replicated
- the hash computation of each replicated element sends a message
  to an object referred to by an instance variable of the element
- neither the class of the elements in the collection nor the class
  of the objects used in the hash computation have previously been
  mapped between the server and the client.

In this case, the replication process is interrupted by the class
mapping, and the subsequent completion of replication is not done in
the correct order.  The resulting client collection is corrupt, with
missing elements and with elements in the wrong location. If the
client collection is then modified and the change flushed to the
server, the server collection may also be incorrect.


Last updated: 8/9/06