Persistent shared counters could become incorrect
In rare cases when the 32-bit register carry bit was set, the code that
reads a persistent shared counter could apply the carry and increment,
resulting in an incorrect value for the shared counter. Although the operation
is read-only, it actually modifies the shared counter value, and therefore
the change is visible to all sessions.
This bug is in the code invoked by the gem-only, read-only persistent shared
counter operations; operations that change the values of persistent shared
counters require the Stone, and are not affected by this bug.