On AIX, C-Heap and pthread stacks live in the data segment, which may get suffocated by an inconveniently placed java heap. This usually happens when the java heap is placed in low address space to improve compressed-oops performace (zero based mode)
On AIX this is a cause for sporadic false native OOMs since the native C heap cannot expand, nor can the libc place new thread stacks. Typical symptoms are ENOMEM on malloc() or EAGAIN on pthread_create.
We already have a solution in place for this (see MaxExpectedDataSegmentSize), but for error analysis it would be helpful to know where the program break was at VM startup time and where it was at crash time.
On AIX this is a cause for sporadic false native OOMs since the native C heap cannot expand, nor can the libc place new thread stacks. Typical symptoms are ENOMEM on malloc() or EAGAIN on pthread_create.
We already have a solution in place for this (see MaxExpectedDataSegmentSize), but for error analysis it would be helpful to know where the program break was at VM startup time and where it was at crash time.