harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Catherine Hope (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-6322) [VM] -Xbootclasspath/a is not appended correctly with IBM VMI
Date Thu, 27 Aug 2009 17:12:59 GMT
[VM] -Xbootclasspath/a is not appended correctly with IBM VMI
-------------------------------------------------------------

                 Key: HARMONY-6322
                 URL: https://issues.apache.org/jira/browse/HARMONY-6322
             Project: Harmony
          Issue Type: Bug
          Components: VM
         Environment: all
            Reporter: Catherine Hope
            Priority: Minor


Using -Xbootclasspath/a option with Harmony on IBM VMI does not give the expected bootclasspath,
e.g.
> java -Xbootclasspath/a:<dir> <class>
Gives the following bootclasspath (org.apache.harmony.boot.class.path property):
  /jdk/jre/bin/default/luni-kernel.jar:/jdk/jre/bin/default/security-kernel.jar::<dir>:/jdk/jre/lib/boot/accessibility.jar:..
remaining api jars
So the appended directory appears between the kernel and library api jars instead of at the
end of the path.

This does not happen on DRLVM because the bootclasspath is assembled as so:

in the launcher
- passes contents of harmonyvm.properties (containing luni-kernal and security jars) and command-line
arguments to CreateJavaVM

in luniglob (called on JNI_OnLoad)
- retrieves org.apache.harmony.boot.class.path from VM and _appends_ the api jars from bootclasspath.properties
- sets org.apache.harmony.boot.class.path to the new value

with Harmony with IBM VM
- org.apache.harmony.boot.class.path contains the parsed and set bootclasspath already, api
jars are then added at the end

with Harmony with DRL VM
- org.apache.harmony.boot.class.path is null, api jars are added and then this value is used
later in classloader.bootstrap_components_classpath to parse the remaining bootclasspath elements
and set sun.boot.class.path

There's a difference in how the two bootclasspath properties sun.boot.class.path and org.apache.harmony.boot.class.path
are being used by DRLVM and IBM VMI - DRLVM uses the sun.boot.class.path as the definitive
one, assembled from the contents of org.apache.harmony.boot.class.path, and IBM VMI uses the
org.apache.harmony.boot.class.path completely, and sun.boot.class.path is null.

The problem is the difference in ordering of assembling the bootclasspath but I think this
could be fixed so that it works for both VMs by moving the adding of the bootclasspath.properties
into the launcher so they are passed to CreateJavaVM.  This would make the org.apache.harmony.boot.class.path
property redundant in DRLVM, and the IBM VMI may as well be calling the property "sun.boot.class.path"
also.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message