When running a Policy Server in high load conditions, the Policy
Server restarts on its own.
What are the correct JVM settings in high environment ?
Policy Server 12.8SP3 on RedHat 7
The backtrace shows a crash in the JVM
pkgapp.backtrace :
#0 0x00007f4a2d0121f7 in raise () from /lib64/libc.so.6
(gdb) #0 0x00007f4a2d0121f7 in raise () from /lib64/libc.so.6
#1 0x00007f4a2d0138e8 in abort () from /lib64/libc.so.6
#2 0x00007f49acca3769 in os::abort(bool) () from /usr/java/default/jre//lib/amd64/server/libjvm.so
#3 0x00007f49ace68803 in VMError::report_and_die() () from /usr/java/default/jre//lib/amd64/server/libjvm.so
#4 0x00007f49accad9f5 in JVM_handle_linux_signal () from /usr/java/default/jre//lib/amd64/server/libjvm.so
#5 0x00007f49acca08b8 in signalHandler(int, siginfo*, void*) () from /usr/java/default/jre//lib/amd64/server/libjvm.so
#6 <signal handler called>
#7 0x00007f49c8517a29 in ?? ()
#8 0x00007f49ad593af8 in Java_com_netegrity_policyserver_smapi_APIContext_error () from /opt/CA/siteminder/lib/libsmjavaapi.so
The crash seems to happen in the Custom Java code, where common-logger
is in use. At the same time different version of the same .jars are in use like
:
commons-logging
gson
httpclient
httpcore
In Java code, different versions of the same jars cannot be used. The
ones already given by the Policy Server should only be used.
Instead of using another version of libraries commons-logging and
gson, use the one given by the Policy Server to avoid conflicts :
The jar files from the Policy Server :
/opt/CA/siteminder/bin/endorsed
instead of these ones :
/opt/CA/siteminder/mycustomcodejar/commons-logging-1.2.jar:
/opt/CA/siteminder/mycustomcodejar/gson-2.6.1.jar:
/opt/CA/siteminder/mycustomcodejar/httpclient-4.3.6.jar:
/opt/CA/siteminder/mycustomcodejar/httpcore-4.4.10.jar: