Bug 130868 - Kernel 2.6.8-1.521 and IBM Java 1.3.1 don't work together
Kernel 2.6.8-1.521 and IBM Java 1.3.1 don't work together
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
2
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Dave Jones
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2004-08-25 09:53 EDT by Kent Pirkle
Modified: 2015-01-04 17:09 EST (History)
5 users (show)

See Also:
Fixed In Version: FC3
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-08-16 14:30:46 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Kent Pirkle 2004-08-25 09:53:39 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2)
Gecko/20040803

Description of problem:
Kernel:

kernel-2.6.8-1.521

IBM JRE version:

IBMJava2-JRE-1.3.1-7.0

With the previous kernel-2.6.7-1.494.2.2, IBM java 1.3.1 worked fine:

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))

With the new kernel:

$ /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.

If I try the legacy VM work around:

# echo 1 > /proc/sys/vm/legacy_va_layout
# /opt/IBMJava2-131/jre/bin/java -version

I get a seg fault:

Segmentation fault







Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Type /opt/IBMJava2-131/jre/bin/java -version
2.
3.
    

Actual Results:  JVMDG080: Cannot find class com/ibm/jvm/Trace
Error occurred in diagnostics initialization(2)
Could not create the Java virtual machine.

# echo 1 > /proc/sys/vm/legacy_va_layout
# /opt/IBMJava2-131/jre/bin/java -version
Segmentation fault



Expected Results:  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))

Additional info:
Comment 1 Ernie McCracken 2004-08-25 11:20:58 EDT
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/

Comment 2 Ernie McCracken 2004-08-31 10:00:33 EDT
Use LD_ASSUME_KERNEL=2.2.5 as a workaround.
Comment 3 Kent Pirkle 2004-08-31 12:56:01 EDT
I tried that, it worked for the previous kernel, not for 2.6.8
Comment 4 Ernie McCracken 2004-08-31 15:32:26 EDT
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))

-----
Comment 5 Kent Pirkle 2004-08-31 16:48:58 EDT
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.
Comment 6 Chip Turner 2004-09-05 16:46:59 EDT
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
Comment 7 Kent Pirkle 2004-09-05 19:30:02 EDT
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))
Comment 8 Dave Jones 2004-11-27 15:24:46 EST
mass update for old bugs:

Is this still a problem with the 2.6.9 based update kernel ?
Comment 9 David Juran 2004-11-28 10:59:09 EST
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
Comment 10 Kent Pirkle 2004-11-30 19:39:10 EST
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))
Comment 11 Brett Randall 2005-07-21 06:32:12 EDT
# 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.
Comment 12 Brett Randall 2005-07-21 19:03:40 EDT
... 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))

Note You need to log in before you can comment on or make changes to this bug.