Thursday, March 15, 2012

JIT compiler parameter in Oracle

There is one parameter in 11g which caused our system to crash with:
ORA-00449: background process 'LGWR' unexpectedly terminated with error 313
ORA-07445: exception encountered: core dump [ioc_pin_shared_executable_object()+1519]
The culprit is one DB parameter that Oracle support recommended to alter:
- java_jit_enabled
JAVA_JIT_ENABLED enables or disables the Just-in-Time (JIT) compiler for the Oracle Java Virtual Machine (OracleJVM) environment
The JIT is a compiler that has been introduced in 11g for faster compilation of java code
Current value:
- true
Recommended value:
- false
The parameter can be modified with no downtime.
# sqlplus / as sysdba
alter system set java_jit_enabled = false scope=both;
There are several bugs reported with this parameter:
BUG:9020264- ORA-7445 [PC:0XFFFFFFFF7FFE7F58] [SIGSEGV] WITH JAVA_JIT_ENABLED=TRUE
BUG:8250874- CORE DUMP IN JVM WHEN USING JIT
BUG:10329940- PICK RELEASE ERRORS: GLIBC DETECTED *** FNDLIBR: DOUBLE FREE OR CORRUPTION (OUT)
BUG:11672921- PICK RELEASE FAILS WITH ERROR GLIBC DETECTED *** FNDLIBR: DOUBLE FREE OR CORRUPT
BUG:9294055- GETTING ORA-29516 WHEN JAVA_JIT_ENABLED=TRUE
BUG:7713193- ORA-29516: AURORA ASSERTION FAILURE: ASSERTION FAILURE AT JOETHREAD.C:2428