Bug 43745

GemStone/S 64 Bit

3.2.1, 3.2, 3.1.0.6, 3.1.0.5, 3.1.0.4, 3.1.0.3, 3.1.0.2, 3.1.0.1, 3.1

All Platforms

3.2.2

objectAudit can report false positives while dead are being reclaimed

If an objectAudit is run shortly after an MFC or Epoch GC completes, and while there are dead objects being reclaimed by the system, there is a possibility for false positives to be reported.  They will take one of the following forms:

The object [XXXXX] of class ZZZZ [XXXXX] is in page XXXX and the FreeOOP List.

In object [XXXXX] of class ZZZZ[XXXXX], at 1 based offset XX, references non existent object [XXXXX]

Where XXXX is an oop number, page ID, or element offset, and ZZZ is a class name.

Workaround

Insure that there is no current GC activity and that all dead objects have been reclaimed before starting objectAudit.  The following code may be useful (note that it does aborts):

System waitForVoteStateIdle.
[ System _deadNotReclaimedCount > 0 ] whileTrue: [
        System sleep: 1.  System abortTransaction ].


                

Last updated: 7/15/14