You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Chunrong Lai (JIRA)" <ji...@apache.org> on 2009/01/13 10:24:59 UTC

[jira] Created: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

[buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
----------------------------------------------------------------------

                 Key: HARMONY-6072
                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
    Affects Versions: 5.0M8
         Environment: Any
            Reporter: Chunrong Lai
             Fix For: 5.0M9



 When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Chunrong Lai (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664079#action_12664079 ] 

Chunrong Lai commented on HARMONY-6072:
---------------------------------------


hi, Pavel and Colleagues:

     I see the manifest (Class-Path) info extraction from a boot classpath jar really need consideration since EUT35M3 will extract the Class-Path info from the manifest of a jar (in bootclasspath) and add them to its classpath list.
    So I met error info like (1) "Project is missing required library ..." if the dependent jar file is not included in our VM. (For example, jre\lib\boot\xalan-j-2.7.0\serializer.jar is missed since it is dependent from jre\lib\boot\xalan-j-2.7.0\xalan.jar) (2) If we download the serializer.jar and put it to jre\lib\boot\xalan-j-2.7.0, we will have "duplicate entry" error for serializer.jar (in the .classpath of EUT). The first is added by Harmony (in bootclasspath) after manifest extraction. The second is from EUT.
    Anyway I see the jdtcorebuilder test suite in EUT3.5M3 can PASS if (1) I add the xml-apis.jar, (downloaded) serializer.jar, xercesImpl.jar  into the same directory of xalan.jar in Harmony released package. (2) Disable the function of Harmony to append bootclasspath from manifest extraction. Unfortunately Geronimo test suite will fails with Harmony if so according to Pavel.
    My understanding is that it is the problem of EUT itself. It just needs to be more stable. If we can reprogram EUT the missed library and  the duplicate entry will not be the issue. 
   Your feedbacks are welcome here.


> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Nathan Beyer (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663967#action_12663967 ] 

Nathan Beyer commented on HARMONY-6072:
---------------------------------------

I don't mind that applications use Class-Path in MANIFEST.MF, but we shouldn't be doing it with Harmony JARs.

I should qualify that - I do mind that applications use this - it's messy, messy thing that should only be used is there's absolutely no other way to get what you need.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Nathan Beyer (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663516#action_12663516 ] 

Nathan Beyer commented on HARMONY-6072:
---------------------------------------

I'm curious, is DRLVM or Classlib using MANIFEST.MF with Class-Path values? Perhaps we shouldn't be doing that either.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Wenlong Li (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663583#action_12663583 ] 

Wenlong Li commented on HARMONY-6072:
-------------------------------------

Pavel, before reading your patch, I was thinking whether it is necessary to provide a quick solution, just like your suggestion with SetBCPElement filtering, etc. I think that could speed up the EUT35 test, and may be of high priority.

For my current work, indeed, it is an idea of on-demand jar parsing, not defered. That is, if the jar is used, then we parse it, or no need. Of course, you could think it is a deferred style as now Homarny parses all jars during startup.

what do you think?

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Wenlong Li (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663328#action_12663328 ] 

Wenlong Li commented on HARMONY-6072:
-------------------------------------

>From the code, I think get_kernel_path is from the harmonyvm.properties, and bootstrap_components_classpath is from the helper registry. 

In DRLVM, there is no dependent jars in jar manifest, so the java/system property for vm.boot.class.path and sun.boot.class.path is not affected even these properties are set before manifest extraction. But you are right, if some jar has such dependence, then these two properties will miss some class lib.

Yes, your suggestion to reset vm.boot.class.path and sun.boot.class.path after completing SetClasspathFromString(vmboot) should work, where the classpath can be reconstructed in SetBCPElement to remove duplicated elements. As such scheme conflicts with the on-demand class loading I am working, I will seek another way to address this problem.

I will work on this problem tomorrow.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Assigned: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Chunrong Lai (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chunrong Lai reassigned HARMONY-6072:
-------------------------------------

    Assignee: Chunrong Lai

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>            Assignee: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663325#action_12663325 ] 

Pavel Pervov commented on HARMONY-6072:
---------------------------------------

Look in classloader.cpp: bootstrap_components_classpath and get_kernel_path both return gc_gen.jar as the path element. The first is from harmonyvm.properties, the second - from helper registry.

Then this path is set as vm.boot.class.path and sun.boot.class.path. It looks like Eclipse is using one of these.

There is duplication check in SetBCPElement but that is invoked after setting these properties.

The idea of the fix is to reconstruct boot class path string after the call to SetClasspathFromString(vmboot), and move setting vm.boot.class.path and sun.boot.class.path after that with new reconstructed value.

Moreover, it looks like DRLVM has the bug that dependent jars referenced from jar manifests on boot class path are not referenced by vm.boot.class.path and sun.boot.class.path properties, as these properties are set before jar manifests are extracted.

Should we file separate JIRA on this or fix it along with this issue?

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Updated: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Wenlong Li (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wenlong Li updated HARMONY-6072:
--------------------------------

    Attachment: H6072.patch_1

I attach a patch for removing duplicated element in class path. Just FYI

My ongoing on-demand jar parsing work will follow this design. Comments?

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Nathan Beyer (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664259#action_12664259 ] 

Nathan Beyer commented on HARMONY-6072:
---------------------------------------

Can you clarify why this is a problem with Eclipse's test? Is Eclipse putting Xalan on the bootclasspath or are they just putting it the application class loader?

Is this matter of conflicting versions of Xalan classes being loaded? If so, we're going to keep seeing these issues, as many applications are packaging their own xerces, xalan and other extension libraries. Should we be talking about creating more isolation for these classes.

As for Xalan using manifest entries, perhaps it's time to start building our own packaging of Xalan an Xerces. The recompile alone would be helpful, as these packages are currently compiled to be Java 1.2 compatible.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Updated: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Chunrong Lai (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chunrong Lai updated HARMONY-6072:
----------------------------------

    Attachment: ClasslibDirTest.java


 I believe that removing the duplicate entry from the generated list , when running the test, can improve the pass rate of EUT35.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664457#action_12664457 ] 

Pavel Pervov commented on HARMONY-6072:
---------------------------------------

I see both issues as EUT problems. We should file the bugs against EUT 3.5 and look how Eclipse answers our alerts.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663654#action_12663654 ] 

Pavel Pervov commented on HARMONY-6072:
---------------------------------------

Nathan,

Yes, DRLVM extracts Class-Path attributes from manifests of jars files, specified on its boot class path and appends them to boot class path. Once these was an error when some application was unable to work correctly because of this feature was missing - so, it is required feature. AFAIR, it was Geronimo... :)

Chunrong,

Unfortunately, I had no chance of testing it, that is why I've submitted the patch as suggested fix, not the complete fix. I found this error in my mind only on my way home, 

Wenlong,

Well, it is terminology. The parsing is _deferred_ until the moment the class from that jar file is requested. ;)

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663757#action_12663757 ] 

Pavel Pervov commented on HARMONY-6072:
---------------------------------------

I'd suggest committing one of the patches (one that is more relevant i.e. has less conflicts with ongoing work) since this will enable us to evaluate EUT further.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12678331#action_12678331 ] 

Pavel Pervov commented on HARMONY-6072:
---------------------------------------

It just came to my mind that Harmony VM overfulfill the specification requirements for Class-Path attribute which says "The application or extension class loader uses the value of this attribute to construct its internal search path."
Our bootstrap class loader not only adds jars to its "internal search path" but also adds them to sun.boot.class.path/vm.boot.class.path properties, which is not required by the above specification (and probably even violates it by making these jars publicly searchable through these properties).

Concerning filing Eclipse EUT bugs, Chunrong, could you, please, provide links to EUT bug tracker issues, describing discussed problems? Thank you.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>            Assignee: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1, hackxalan-eut-classlib.patch
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663326#action_12663326 ] 

Pavel Pervov commented on HARMONY-6072:
---------------------------------------

One more concern from me for the fix: should vm.boot.class.path and sun.boot.class.path contain -cp (-classpath) value, when vm.bootclasspath.appendclasspath is set?

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Chunrong Lai (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663610#action_12663610 ] 

Chunrong Lai commented on HARMONY-6072:
---------------------------------------


 I just checked the patch of Pavel and saw it does remove the duplicate entry.
 A minor issue is that it does not include File.pathseparator when rebuild the bootclasspath. So the new classpath string looks very long. :-)
 I have not tried the patch of wenlong yet.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Updated: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Wenlong Li (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wenlong Li updated HARMONY-6072:
--------------------------------

    Attachment: H6072.patch_1

I attach a patch for removing duplicated element in class path. 
My ongoing on-demand jar parsing work will follow this design. Comments? 


> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Wenlong Li (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663617#action_12663617 ] 

Wenlong Li commented on HARMONY-6072:
-------------------------------------

Beyer, I saw DRLVM doesn't use MANIFEST.MF with Class-Path values though there is implementation code.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Chunrong Lai (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663613#action_12663613 ] 

Chunrong Lai commented on HARMONY-6072:
---------------------------------------


 Wenlong. I deleted your patch. Maybe you can re-submit it with "ASF granted license"?
 Thanks.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Updated: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Pervov updated HARMONY-6072:
----------------------------------

    Attachment: H6072.patch

Updated patch which adds path separators as necessary.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Wenlong Li (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12665019#action_12665019 ] 

Wenlong Li commented on HARMONY-6072:
-------------------------------------

So what is the final suggestion? and does the Class-Path in MANIFEST.MF should be included in the boot class path?

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Updated: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Chunrong Lai (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chunrong Lai updated HARMONY-6072:
----------------------------------

    Attachment: hackxalan-eut-classlib.patch


  Since Eclipse people have not answered, I wrote the patch for Harmony to pass(workaround) jdtcorebuilder suite of EUT35.
  The patch hacks xalan.jar in jdk\jre\lib\boot\xalan and remove the "Class-Path" attribute in it. In my understanding the attribute has been never used by Harmony. Please verify it.
  As we talked before there is also another way to workaround the issue which just satisfy the class-path check of EUT. For that Harmony need to download the serializer.jar, copy the xml-apis/xercesimpl.jar, and reorder the bootclasspath.properties. I see currently attached patch is better.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>            Assignee: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1, hackxalan-eut-classlib.patch
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Chunrong Lai (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664399#action_12664399 ] 

Chunrong Lai commented on HARMONY-6072:
---------------------------------------


 In my understanding both of the errors I met are due to the limitations, added by the source of EUT, to the JVM.
 
 (1) EUT35 requires that any entry of its classpath list must physical exist. Since it always adds dependent jar, specified in the Class-Path info, of a bootclasspath jar into its classpath list, those dependent jars must lie in the same directory of the original jar, although the jar file (like the serializer.jar) may be not really needed.  
 (2) EUT35 requires no duplicate entry in its classpath list. Since EUT35 extracts the dependent jar files into its classpath list, if the jar file is not in there already, the "duplicate entry" check may fail in Harmony when the dependent jar file, if it is also in the bootclasspath but in a later position, is added into EUT35's classpath  list.

 For (1), if the new requirement of EUT is justfied, Harmony has not problem to re-arrange the jar files.
 For (2), I think EUT should add all items of VM bootclasspath into its classpath list before extracting dependent jar files to classpath list. If EUT does not change, a workaround of Harmony is reordering the bootclasspath,  changing bootclasspath.properties/SetClassPathFromJarFile(), to let the dependent jars always appear before the original jar. This assumes a reading order of our bootclasspath in user applications.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Nathan Beyer (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12665258#action_12665258 ] 

Nathan Beyer commented on HARMONY-6072:
---------------------------------------

Pavel mentioned filing some issues with Eclipse. Has anyone done that? That's probably a good place to start.

Has anyone tried to see what happens when a JAR that has a manifest with class-path attribute is put on the classpath of the RI? I think this would be informative.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Updated: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Pervov updated HARMONY-6072:
----------------------------------

    Attachment: H6072.patch

Here is the suggested fix for the issue.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Updated: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Chunrong Lai (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chunrong Lai updated HARMONY-6072:
----------------------------------

    Attachment:     (was: H6072.patch_1)

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Chunrong Lai (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12678572#action_12678572 ] 

Chunrong Lai commented on HARMONY-6072:
---------------------------------------


 The bug has been filed as https://bugs.eclipse.org/bugs/show_bug.cgi?id=266968 after questions raised in http://dev.eclipse.org/newslists/news.eclipse.platform/msg79709.html (unfortunately, no answer yet).

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>            Assignee: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1, hackxalan-eut-classlib.patch
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Chunrong Lai (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12676730#action_12676730 ] 

Chunrong Lai commented on HARMONY-6072:
---------------------------------------


 I committed the patch in r747879, which removes duplicated classpath entry from VM_BOOT_CLASS_PATH and include ClassPathFromJarFile (the latter is required by Geronimo enabling). The commit should be independent of on-demand jar loading (HARMONY-6039). Thanks. It is also noted that more xalan workarounds are required to pass related EUT35 tests.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>            Assignee: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663363#action_12663363 ] 

Pavel Pervov commented on HARMONY-6072:
---------------------------------------

I won't commit the patch myself as Wenlong is working on conflicting modifications in deferred jar parsing.

Wenlong, please, consider integrating the patch and posting it, rebased against your changes.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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


[jira] Commented: (HARMONY-6072) [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664128#action_12664128 ] 

Pavel Pervov commented on HARMONY-6072:
---------------------------------------

Nathan, it is not Harmony itself but it's xalan, as Chunrong just mentioned.

Chunrong, in my understanding, this is deficiency in EUT rather than the problem in DRLVM. We should file the bug against EUT (or Eclipse?), so they either ignore duplicate entries or do not read Class-Path from boot class path themselves.

> [buildtest][eut][drlvm] Remove duplicate entry for classlib of Harmony
> ----------------------------------------------------------------------
>
>                 Key: HARMONY-6072
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6072
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>    Affects Versions: 5.0M8
>         Environment: Any
>            Reporter: Chunrong Lai
>             Fix For: 5.0M9
>
>         Attachments: ClasslibDirTest.java, H6072.patch, H6072.patch, H6072.patch_1
>
>
>  When running attached test case extracted from EUT3.5. Harmony will get duplicate (Jar) entry of classlib which leads to later error of EUT.

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