Bug 47691


GemStone/S, 6.7.2, 6.7.1, 6.7

AIX only

SIGSEGV in AIX extend_brk( ) call

When using a large shared page cache close to the maximum size allowed on AIX (2.75GB), there is a slight risk that a stone or gem process may crash with a SIGSEGV in the AIX system call extend_brk( ), used for allocating C-heap memory.  This occurs when all available 32-bit memory space has been utilized.

Log entry will look similar to:

  GS Signal Handler: Unhandled signal 11, SIGSEGV Received at XXXXXXXXX
  HostFaultHandler: signal (int) = 11
    info->si_signo = 11 = 0xb
    info->si_code =  51 = 0x33
    info->si_errno = 0 = 0x0
    info->si_addr = 0x4  pc = 0x2001109c
  Registers saved from frame receiving the signal:
  Begin attempt to print C-level stack for PID XXXXXXX at: <date> 13501244:
   /opt/gemstone/GemStone6.7.0-RISC6000.AIX/sys/stoned -e<config file>
  0x2011b2c0  waitpid(??, ??, ??) + 0x1c0
  0x1000b228  forkAndWait(const char*,char* const*)() + 0x68
  0x1000ae3c  HostPrintCStack(long)() + 0x1dc
  0x1000a33c  HostCoredump(int)() + 0xadc
  0x1000d6ac  sigCoreExit(int,int,siginfo_t*,void*)() + 0x16c
  0x1000bc80  HostFaultHandler() + 0x640
  <signal> 0x2001109c  extend_brk(??, ??, ??) + 0x2dc

. . .


Upgrade to GemStone/64 for the larger 64-bit memory space.

Alternatively, reduce the size of the SPC to allow more room for C heap growth.

Last updated: 7/27/18