cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
bstrubey
Level 3

JVM Resolution fails on linux

Our project bundles an embedded JVM, version 1.5 from IBM. On most linux x86 platforms, the installer resolves the JVM and runs without problems. But on one RedHat v3 box, we get a verification error on the JVM.

If I run the installer and specify the "-is:log jvm.txt" switch, the contents of jvm.txt are as follows:

Log file created by MultiPlatform installer @Wed May 2 12:42:53 EDT 2007
INSTALLER_PATH=/root/tuam/./setup-tuam-ee-7-1-0-linux_ia32.bin
Checking the environment variables specifed in the JVM files to find the JVM...
No JVM can be found using the shell environment variable. Searching JVM will continue with Path Hints specified in the JVM Files...
jvm files not specified. Searching a JVM can not be performed.
Extracting bundled JRE...
checking disk space on the parition /tmp/istemp29901122124253 for /tmp/istemp29901122124253/linux_jre150.bin
83843 512 bytes disk blocks required.
4104112 512 bytes disk blocks available on the partition /tmp/istemp29901122124253
Disk space check on the parition /tmp/istemp29901122124253 succeeded.
checking disk space on the parition /tmp/istemp29901122124253 for /tmp/istemp29901122124253/linux_jre150.bin
126626 512 bytes disk blocks required.
4020984 512 bytes disk blocks available on the partition /tmp/istemp29901122124253
Disk space check on the parition /tmp/istemp29901122124253 succeeded.
Verifying... /tmp/istemp29901122124253/_bundledJRE_/bin/java -cp /tmp/istemp29901122124253/Verify.jar Verify java.vendor java.version
Verification failed for /tmp/istemp29901122124253/_bundledJRE_ using the JVM file /tmp/istemp29901122124253/_bundledJRE_/jvm


The jvm file in use, /tmp/istemp29901122124253/_bundledJRE_/jvm, looks like this:
DESC: IBM Java Runtime Environment (JRE) 1.5.0 for Linux
JVM_EXE:bin/java
CLASSPATH: "-cp "
CLASSPATH_SEPARATOR: :
SYSTEM: "-D"
SYSTEM_SEPARATOR: =
INITIAL_HEAP_SIZE: "-Xms"
MAXIMUM_HEAP_SIZE: "-Xmx"
JVM_PROPERTIES:
java.vendor=IBM...
java.version=1.5...
/:
SET_ENV_FOR_WIZARD:
JAVA2D_USEAWTFONTS=0
/:
PLATFORM_HINT:
JAVA_HOME
JAVAHOME
JDKHOME
...


And if I run the command "/tmp/istemp29901122124253/_bundledJRE_/bin/java -version", I see the following:
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pxi32dev-20070201 (SR4))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20070201 (JIT enabled)
J9VM - 20070131_11312_lHdSMR
JIT - 20070109_1805ifx1_r8
GC - 200701_09)
JCL - 20070126


I can't see any reason for the verification to fail. The java vendor is "IBM", and the java version matches "1.5". Can anyone help me to troubleshoot why the JVM resoultion is failure a failure?

Thanks.
Labels (1)
0 Kudos
(3) Replies
bstrubey
Level 3

After another day of testing, we are experiencing similar ("No JRE") symptoms on AIX and Solaris x86.

But just to be clear, the Linux binary installer works on some Linux boxes, and fails on other Linux boxes.

The AIX binary installer works on some AIX boxes, and fails on other AIX boxes.

And the Solaris x86 binary installer works on some Solaris x86 boxes, and fails on other Solaris x86 boxes.

We have not seen any problems on Windows...

This has become a critical problem for us. If anyone can help diagnose this problem, or suggest additional debug steps I might try, I would appreciate it.
0 Kudos
bstrubey
Level 3

I ran the ISMP "Verify" command on the failing Linux box by hand, and here's what it returned:

/tmp/istemp29901122124253/_bundledJRE_/bin/java -cp /tmp/istemp29901122124253/Verify.jar Verify java.vendor java.version
1739021872
IBM Corporation
1.5.0
0 Kudos
enanrum
Level 9

Not sure if this is the problem but - but check your Uninstaller JVM resolutions as well because the installers Verify these on install as well!!! Usually, these get carried over when you set up your initial JVM resolution for the installer but something can be different!

This is how I found this: In my installers, I do not do any searches, I just bundle the JVM and jar into one launcher. In testing, I used the 'setup.bin -is:extract' to extract the JVM and the setup.jar into a temp directory.

I CD'd into the temp directory, and extracted the JVM manually by just executing it. When I tried to use the java that was extracted from the bundled JVM, I kept getting unable to verify JVM! It was unable to verify the uninstaller!!! I did not have any 'JVM Search Instructions' for the Uninstaller. It did have 'Current, Search, Install' for the JVM resolution, but it needed a Search Instruction, which in turn needed the JAVAHOME env var pointing to the istemp*/ location - where the ./bin and ./lib dirs of the JAVA is!

Hope this helped!
0 Kudos