Bug 130868
Summary: | Kernel 2.6.8-1.521 and IBM Java 1.3.1 don't work together | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Kent Pirkle <kmp> |
Component: | kernel | Assignee: | Dave Jones <davej> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 2 | CC: | djuran, holycrap, javabrett, pfrields, wtogami |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i686 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | FC3 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2005-08-16 18:30:46 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Kent Pirkle
2004-08-25 13:53:39 UTC
This also happens under IBMJava2-SDK-1.4.2-0.0. Sun's 1.4.2 SDK functions correctly. IBM SDKs can be downloaded here: http://www-106.ibm.com/developerworks/java/jdk/linux140/ Use LD_ASSUME_KERNEL=2.2.5 as a workaround. I tried that, it worked for the previous kernel, not for 2.6.8 The previous kernel (2.6.7-1.494.2.2) did not require a workaround for me. It was only after upgrading to 2.6.8-1.521 that IBM's SDK started breaking. Here is the workaround in action: ----- bart@omega Tue Aug 31 15:29:30 /opt/IBMJava2-142/bin $ uname -r 2.6.8-1.521 bart@omega Tue Aug 31 15:30:50 /opt/IBMJava2-142/bin $ rpm -qa IBMJ* IBMJava2-SDK-1.4.2-0.0 bart@omega Tue Aug 31 15:31:05 /opt/IBMJava2-142/bin $ ./java -version JVMDG080: Cannot find class com/ibm/jvm/Trace JVMXM012: Error occurred in final diagnostics initialization Could not create the Java virtual machine. bart@omega Tue Aug 31 15:31:18 /opt/IBMJava2-142/bin $ LD_ASSUME_KERNEL=2.2.5 ./java -version java version "1.4.2" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2) Classic VM (build 1.4.2, J2RE 1.4.2 IBM build cxia321420-20040626 (JIT enabled: jitc)) ----- That works for the Java 1.4.2, but my problem is with Java 1.3.1, same steps as you used for 1.4.2: $ uname -r 2.6.8-1.521 $ rpm -qa IBMJ* IBMJava2-JRE-1.3.1-7.0 $ ./java -version JVMDG080: Cannot find class com/ibm/jvm/Trace Error occurred in diagnostics initialization(2) Could not create the Java virtual machine. $ LD_ASSUME_KERNEL=2.2.5 ./java -version JVMDG080: Cannot find class com/ibm/jvm/Trace Error occurred in diagnostics initialization(2) Could not create the Java virtual machine. the real issue is an execshield bug. see if this helps: echo 0 > /proc/sys/kernel/exec-shield this is fixed in 541 and higher, but they aren't in rawhide yet I don't believe That appears to solve the problem: # /opt/IBMJava2-131/jre/bin/java -version JVMDG080: Cannot find class com/ibm/jvm/Trace Error occurred in diagnostics initialization(2) Could not create the Java virtual machine. # echo 0 > /proc/sys/kernel/exec-shield # /opt/IBMJava2-131/jre/bin/java -version java version "1.3.1" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1) Classic VM (build 1.3.1, J2RE 1.3.1 IBM build cxia32131-20040527a (JIT enabled: jitc)) mass update for old bugs: Is this still a problem with the 2.6.9 based update kernel ? java-1.4.2-ibm-1.4.2.0-1jpp_8rh seems to work well together with kernel-smp-2.6.9-1.681_FC3 The newest kernel seems to fix the issue. I've since upgraded to FC3, but java 1.3.1 seems to be playing nice with the new kernel: $ uname -r 2.6.9-1.681_FC3 $ /opt/IBMJava2-131/jre/bin/java -version java version "1.3.1" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1) Classic VM (build 1.3.1, J2RE 1.3.1 IBM build cxia32131-20040527a (JIT enabled: jitc)) # uname -r 2.6.11-1.35_FC3smp # cat /etc/redhat-release Fedora Core release 3 (Heidelberg) # pwd /opt/IBM/Workplace/AppServer/java/jre/bin # ./java -version JVMDG080: Cannot find class com/ibm/jvm/Trace Error occurred in diagnostics initialization(2) Could not create the Java virtual machine. # export LD_ASSUME_KERNEL=2.2.6 # ./java -version JVMDG080: Cannot find class com/ibm/jvm/Trace Error occurred in diagnostics initialization(2) Could not create the Java virtual machine. # unset LD_ASSUME_KERNEL # cat /proc/sys/kernel/exec-shield 2 # echo 0 > /proc/sys/kernel/exec-shield # ./java -version java version "1.3.1" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1) Classic VM (build 1.3.1, J2RE 1.3.1 IBM build cxia32131-20040527a (JIT enabled: jitc)) # echo BINGO BINGO # echo 2 > /proc/sys/kernel/exec-shield # ./java -version JVMDG080: Cannot find class com/ibm/jvm/Trace Error occurred in diagnostics initialization(2) Could not create the Java virtual machine. ... and upgrading to the latest FC3 updates kernel resolves this for me. I notice that the default value for exec-shield has changed from 2 to 1. # uname -r 2.6.12-1.1372_FC3smp # cat /proc/sys/kernel/exec-shield 1 # pwd /opt/IBM/Workplace/AppServer/java/jre/bin # ./java -version java version "1.3.1" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1) Classic VM (build 1.3.1, J2RE 1.3.1 IBM build cxia32131-20040527a (JIT enabled: jitc)) |