Bug 40364

GemStone/S 64 Bit

2.4, 2.3.1.6, 2.3.1, 2.3, 2.2.5.4, 2.2.5.3, 2.2.5.2, 2.2.5.1, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.x, 2.1.4, 2.1, 2.0.x, 1.2.5, 1.2.4, 1.2.x, 1.x

Linux

2.4.1

GsFile operations on disk full cause gem crash

On Linux, if GsFile operates on a file that is on a disk that is
completely full, subsequent session logout will cause the gem
session to crash with the error "double free or corruption".
This crash may require the gem or linked session to be terminated
with a kill -9.

The problem is due to specifics of linux I/O. When a file is opened
on the OS, the gem session keeps a reference so that it can be closed
on logout, even if the GsFile is left open. When the file that is
opened is on a full disk, the OS closes it immediately. Then when
the session logs out, it requests the close again. Most operating
systems ignore the second close, but linux performs the second close,
resulting in a fatal memory deallocation error.

This behavior may not be present on all distributions of Linux

Workaround

Avoid accessing full disks from Linux.


Last updated: 11/6/09