Bug 45557

GemStone/S 64 Bit

3.2.7, 3.2.6, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1, 3.2,,, 3.1.x, earlier versions


Voting while commit in progress small risk of missing objects, which may then be GCed

After an MFC, Gems must vote on possibleDead objects, so that objects that they still reference are not marked dead. The timing of this vote, during a commit but before commit completed, resulted in a small window in which otherwise unreferenced objects that were referenced by newly committed objects were not checked, and not correctly voted down.

This may result in repository corruption as the objects are considered dead and GCed.

This scenario appears to be rare, and was found in internal testing; it requires a specific set of conditions of new object creation, reference, and voting to occur.

Last updated: 12/7/16