Bug: 41504

Impact:

Product:
GemStone/S 64 Bit

Versions:
3.1.0.2, 3.1.0.1, 3.1, 3.0.1, 3.0, 2.4.5.1, 2.4.5, 2.4.4.8, 2.4.4.7, 2.4.4.6, 2.4.4.5, 2.4.4.4, 2.4.4.3, 2.4.4, 2.4.3, 2.4.2.1, 2.4.2, 2.4.1, 2.4.0, 2.4, 2.3.1.6, 2.3.1, 2.3.0, 2.3, 2.2.5.4, 2.2.5.3, 2.2.5.2, 2.2.5.1, 2.2.5

Platform:
All platforms

Fixed In:

Zombie gem can hold commit record, cause CR backlog

When a session has logged out or been terminated, the stone normally waits
until it receives confirmation that the associated process is gone before
clearing the session's reference to a commit record.  Under rare conditions
it is possible for the stone to miss this confirmation, causing the
"zombie" gem to continue holding the commit record and causing a commit
record backlog to develop that cannot be cleared.

You can confirm you have a zombie session causing a commit record backlog
when  "System sessionsReferencingOldestCr" returns an array containing
a session ID that does not appear in "System currentSessions". Using System>>descriptionOfSession:
on this ID returns an array of nils.

Workaround:

For version 2.3 and earlier, you will need to shutdown and restart the
stone to clear the condition.  For version 2.3.1 and later, login as SystemUser
and execute:

    System _cleanupZombieSession: <sessionId>

Warning:  make sure that this session really is a zombie.  Use of this
command on a session that is still alive will cause that session's current
transaction to fail.