HP-UX Reference (11i v2 07/12) - 5 Miscellaneous (vol 9)
a
ARIES(5) ARIES(5)
(HP Integrity Systems Only)
pa_maxssiz_32bit and pa_maxssiz_64bit.
Make sure that the kernel tunable parameter max_thread_proc value is sufficiently large to create the
required number of threads.
Increase the value of ARIES option
-heap_ssz if your application requires more number of threads than
allowed by default under ARIES.
NOTE: The free memory in AMA is not automatically used for application stack or ARIES heap.
Appropriate ARIES option must be specified to change the size of particular memory area in AMA.
EMULATION OF MxN THREADS UNDER ARIES
ARIES supports PA-RISC applications which are linked with MxN pthreads library. From HP-UX 11i Ver-
sion 2 (and above), the PA-RISC pthreads library delivered on Integrity systems is MxN enabled.
Due to underlying design complexities of true emulation of MxN threads under ARIES, the correctness and
reliability may need to be compromised. Hence ARIES is designed to support emulation of PA-RISC
HP-UX applications, linked with MxN pthreads library, in traditional 1x1 mode by forcing environment
variable
PTHREAD_COMPAT_MODE
to 1.
The ARIES policy to emulate MxN threads as traditional 1x1 thread is not likely to change in current or
future HP-UX releases.
EMULATION OF PA-RISC APPLICATION STACK UNDER ARIES
The stack allocated by the Integrity HP-UX kernel is used by ARIES as its own native stack. Stack for the
PA-RISC applications is allocated by ARIES from the AMA area.
Most PA-RISC applications run as expected with default stack size set by ARIES. However, if your
PA-RISC application fails with a core dump, with the following error message, then you should increase the
PA-RISC application stack size by using ARIES option
-ssz in the ARIES RC file.
[HP ARIES32]: ARIES Limitation [PID: xxxx]
[HP ARIES32]:
[HP ARIES32]: ARIES cannot proceed emulation because
[HP ARIES32]:
[HP ARIES32]: PID xxxx received SIGSEGV for stack growth failure.
[HP ARIES32]: Possible causes - insufficient memory or swap space, or
[HP ARIES32]: PA-RISC application stack size exceeded maximum available
[HP ARIES32]: stack size in ARIES.
[HP ARIES32]:
[HP ARIES32]: Increase the value of -ssz ARIES parameter and kernel
[HP ARIES32]: tunable pa_maxssiz_32bit.
[HP ARIES32]:
[HP ARIES32]: ARIES does not support applications which are nearly
[HP ARIES32]: or completely maxed out on their data segment address
[HP ARIES32]: space usage. This is because ARIES consumes small amount
[HP ARIES32]: of virtual memory address space of the emulated
[HP ARIES32]: application.
[HP ARIES32]:
[HP ARIES32]: Terminating emulation
How ARIES Sets PA-RISC Application Stack Size
At process startup time, ARIES uses following criteria to set the stack size for the PA-RISC application.
1. ARIES option -ssz value if -ssz is specified in the ARIES RC file.
2. The stack size value inherited from the parent process, If the ARIES option -ssz is not present in the
ARIES RC file.
In most cases, the stack size value inherited from the parent process is the current value of kernel tun-
able parameter maxssiz, or the ulimit -s value in the shell.
For details on the maximum possible stack size under ARIES, Refer to the Relation Between
pa_maxssiz_32|64bit and ARIES Parameters section in this manpage for more details.
NOTE: Stack sizes can be inherited among Integrity system native processes (32-bit and 64-bit) and emu-
lated PA-RISC processes (32-bit and 64-bit), subjected to the limitation on available stack space under
ARIES.
HP-UX 11i Version 2: December 2007 Update − 12 − Hewlett-Packard Company 71