[Solved] Database Install Error: An unexpected error has been detected by HotSpot Virtual Machine

[ oracle@rac1 database]$ ./runInstaller

Starting Oracle Universal Installer…

Checking Temp space: must be greater than 120 MB. Actual 14636 MB Passed

Checking swap space: must be greater than 150 MB. Actual 15998 MB Passed

Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013-05-13_ 01-59-34PM. Please wait …[ oracle@rac1 database]$ #

# An unexpected error has been detected by HotSpot Virtual Machine:

#

# SIGSEGV (0xb) at pc=0x0000003f91a14d70, pid=27143, tid=140264133601040

#

# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.5.0_ 30-b03 mixed mode)

# Problematic frame.:

# C [ld-linux-x86-64.so.2+0x14d70]

#

# An error report file with more information is saved as hs_ err_ pid27143.log

#

# If you would like to submit a bug report, please visit:

#

http://java.sun.com/webapps/bugreport/crash.jsp

 

Solution::

.bash_ profile

Add export LD_ BIND_ NOW=1

 

LD_BIND_Now environment variable can change dynamic connection behavior. If the environment variable is not empty, the dynamic connector will assign a value to the program connection table before giving control to the program. That is, during process initialization, the dynamic connector is r_ 386_ JMP_ The relocation entry of the slot type is assigned so that the first call can jump to the target address without using the dynamic connector. On the contrary, if the environment variable is empty, the dynamic connector will not assign a value to the program connection table entry for the time being, and will not parse and relocate the symbol until a program connection table entry is called for the first time. This method is called lazy binding.

Note: lazy binding generally greatly improves the performance of applications, because there is no need to waste the overhead of dynamic connectors for parsing useless symbols. There are, however, two exceptions. First, the initialization of a shared object function takes longer than the formal execution of the call, because the dynamic connector intercepts the call to parse symbols, and the function is relatively simple; Second, if an error occurs and the dynamic connector cannot parse the symbol, the dynamic connector will terminate the program. Using the late connection mode, this kind of error may occur at any time during the execution of the program. Some applications have strict restrictions on this uncertainty. Therefore, it is necessary to turn off the late connection mode and let the dynamic connector handle these errors during process initialization before the application accepts control.

Similar Posts: