Opened 8 years ago

Last modified 8 years ago

#14427 new defect

Oracle Grid Installation fails to relink VB5 on Oracle Linux 6.7 guest,OSX host

Reported by: MPMDBA Owned by:
Component: other Version: VirtualBox 5.0.0
Keywords: oracle 12c linux osx perl segmentation libjavavm12.a Cc:
Guest type: Linux Host type: Mac OS X

Description (last modified by Frank Mehnert)

When trying to install Grid Infrastructure on Linux 6.7 guest on OS X (Yosemite) host using VirtualBox 5 the installer hangs at 59% (after passing all the Oracle pre-requisites) with the error

error invoking target irman ioracle of makefile /u01/app/gi/”
The logs provide further detail.

INFO: /usr/bin/ld: cannot find -ljavavm12
collect2: ld returned 1 exit status

INFO: make: *** [/u01/app/gi/] Error 1

It is possible to work around this by copying the libjavavm12.a library located in $ORACLE_HOME/javavm/jdk/jdk7/lib to $ORACLE_HOME/lib directory and retrying the install.

Once the workaround is applied, the installer continues but then the oracle script fails with a segmentation fault. line 131: 4562 Segmentation fault

A workaround can be applied by reinstalling the Perl binaries under the newly created ORACLE_HOME and the installation can continue.

Both errors and their work arounds are described here: ​

Note, this is not my blog but has been very helpful in providing the 2 workarounds for the issue I report here. It would be great if a permanent fix could be found is it seems this is something specific to Virtual Box 5 rather than an issue with the guest config.

Attachments (2)

Screen Shot 2015-08-07 at 18.54.16.png (110.0 KB ) - added by MPMDBA 8 years ago.
VBox.log (80.1 KB ) - added by MPMDBA 8 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 by Frank Mehnert, 8 years ago

Still relevant with VBox 5.0.2? In that case, please attach a VBox.log file of a 5.0.2 session.

by MPMDBA, 8 years ago

Attachment: VBox.log added

comment:2 by MPMDBA, 8 years ago

This error still occurs in 5.0.2 even after rebuilding the guest from scratch and correctly installing the guest additions. Attached the VBox.log file.

comment:3 by Frank Mehnert, 8 years ago

Please check what happens if you do

VBoxManage setextradata VM_NAME VBoxInternal/CPUM/IsaExts/AVX 0

before you start your VM.

comment:4 by piter75, 8 years ago

The problem with Oracle's perl crashing because of segmentation fault still exists in 5.0.10.

It happens regardless of "VBoxInternal/CPUM/IsaExts/AVX" extradata settings.

Last edited 8 years ago by piter75 (previous) (diff)

comment:5 by Alex, 8 years ago

I'm trying to reproduce perl crash. Installed "Oracle Grid Infrastructure Software Only" option.

cd /vbox/app/oracle/product/12.1.0/grid/perl/bin './perl -v' no cash, perl 15.14.1 script also doesn't crash.

Is it possible to reproduce it with this software configuration, or I should do something else?

My CPU is similar to attached VBox.log: Matched host CPU INTEL 0x6/0x3d/0x4 Intel_Core7_Broadwell with CPU DB entry 'Intel Core i5-3570' (INTEL 0x6/0x3a/0x9 Intel_Core7_IvyBridge)

Last edited 8 years ago by Alex (previous) (diff)

comment:6 by Frank Mehnert, 8 years ago

It turns out that this is a bug in the perl binary. It links against ancient code from the Intel compiler suite doing optimizations according to the CPU features. Very recent Intel CPUs have 4 cache descriptors and VBox 5.0.x passes this information to the guest. This leads to a problem within the perl code. The following commands tweak the CPUID bits passed to the guest:

VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/Leaf"        "0x4"
VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/SubLeaf"     "0x4"
VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/eax"         "0"
VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/ebx"         "0"
VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/ecx"         "0"
VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/edx"         "0"
VBoxManage setextradata VM_NAME "VBoxInternal/CPUM/HostCPUID/Cache/SubLeafMask" "0xffffffff"

Replace VM_NAME by the name of your VM.

This problem was not triggered on VBox 4.3.x because this version did not pass the full CPUID cache line information to the guest.

comment:7 by Frank Mehnert, 8 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use