Bug 40382

GemStone/S

6.5.5, 6.5.4, 6.5.2, 6.5.1, 6.5, 6.3.1, 6.3, 6.2.x, 6.2, 6.1.5, 6.1.4, 6.1.x, 6.x, 5.1.5.1, 5.x

Linux

6.5.5

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 gems ession 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 the way GsFile handles files and 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 close fails due to disk full, the file is sent a close, but the reference is not removed.  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/12/09