Bug 38546

Critical

GemStone/S

6.2.1, 6.2, 6.1.6, 6.1.5, 6.1.x, 6.0.2, 6.0.1, 6.0

All

6.2.2

Signal handler code is not signal-safe

The signal handler code in GemStone is not signal-safe; the handler code calls functions to print information to the log, such as fprintf(), that may have problems if a second signal needs to be handled. During signal handling, there is a risk that if another signal occurs at the wrong moment for that gem, the gem may hang or crash.

The problem can occur when sending kill -USR1 to a gem to print the stacks to the log, gem fatal errors such as SIGSEGV, gem termination with -TERM, or other signals.

Workaround

While risk of this problem are not high for any particular signal sent, the frequency that signals are generally sent means the problem is not rare.  Avoiding sending signals to gem sessions will reduce the risk.


Last updated: 6/25/08