<!--  RSS generated by JIRA (Enterprise Edition, Version: 3.13.2-#335) at Sun Nov 29 14:49:59 UTC 2009 -->
<!-- If you wish to do custom client-side styling of RSS, uncomment this:
<?xml-stylesheet href="http://issues.apache.org/jira/styles/jiraxml2html.xsl" type="text/xsl"?>
-->
<rss version="0.92" >
<channel>
    <title>ASF JIRA</title>
    <link>http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310050&amp;updated%3Abefore=3%2FApr%2F09&amp;updated%3Aafter=20%2FNov%2F08&amp;status=5&amp;status=6&amp;resolution=1&amp;sorter/field=issuekey&amp;sorter/order=DESC</link>
    <description>An XML representation of a search request</description>
    <language>en-uk</language>     <issue start="0" end="33" total="33" />     <build-info>
        <version>3.13.2</version>
        <build-number>335</build-number>
        <build-date>26-11-2008</build-date>
        <edition>Enterprise</edition>
    </build-info>

<item>
<title>[HARMONY-6121] [classlib][archive] org.apache.harmony.archive.tests.java.util.jar.ManifestTest fails</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6121</link>

                    <description>java.lang.NullPointerException &lt;br/&gt;
	at java.io.InputStream.read(InputStream.java:148) &lt;br/&gt;
	at java.io.InputStream.read(InputStream.java:121) &lt;br/&gt;
	at org.apache.harmony.luni.util.InputStreamExposer.expose(InputStreamExposer.java:118) &lt;br/&gt;
	at java.util.jar.Manifest.read(Manifest.java:208) &lt;br/&gt;
	at org.apache.harmony.archive.tests.java.util.jar.ManifestTest.testRead(ManifestTest.java:420) &lt;br/&gt;
	at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)</description>
                <environment>reported on Win XP during M9 testing</environment>
            <key id="12417165">HARMONY-6121</key>
        <summary>[classlib][archive] org.apache.harmony.archive.tests.java.util.jar.ManifestTest fails</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="tellison">Tim Ellison</assignee>
            
                        <reporter username="tellison">Tim Ellison</reporter>
            
    <created>Wed, 18 Mar 2009 12:35:00 +0000 (UTC)</created>
    <updated>Wed, 25 Mar 2009 11:22:31 +0000 (UTC)</updated>

                
                
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12683005" author="tellison" created="Wed, 18 Mar 2009 12:35:55 +0000 (UTC)"  >Proposed patch for review.</comment>
                    <comment id="12683040" author="nbeyer" created="Wed, 18 Mar 2009 15:18:15 +0000 (UTC)"  >Hmm the previous code is a little odd. This looks much better. +1</comment>
                    <comment id="12683050" author="tellison" created="Wed, 18 Mar 2009 15:44:33 +0000 (UTC)"  >New patch (version 2) with more robust line detection.</comment>
                    <comment id="12689015" author="leshik" created="Wed, 25 Mar 2009 06:20:43 +0000 (UTC)"  >I have a strong feeling that I have already implemented readFully() method for reading (&amp;quot;wrapping&amp;quot;) manifests in &lt;a href=&quot;http://issues.apache.org/jira/browse/HARMONY-4569&quot; title=&quot;[classlib][performance] Ineffecient manifest parsing results in slowdown when debugging java code&quot;&gt;&lt;strike&gt;HARMONY-4569&lt;/strike&gt;&lt;/a&gt;. The stream was examined to be an instance of ByteArrayStream, and for those streams a fast reflection path worked. Otherwise the stream was read using slower methods. &lt;br/&gt;
&lt;br/&gt;
[1] &lt;a href=&quot;https://issues.apache.org/jira/secure/attachment/12378468/ByteBuffer.java&quot;&gt;https://issues.apache.org/jira/secure/attachment/12378468/ByteBuffer.java&lt;/a&gt;</comment>
                    <comment id="12689037" author="tellison" created="Wed, 25 Mar 2009 09:09:27 +0000 (UTC)"  >Yes, and that fast reflection path is still there in the InputStreamExposer.  I modified it to throw an UnsupportedOperationException when the reflection &apos;trick&apos; does not work rather than trying to read the entire stream, since the regression testcase passes in a stream that always returns a byte (an &amp;quot;infinite&amp;quot; stream).&lt;br/&gt;
&lt;br/&gt;
The original code caught OutOfMemoryException and converted it to an IO exception, but that did not work on some machines.  The new implementation, if it cannot use the fast reflection path, reads a chunk and looks for a CR/CR LF within a reasonable length of data, and throws the IO exception if it does not see one.&lt;br/&gt;
</comment>
                    <comment id="12689038" author="tellison" created="Wed, 25 Mar 2009 09:10:18 +0000 (UTC)"  >Fixed in ARCHIVE and LUNI modules are r757150.</comment>
                    <comment id="12689084" author="leshik" created="Wed, 25 Mar 2009 11:22:31 +0000 (UTC)"  >Tim, thanks for explaining! I was just checking svn annotate to understand what happened. I understand and support you fix.</comment>
                </comments>
    
    <attachments>
            <attachment id="12402490" name="hy-6121-version2.patch" size="4191" author="tellison" created="Wed, 18 Mar 2009 15:44:33 +0000 (UTC)" />
            <attachment id="12402480" name="hy-6121.patch" size="4151" author="tellison" created="Wed, 18 Mar 2009 12:35:55 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Wed, 25 Mar 2009 09:09:42 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Wed, 18 Mar 2009 15:18:15 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6102] [build] incorrect path of yoko in bootclasspath.properties</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6102</link>

                    <description>the path of yoko  &amp;quot;yoko-1.0-SNAPSHOT-20080304&amp;quot; is out of date,  it should be yoko-1.0 now.</description>
                <environment></environment>
            <key id="12415648">HARMONY-6102</key>
        <summary>[build] incorrect path of yoko in bootclasspath.properties</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="tony.wu">Tony Wu</assignee>
            
                        <reporter username="regis_xu">Regis Xu</reporter>
            
    <created>Thu, 26 Feb 2009 09:56:59 +0000 (UTC)</created>
    <updated>Fri, 27 Feb 2009 09:07:12 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>build - test - ci</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12676950" author="regis_xu" created="Thu, 26 Feb 2009 09:59:46 +0000 (UTC)"  >Would anyone want to try this?</comment>
                    <comment id="12677289" author="tony.wu" created="Fri, 27 Feb 2009 08:56:36 +0000 (UTC)"  >Hi Regis&lt;br/&gt;
&lt;br/&gt;
Thanks for this finding. the patch has been integreated at r748435. </comment>
                    <comment id="12677292" author="regis_xu" created="Fri, 27 Feb 2009 09:07:12 +0000 (UTC)"  >Verified. Thanks Tony.</comment>
                </comments>
    
    <attachments>
            <attachment id="12401012" name="HARMONY-6102.diff" size="959" author="regis_xu" created="Thu, 26 Feb 2009 09:59:46 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Fri, 27 Feb 2009 08:56:36 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Fri, 27 Feb 2009 08:56:36 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6079] [jdktools] javac should exit with error code non-zero on compile errors</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6079</link>

                    <description>javac currently always exits with error code zero even if there are compile errors.  Sun javac exits with non-zero error code which is useful when javac is used from scripts and Makefiles.  I think we should adopt Sun javac behaviour.&lt;br/&gt;
</description>
                <environment></environment>
            <key id="12413531">HARMONY-6079</key>
        <summary>[jdktools] javac should exit with error code non-zero on compile errors</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="4" iconUrl="http://issues.apache.org/jira/images/icons/priority_minor.gif">Minor</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="tellison">Tim Ellison</assignee>
            
                        <reporter username="hindessm">Mark Hindess</reporter>
            
    <created>Thu, 29 Jan 2009 13:44:50 +0000 (UTC)</created>
    <updated>Mon, 9 Feb 2009 10:41:53 +0000 (UTC)</updated>

                
                
                        <component>JDK</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12669149" author="nbeyer" created="Sat, 31 Jan 2009 05:22:15 +0000 (UTC)"  >+1</comment>
                    <comment id="12670303" author="tellison" created="Wed, 4 Feb 2009 10:55:40 +0000 (UTC)"  >The javac tool page [1] doesn&apos;t define the return codes.  Playing around a bit with the RI it would appear&lt;br/&gt;
return 0 = success&lt;br/&gt;
return 1 = compile error / unrecognized option&lt;br/&gt;
return 2 = no args given, usage printed&lt;br/&gt;
&lt;br/&gt;
I&apos;ll recreate those return codes unless you see any better definition.&lt;br/&gt;
&lt;br/&gt;
[1] &lt;a href=&quot;http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/javac.html&quot;&gt;http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/javac.html&lt;/a&gt;</comment>
                    <comment id="12670304" author="tellison" created="Wed, 4 Feb 2009 10:59:19 +0000 (UTC)"  >Mark,&lt;br/&gt;
&lt;br/&gt;
Please test with builds &amp;gt; r740696 and see if that is the behavior you are expecting.&lt;br/&gt;
</comment>
                    <comment id="12670324" author="mcfirst" created="Wed, 4 Feb 2009 12:54:15 +0000 (UTC)"  >Tim, bad luck.&lt;br/&gt;
&lt;br/&gt;
Your changes break building the javac tool.</comment>
                    <comment id="12670325" author="tellison" created="Wed, 4 Feb 2009 13:02:09 +0000 (UTC)"  >Thanks Pavel, erm, I was testing the Hudson build server - honest :-)&lt;br/&gt;
&lt;br/&gt;
Actually, I didn&apos;t do a &amp;quot;clean&amp;quot; before my build, and the dependency didn&apos;t pick up the reference from our com.sun code.&lt;br/&gt;
&lt;br/&gt;
Fixed at r740721.</comment>
                    <comment id="12671799" author="hindessm" created="Mon, 9 Feb 2009 10:41:53 +0000 (UTC)"  >Verified.  Thanks Tim.&lt;br/&gt;
</comment>
                </comments>
    
    <attachments>
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Wed, 4 Feb 2009 13:02:09 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Sat, 31 Jan 2009 05:22:15 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6076] [eut][classlib][luni] - Arrays.sort(T[] a, Comparator&lt;? super T&gt; c)  is not stable</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6076</link>

                    <description>spec says &amp;quot;This sort is guaranteed to be stable: equal elements will not be reordered as a result of the sort.&amp;quot;&lt;br/&gt;
but Harmony&apos;s implementation is not, which cause eut failure in org.eclipse.jdt.core.tests.compiler.test074 - 1.3&lt;br/&gt;
&lt;br/&gt;
see the following test:&lt;br/&gt;
&lt;br/&gt;
public class TestArrays {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String[] args) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Element[] array = new Element[11];&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array[0] = new Element(122);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array[1] = new Element(146);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array[2] = new Element(178);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array[3] = new Element(208);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array[4] = new Element(117);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array[5] = new Element(146);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array[6] = new Element(173);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array[7] = new Element(203);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array[8] = new Element(56);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array[9] = new Element(82);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array[10] = new Element(96);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (int i = 0; i &amp;lt; array.length; i++) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;Element value is &amp;quot; + array[i].getValue()&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ &amp;quot; index is &amp;quot; + array[i].getIndex());&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Arrays.sort(array, new ElementComparator());&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for (int i = 0; i &amp;lt; array.length; i++) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;Element value is &amp;quot; + array[i].getValue()&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ &amp;quot; index is &amp;quot; + array[i].getIndex());&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static class Element {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private int value;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private int index;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public int getIndex() {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return index;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static int count = 0;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public int getValue() {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return value;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void setValue(int value) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.value = value;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public Element(int value) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.value = value;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;index = count++;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static class ElementComparator implements Comparator {&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public int compare(Object arg0, Object arg1) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ((Element) arg0).getValue() - ((Element) arg1).getValue();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
notice array[1] and array[5] has the same value, the indexes are 1 and 5 corresponding, after a stable sort, element has index 1 should be ahead of element has index 5&lt;br/&gt;
&lt;br/&gt;
output of RI:&lt;br/&gt;
&lt;br/&gt;
=========before sort=============&lt;br/&gt;
Element value is 122 index is 0&lt;br/&gt;
Element value is 146 index is 1&lt;br/&gt;
Element value is 178 index is 2&lt;br/&gt;
Element value is 208 index is 3&lt;br/&gt;
Element value is 117 index is 4&lt;br/&gt;
Element value is 146 index is 5&lt;br/&gt;
Element value is 173 index is 6&lt;br/&gt;
Element value is 203 index is 7&lt;br/&gt;
Element value is 56 index is 8&lt;br/&gt;
Element value is 82 index is 9&lt;br/&gt;
Element value is 96 index is 10&lt;br/&gt;
&lt;br/&gt;
=========after sort=============&lt;br/&gt;
Element value is 56 index is 8&lt;br/&gt;
Element value is 82 index is 9&lt;br/&gt;
Element value is 96 index is 10&lt;br/&gt;
Element value is 117 index is 4&lt;br/&gt;
Element value is 122 index is 0&lt;br/&gt;
Element value is 146 index is 1&lt;br/&gt;
Element value is 146 index is 5&lt;br/&gt;
Element value is 173 index is 6&lt;br/&gt;
Element value is 178 index is 2&lt;br/&gt;
Element value is 203 index is 7&lt;br/&gt;
Element value is 208 index is 3&lt;br/&gt;
&lt;br/&gt;
output of Harmony:&lt;br/&gt;
&lt;br/&gt;
=========before sort=============&lt;br/&gt;
Element value is 122 index is 0&lt;br/&gt;
Element value is 146 index is 1&lt;br/&gt;
Element value is 178 index is 2&lt;br/&gt;
Element value is 208 index is 3&lt;br/&gt;
Element value is 117 index is 4&lt;br/&gt;
Element value is 146 index is 5&lt;br/&gt;
Element value is 173 index is 6&lt;br/&gt;
Element value is 203 index is 7&lt;br/&gt;
Element value is 56 index is 8&lt;br/&gt;
Element value is 82 index is 9&lt;br/&gt;
Element value is 96 index is 10&lt;br/&gt;
&lt;br/&gt;
=========after sort=============&lt;br/&gt;
Element value is 56 index is 8&lt;br/&gt;
Element value is 82 index is 9&lt;br/&gt;
Element value is 96 index is 10&lt;br/&gt;
Element value is 117 index is 4&lt;br/&gt;
Element value is 122 index is 0&lt;br/&gt;
Element value is 146 index is 5&lt;br/&gt;
Element value is 146 index is 1&lt;br/&gt;
Element value is 173 index is 6&lt;br/&gt;
Element value is 178 index is 2&lt;br/&gt;
Element value is 203 index is 7&lt;br/&gt;
Element value is 208 index is 3&lt;br/&gt;
&lt;br/&gt;
notice that in Harmony index 1 and 5 is out of order after sort</description>
                <environment></environment>
            <key id="12412966">HARMONY-6076</key>
        <summary>[eut][classlib][luni] - Arrays.sort(T[] a, Comparator&lt;? super T&gt; c)  is not stable</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="qiuxiaox">Sean Qiu</assignee>
            
                        <reporter username="regis_xu">Regis Xu</reporter>
            
    <created>Thu, 22 Jan 2009 07:34:48 +0000 (UTC)</created>
    <updated>Wed, 11 Feb 2009 05:43:52 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12672156" author="qiuxiaox" created="Tue, 10 Feb 2009 05:00:26 +0000 (UTC)"  >The incorrect patch is reverted at r742850.&lt;br/&gt;
Could you please verify it?&lt;br/&gt;
&lt;br/&gt;
Thank you very much.</comment>
                    <comment id="12672511" author="regis_xu" created="Wed, 11 Feb 2009 05:09:53 +0000 (UTC)"  >add regression test </comment>
                    <comment id="12672514" author="qiuxiaox" created="Wed, 11 Feb 2009 05:32:43 +0000 (UTC)"  >Thanks for your testcase.&lt;br/&gt;
It is applied at r743233.&lt;br/&gt;
Please verify if it works as you expected.</comment>
                    <comment id="12672518" author="regis_xu" created="Wed, 11 Feb 2009 05:43:52 +0000 (UTC)"  >Verified. Thanks Sean.</comment>
                </comments>
    
    <attachments>
            <attachment id="12399968" name="HARMONY-6076.diff" size="2070" author="regis_xu" created="Wed, 11 Feb 2009 05:09:53 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Tue, 10 Feb 2009 05:00:26 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Tue, 10 Feb 2009 05:00:26 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6075] [eut][classlib][luni] - URI returned by URI.relativize(URI) should set SchemeSpecificPart</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6075</link>

                    <description>the error of eut test testPathVariableLocation in org.eclipse.core.tests.resources is caused by this bug. Other errors in this test suite seems also caused bye this bug. &lt;br/&gt;
&lt;br/&gt;
following simple test show this problem:&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void test_relativize3() throws Exception {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URI uri = new URI(&amp;quot;file&amp;quot;, null, &amp;quot;/test/location&amp;quot;, null);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URI base = new URI(&amp;quot;file&amp;quot;, null, &amp;quot;/test&amp;quot;, null);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URI relative = base.relativize(uri);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assertEquals(&amp;quot;location&amp;quot;, relative.getSchemeSpecificPart());&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assertNull(relative.getScheme());&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
I&apos;ll attach patch to fix this soon.</description>
                <environment></environment>
            <key id="12412887">HARMONY-6075</key>
        <summary>[eut][classlib][luni] - URI returned by URI.relativize(URI) should set SchemeSpecificPart</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="tellison">Tim Ellison</assignee>
            
                        <reporter username="regis_xu">Regis Xu</reporter>
            
    <created>Wed, 21 Jan 2009 06:47:17 +0000 (UTC)</created>
    <updated>Mon, 9 Feb 2009 07:05:30 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12665732" author="regis_xu" created="Wed, 21 Jan 2009 06:53:16 +0000 (UTC)"  >Would anyone want to try this?</comment>
                    <comment id="12668088" author="tellison" created="Wed, 28 Jan 2009 17:32:27 +0000 (UTC)"  >Thanks Regis,&lt;br/&gt;
&lt;br/&gt;
Patch applied to LUNI module at repo revision r738561.&lt;br/&gt;
&lt;br/&gt;
Please check it was applied as you expected.&lt;br/&gt;
</comment>
                    <comment id="12671751" author="regis_xu" created="Mon, 9 Feb 2009 07:05:30 +0000 (UTC)"  >Verified. Thanks Tim.</comment>
                </comments>
    
    <attachments>
            <attachment id="12398377" name="HARMONY-6075.diff" size="1666" author="regis_xu" created="Wed, 21 Jan 2009 06:53:16 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Wed, 28 Jan 2009 17:32:27 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Wed, 28 Jan 2009 17:32:27 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6073] [classlib][nio]Is selector.close() should be non-blocking</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6073</link>

                    <description>Select.close() should be non-block, and should interrupt blocked select operations&lt;br/&gt;
&lt;br/&gt;
see the discussion on dev list:&lt;br/&gt;
&lt;a href=&quot;http://harmony.markmail.org/message/j4tan4pmx7nqhtzz&quot;&gt;http://harmony.markmail.org/message/j4tan4pmx7nqhtzz&lt;/a&gt;</description>
                <environment></environment>
            <key id="12412438">HARMONY-6073</key>
        <summary>[classlib][nio]Is selector.close() should be non-blocking</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="tony.wu">Tony Wu</assignee>
            
                        <reporter username="regis_xu">Regis Xu</reporter>
            
    <created>Thu, 15 Jan 2009 05:11:35 +0000 (UTC)</created>
    <updated>Fri, 16 Jan 2009 06:45:54 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12664006" author="regis_xu" created="Thu, 15 Jan 2009 06:04:18 +0000 (UTC)"  >&lt;a href=&quot;http://issues.apache.org/jira/browse/HARMONY-6073&quot; title=&quot;[classlib][nio]Is selector.close() should be non-blocking&quot;&gt;&lt;strike&gt;HARMONY-6073&lt;/strike&gt;&lt;/a&gt;.diff merge patches from Tony and me.</comment>
                    <comment id="12664026" author="nbeyer" created="Thu, 15 Jan 2009 07:17:55 +0000 (UTC)"  >The AtomicBoolean field should be marked final.</comment>
                    <comment id="12664027" author="regis_xu" created="Thu, 15 Jan 2009 07:40:05 +0000 (UTC)"  >Thanks Nathan, the new patch added &amp;quot;final&amp;quot; modifier</comment>
                    <comment id="12664406" author="tony.wu" created="Fri, 16 Jan 2009 05:34:26 +0000 (UTC)"  >Hi, regis&lt;br/&gt;
&lt;br/&gt;
patch has been integrated at r734911, please verify whether it was fixed as you expected. </comment>
                    <comment id="12664418" author="regis_xu" created="Fri, 16 Jan 2009 06:45:54 +0000 (UTC)"  >Verified. Thanks Tony.</comment>
                </comments>
    
    <attachments>
            <attachment id="12397939" name="HARMONY-6073.diff" size="2734" author="regis_xu" created="Thu, 15 Jan 2009 06:04:17 +0000 (UTC)" />
            <attachment id="12397950" name="HARMONY-6073v2.diff" size="2740" author="regis_xu" created="Thu, 15 Jan 2009 07:40:05 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Fri, 16 Jan 2009 05:34:26 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Thu, 15 Jan 2009 07:17:55 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6069] [drlvm][testing] VMTT compiles floats and longs incorrectly in constant pool</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6069</link>

                    <description>When a float is specified in the constant pool:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;/* #2 */ float = 35.0&lt;br/&gt;
&lt;br/&gt;
VMTT converts it to an int and stores it with a float tag. The result is that the float is stored as:&lt;br/&gt;
&lt;br/&gt;
0x00000023 (ie 35)&lt;br/&gt;
instead of&lt;br/&gt;
0x420C0000 (35.0).&lt;br/&gt;
</description>
                <environment></environment>
            <key id="12411984">HARMONY-6069</key>
        <summary>[drlvm][testing] VMTT compiles floats and longs incorrectly in constant pool</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="tellison">Tim Ellison</assignee>
            
                        <reporter username="andrewc">Andrew Cornwall</reporter>
            
    <created>Thu, 8 Jan 2009 23:31:48 +0000 (UTC)</created>
    <updated>Fri, 9 Jan 2009 16:48:02 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M8</fixVersion>
            
                
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12662169" author="andrewc" created="Thu, 8 Jan 2009 23:33:10 +0000 (UTC)"  >The attached file fixes the defect.</comment>
                    <comment id="12662171" author="andrewc" created="Thu, 8 Jan 2009 23:35:15 +0000 (UTC)"  >(removed extraneous println)</comment>
                    <comment id="12662178" author="andrewc" created="Thu, 8 Jan 2009 23:48:29 +0000 (UTC)"  >The same problem exists for doubles. This patch fixes both long and float defects.</comment>
                    <comment id="12662181" author="andrewc" created="Thu, 8 Jan 2009 23:56:23 +0000 (UTC)"  >&lt;a href=&quot;http://issues.apache.org/jira/browse/HARMONY-6069&quot; title=&quot;[drlvm][testing] VMTT compiles floats and longs incorrectly in constant pool&quot;&gt;&lt;strike&gt;HARMONY-6069&lt;/strike&gt;&lt;/a&gt;.jar is a patched version of DefaultCodeFileParser. If you put it on the classpath ahead of vmtt.jar in your vmtt.cmd/vmtt.sh executable, you&apos;ll get this fix.</comment>
                    <comment id="12662314" author="tellison" created="Fri, 9 Jan 2009 10:45:45 +0000 (UTC)"  >Thanks Andrew.&lt;br/&gt;
&lt;br/&gt;
Patch applied to vmtt at repo revision r733004.&lt;br/&gt;
&lt;br/&gt;
Please check it was applied as you expected.&lt;br/&gt;
</comment>
                    <comment id="12662420" author="andrewc" created="Fri, 9 Jan 2009 16:48:02 +0000 (UTC)"  >Patch was applied as expected. Thanks!</comment>
                </comments>
    
    <attachments>
            <attachment id="12397463" name="6069-floatlongfix.diff" size="1211" author="andrewc" created="Thu, 8 Jan 2009 23:48:29 +0000 (UTC)" />
            <attachment id="12397465" name="HARMONY-6069.jar" size="24921" author="andrewc" created="Thu, 8 Jan 2009 23:56:23 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Moderate]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                    <customfield id="customfield_12310041" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                    <customfieldname>Patch Info</customfieldname>
                    <customfieldvalues>
                            <customfieldvalue><![CDATA[Patch Available]]></customfieldvalue>
    
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Fri, 9 Jan 2009 10:45:45 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Fri, 9 Jan 2009 10:45:45 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6065] [drlvm][testing] VMTT generates bad lookupswitch code 25% of the time</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6065</link>

                    <description>The VMTT tool appears to generate bad bytecode when the lookupswitch instruction starts at instruction (4n-1). According to the spec, this code:&lt;br/&gt;
&lt;br/&gt;
0:	nop&lt;br/&gt;
1:	nop&lt;br/&gt;
2:	iload_1&lt;br/&gt;
3:	lookupswitch {&lt;br/&gt;
		1: 44&lt;br/&gt;
		4: 47&lt;br/&gt;
		9: 51&lt;br/&gt;
		16: 53&lt;br/&gt;
		default: 57&lt;br/&gt;
		}&lt;br/&gt;
should generate this output:&lt;br/&gt;
// 0:	nop&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		// 1:	nop&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		// 2:	iload_1&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x1B&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* lookupswitch size is:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		1: lookupswitch&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		0: padding&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: default address&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: npairs&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 1 match (1)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 1 value&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 2 match (4)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 2 value&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 3 match (9)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 3 value&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 4 match (16)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 4 value&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		Total: 41&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		// 3:	lookupswitch {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		//		1: 44&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		//		4: 47&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		//		9: 51&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		//		16: 53&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		//		default: 57&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		//		}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		xAB		// lookupswitch&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;						// no padding&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x36	// default: 3+54=57&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x04	// npairs: 4&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x01 // match: 1&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x29 // offset 3+41=44&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x04 // match: 4&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x2C // offset 3+44=47&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x09 // match: 9&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x30 // offset 3+48=51&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x10 // match: 16&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x32 // offset 3+50=53&lt;br/&gt;
&lt;br/&gt;
Instead, it generates this output:&lt;br/&gt;
// 0:	nop&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		// 1:	nop&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		// 2:	iload_1&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x1B&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* lookupswitch size is:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		1: lookupswitch&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: padding - looks like VMTT is giving us 4 bytes?!?&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: default address&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: npairs&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 1 match (1)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 1 value&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 2 match (4)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 2 value&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 3 match (9)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 3 value&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 4 match (16)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		4: case 4 value&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		Total: 41&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		// 3:	lookupswitch {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		//		1: 44&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		//		4: 47&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		//		9: 51&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		//		16: 53&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		//		default: 57&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		//		}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		xAB		// lookupswitch&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x00 // 4 bytes of padding?&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x36	// default: 3+54=57&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x04	// npairs: 4&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x01 // match: 1&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x29 // offset 3+41=44&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x04 // match: 4&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x2C // offset 3+44=47&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x09 // match: 9&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x30 // offset 3+48=51&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x10 // match: 16&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;		x00 x00 x00 x32 // offset 3+50=53&lt;br/&gt;
&lt;br/&gt;
In other words, it&apos;s emitting 4 bytes of padding instead of 0 bytes of padding after the xAB lookupswitch instruction. This is 4-aligned, but not what most VMs expect.</description>
                <environment></environment>
            <key id="12411817">HARMONY-6065</key>
        <summary>[drlvm][testing] VMTT generates bad lookupswitch code 25% of the time</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="leshik">Alexei Fedotov</assignee>
            
                        <reporter username="andrewc">Andrew Cornwall</reporter>
            
    <created>Tue, 6 Jan 2009 20:58:16 +0000 (UTC)</created>
    <updated>Mon, 2 Mar 2009 18:04:05 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>DRLVM</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12661320" author="andrewc" created="Tue, 6 Jan 2009 21:00:56 +0000 (UTC)"  >The second lookupswitch size above should read Total: 45. The fact that it&apos;s 45 bytes long and not 41 bytes long is the defect.</comment>
                    <comment id="12661377" author="andrewc" created="Tue, 6 Jan 2009 23:42:19 +0000 (UTC)"  >It looks as if tableswitch has the same problem (VMTT should insert 0 bytes padding, but instead inserts 4 bytes padding.)</comment>
                    <comment id="12664181" author="andrewc" created="Thu, 15 Jan 2009 17:29:03 +0000 (UTC)"  >The attached file 6065-switchpadding.diff fixes the defect.</comment>
                    <comment id="12677590" author="leshik" created="Fri, 27 Feb 2009 23:05:24 +0000 (UTC)"  >Committed at revision 748733. I have an excuse for committing this during freeze: VMTT is not a part of the release.</comment>
                    <comment id="12677591" author="leshik" created="Fri, 27 Feb 2009 23:06:21 +0000 (UTC)"  >Andrew, please verify the fix.</comment>
                    <comment id="12678050" author="andrewc" created="Mon, 2 Mar 2009 18:04:05 +0000 (UTC)"  >That&apos;s a very pretty fix!&lt;br/&gt;
&lt;br/&gt;
Issue verified. Thanks.</comment>
                </comments>
    
    <attachments>
            <attachment id="12397985" name="6065-switchpadding.diff" size="1203" author="andrewc" created="Thu, 15 Jan 2009 17:29:02 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Fri, 27 Feb 2009 23:05:24 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Fri, 27 Feb 2009 23:05:24 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6064] [classlib][prefs] move setting default provider of prefs to java code</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6064</link>

                    <description>As discussed on dev list, it&apos;s unnecessary set property &amp;quot;java.util.prefs.PreferencesFactory&amp;quot; in native code, move to java side is more clear.</description>
                <environment></environment>
            <key id="12411518">HARMONY-6064</key>
        <summary>[classlib][prefs] move setting default provider of prefs to java code</summary>

            <type id="4" iconUrl="http://issues.apache.org/jira/images/icons/improvement.gif">Improvement</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="nbeyer">Nathan Beyer</assignee>
            
                        <reporter username="regis_xu">Regis Xu</reporter>
            
    <created>Wed, 31 Dec 2008 07:16:40 +0000 (UTC)</created>
    <updated>Sun, 4 Jan 2009 03:09:55 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12660037" author="regis_xu" created="Wed, 31 Dec 2008 07:25:39 +0000 (UTC)"  >Would anyone want to try this?</comment>
                    <comment id="12660172" author="nbeyer" created="Thu, 1 Jan 2009 02:10:48 +0000 (UTC)"  >I&apos;ve applied the patch and all seems to be well. Please verify.</comment>
                    <comment id="12660523" author="regis_xu" created="Sun, 4 Jan 2009 03:09:55 +0000 (UTC)"  >Verified. Thanks Nathan!</comment>
                </comments>
    
    <attachments>
            <attachment id="12396957" name="HARMONY-6064.diff" size="3276" author="regis_xu" created="Wed, 31 Dec 2008 07:25:38 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Thu, 1 Jan 2009 02:10:48 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Thu, 1 Jan 2009 02:10:48 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6056] [classlib][jit][opt][performance] Optimize heap allocations in String(String, int) constructor for JIT</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6056</link>

                    <description>This patch optimizes heap allocations in String(String, int) constructor for JIT performance improvement.&lt;br/&gt;
</description>
                <environment></environment>
            <key id="12411123">HARMONY-6056</key>
        <summary>[classlib][jit][opt][performance] Optimize heap allocations in String(String, int) constructor for JIT</summary>

            <type id="4" iconUrl="http://issues.apache.org/jira/images/icons/improvement.gif">Improvement</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="5" iconUrl="http://issues.apache.org/jira/images/icons/status_resolved.gif">Resolved</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="tellison">Tim Ellison</assignee>
            
                        <reporter username="zhoukevin">Kevin Zhou</reporter>
            
    <created>Mon, 22 Dec 2008 03:07:43 +0000 (UTC)</created>
    <updated>Tue, 13 Jan 2009 19:30:13 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
            <timeoriginalestimate seconds="86400">24h</timeoriginalestimate>        <timeestimate seconds="86400">24h</timeestimate>                    

            <comments>
                    <comment id="12658441" author="zhoukevin" created="Mon, 22 Dec 2008 03:31:50 +0000 (UTC)"  >Would you please help to try it?</comment>
                    <comment id="12658444" author="nbeyer" created="Mon, 22 Dec 2008 03:59:02 +0000 (UTC)"  >Can you provide some context and background to this patch? Thanks</comment>
                    <comment id="12658445" author="zhoukevin" created="Mon, 22 Dec 2008 04:12:28 +0000 (UTC)"  >The private String(String, int) constructor is too heavy in its current implementation as it uses String.valueOf(int), which in turn uses Integer.toString(int), which contains two heap allocations inside. Apparently, if we use division to convert an integer to string can be much faster.&lt;br/&gt;
In addition, the changes on String.indexOf method can improve SPECjbb2005 score.</comment>
                    <comment id="12658446" author="zhoukevin" created="Mon, 22 Dec 2008 04:13:30 +0000 (UTC)"  >I hope that this would be valid for you</comment>
                    <comment id="12658467" author="aleksey.shipilev" created="Mon, 22 Dec 2008 08:39:34 +0000 (UTC)"  >Kevin, why not to patch Integer.toString(int) instead?</comment>
                    <comment id="12658730" author="zhoukevin" created="Tue, 23 Dec 2008 02:21:38 +0000 (UTC)"  >Integer.toString(int) contains two heap allocations inside which may be much slower than dividing and converting an integer to string.</comment>
                    <comment id="12661123" author="tellison" created="Tue, 6 Jan 2009 13:13:37 +0000 (UTC)"  >Aleksey: are you ok with this patch?&lt;br/&gt;
</comment>
                    <comment id="12661164" author="aleksey.shipilev" created="Tue, 6 Jan 2009 15:00:22 +0000 (UTC)"  >Had a annual memory reset during NY :)&lt;br/&gt;
&lt;br/&gt;
I agree with Kevin&apos;s rationale. Are you sure that the performance boost is about heap allocation? The code in the patch and Integer.toString(int) look different.&lt;br/&gt;
&lt;br/&gt;
On the other hand, if the added code in String(String, int) is inlined Integer.toString(int), this is a code duplication. My first thought was: to avoid that, can we just make package-private Integer.toString(char[], int, int), where we can put the target array, offset and the value? Then in String(String, int) we may just call that method. And finally, we can reduce the code duplication by calling the same method from Integer.toString() :)&lt;br/&gt;
&lt;br/&gt;
It would also testify the performance boost is related to heap allocation, not the changed conversion implementation.&lt;br/&gt;
If the boost is connected with specialized conversion for radix 10, then it&apos;s rather better to specialize it at Integer, rather than at String :)&lt;br/&gt;
&lt;br/&gt;
Does that makes sense?</comment>
                    <comment id="12661257" author="aleksey.shipilev" created="Tue, 6 Jan 2009 18:57:17 +0000 (UTC)"  >Just flashed into my mind.&lt;br/&gt;
Kevin, what javac/JVM you use to make the performance runs? Is it J9 or DRLVM? Are there any steps to reproduce the result?&lt;br/&gt;
&lt;br/&gt;
AFAIK, DRLVM does not substitute the &amp;quot;String s2 = (String)s1 + (int)v1;&amp;quot; to &amp;quot;new String(s1, v1)&amp;quot;, is it J9 who does this thing? If so the another benefit of generalizing your solution in Integer.toString(), because DRLVM can then tap on your probably-optimized radix-10 conversion when concatenating strings via StringBuilder.</comment>
                    <comment id="12661758" author="aleksey.shipilev" created="Wed, 7 Jan 2009 22:43:57 +0000 (UTC)"  >StringBench.jar&lt;br/&gt;
&lt;br/&gt;
Simple benchmark to evaluate &amp;quot;(String)base + (int)add&amp;quot; operation performance. I presume that the attached patch should increase the score on this benchmark.&lt;br/&gt;
&lt;br/&gt;
On Harmony-M7 at P-D 2.8 Ghz / PC2-5300 / Gentoo Linux x86:&lt;br/&gt;
&lt;br/&gt;
$ harmony-M7/bin/ava -Xms1024M -Xmx1024M -server -jar StringBench.jar&lt;br/&gt;
(String)base + (int)add:&lt;br/&gt;
-------------------------------------------&lt;br/&gt;
&amp;nbsp;base length (vars with rows): 0..2..10&lt;br/&gt;
&amp;nbsp;&amp;nbsp;add length (vars with cols): 0..2..10&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;loop duration = 100 msecs&lt;br/&gt;
&amp;nbsp;target variance = 0.05&lt;br/&gt;
&lt;br/&gt;
ops/msec, the more the better:&lt;br/&gt;
4369, 2842, 1976, 1563, 1226,&lt;br/&gt;
4462, 2829, 1966, 1555, 1225,&lt;br/&gt;
4430, 2836, 1956, 1563, 1223,&lt;br/&gt;
4394, 2831, 1956, 1558, 1217,&lt;br/&gt;
4357, 2821, 1954, 1551, 1217,&lt;br/&gt;
</comment>
                    <comment id="12662302" author="tellison" created="Fri, 9 Jan 2009 10:09:58 +0000 (UTC)"  >Do we agree to close this now?</comment>
                    <comment id="12663240" author="zhoukevin" created="Tue, 13 Jan 2009 06:18:32 +0000 (UTC)"  >Merge with &lt;a href=&quot;http://issues.apache.org/jira/browse/HARMONY-6068&quot; title=&quot;[luni] Improve Integer.toString(int) performance&quot;&gt;&lt;strike&gt;HARMONY-6068&lt;/strike&gt;&lt;/a&gt;. This can be closed now.</comment>
                    <comment id="12663434" author="aleksey.shipilev" created="Tue, 13 Jan 2009 19:30:13 +0000 (UTC)"  >Just wondering: is the boost from &lt;a href=&quot;http://issues.apache.org/jira/browse/HARMONY-6068&quot; title=&quot;[luni] Improve Integer.toString(int) performance&quot;&gt;&lt;strike&gt;HARMONY-6068&lt;/strike&gt;&lt;/a&gt; equals to this patch, while running on J9? &lt;br/&gt;
Where did it come from finally: reduced heap allocation or optimized conversion?</comment>
                </comments>
    
    <issuelinks>
                <issuelinktype id="10030">
            <name>Reference</name>
                            <outwardlinks description="relates to">
                            <issuelink>
            <issuekey id="12411931">HARMONY-6068</issuekey>
        </issuelink>
                    </outwardlinks>
                                </issuelinktype>
            </issuelinks>
    <attachments>
            <attachment id="12396577" name="HARMONY-6056.diff" size="2398" author="zhoukevin" created="Mon, 22 Dec 2008 03:31:50 +0000 (UTC)" />
            <attachment id="12397342" name="StringBench.jar" size="8190" author="aleksey.shipilev" created="Wed, 7 Jan 2009 22:52:37 +0000 (UTC)" />
            <attachment id="12397340" name="StringBench.jar" size="8185" author="aleksey.shipilev" created="Wed, 7 Jan 2009 22:43:57 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Moderate]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                                        <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Tue, 13 Jan 2009 06:18:33 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Mon, 22 Dec 2008 03:59:02 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6049] [classlib] [luni] Add some test cases for java.net.Authenticator and org.apache.harmony.luni.tests.internal.net.www.protocol.http.HttpURLConnection</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6049</link>

                    <description>Add some test cases for java.net.Authenticator and org.apache.harmony.luni.tests.internal.net.&lt;a href=&quot;http://www.protocol.http.HttpURLConnection&quot;&gt;www.protocol.http.HttpURLConnection&lt;/a&gt;.&lt;br/&gt;
[1] java.net.Authenticator adds test_setDefault() &lt;br/&gt;
[2] org.apache.harmony.luni.tests.internal.net.&lt;a href=&quot;http://www.protocol.http.HttpURLConnection&quot;&gt;www.protocol.http.HttpURLConnection&lt;/a&gt; adds test_getHeaderFields and testUsingProxy2 methods.</description>
                <environment></environment>
            <key id="12410764">HARMONY-6049</key>
        <summary>[classlib] [luni] Add some test cases for java.net.Authenticator and org.apache.harmony.luni.tests.internal.net.www.protocol.http.HttpURLConnection</summary>

            <type id="6" iconUrl="http://issues.apache.org/jira/images/icons/test.gif">Test</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="-1">Unassigned</assignee>
            
                        <reporter username="zhoukevin">Kevin Zhou</reporter>
            
    <created>Tue, 16 Dec 2008 06:13:02 +0000 (UTC)</created>
    <updated>Wed, 17 Dec 2008 08:25:36 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
            <timeoriginalestimate seconds="86400">24h</timeoriginalestimate>        <timeestimate seconds="86400">24h</timeestimate>                    

            <comments>
                    <comment id="12656896" author="zhoukevin" created="Tue, 16 Dec 2008 06:13:37 +0000 (UTC)"  >Would you please help to try it?</comment>
                    <comment id="12657270" author="qiuxiaox" created="Wed, 17 Dec 2008 03:06:17 +0000 (UTC)"  >Thanks for the patch, applied at r727252.&lt;br/&gt;
Would you mind to verify it?&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="12657312" author="zhoukevin" created="Wed, 17 Dec 2008 08:25:36 +0000 (UTC)"  >Thanks, Sean.</comment>
                </comments>
    
    <attachments>
            <attachment id="12396160" name="HARMONY-6049.diff" size="7177" author="zhoukevin" created="Tue, 16 Dec 2008 06:13:24 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Novice]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                                        <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Wed, 17 Dec 2008 03:06:17 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Wed, 17 Dec 2008 03:06:17 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6048] [classlib] [luni] Refactor InputStreamReader.HistoricalNamesUtil to org.apache.harmony.luni.util.HistoricalNamesUtil </title>
<link>http://issues.apache.org/jira/browse/HARMONY-6048</link>

                    <description>Refactor InputStreamReader.HistoricalNamesUtil to org.apache.harmony.luni.util.HistoricalNamesUtil.</description>
                <environment></environment>
            <key id="12410758">HARMONY-6048</key>
        <summary>[classlib] [luni] Refactor InputStreamReader.HistoricalNamesUtil to org.apache.harmony.luni.util.HistoricalNamesUtil </summary>

            <type id="4" iconUrl="http://issues.apache.org/jira/images/icons/improvement.gif">Improvement</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="qiuxiaox">Sean Qiu</assignee>
            
                        <reporter username="zhoukevin">Kevin Zhou</reporter>
            
    <created>Tue, 16 Dec 2008 02:36:27 +0000 (UTC)</created>
    <updated>Tue, 16 Dec 2008 05:38:12 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
            <timeoriginalestimate seconds="86400">24h</timeoriginalestimate>        <timeestimate seconds="86400">24h</timeestimate>                    

            <comments>
                    <comment id="12656856" author="zhoukevin" created="Tue, 16 Dec 2008 02:40:41 +0000 (UTC)"  >Would you please help to try it?</comment>
                    <comment id="12656874" author="qiuxiaox" created="Tue, 16 Dec 2008 04:03:35 +0000 (UTC)"  >Applied  at r726938.&lt;br/&gt;
Would you please verify whether it works as you expected?&lt;br/&gt;
Thank you for your patch.</comment>
                    <comment id="12656887" author="zhoukevin" created="Tue, 16 Dec 2008 05:38:12 +0000 (UTC)"  >Thanks, Sean. </comment>
                </comments>
    
    <attachments>
            <attachment id="12396150" name="HARMONY-6048.diff" size="22155" author="zhoukevin" created="Tue, 16 Dec 2008 02:40:41 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Moderate]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                                        <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Tue, 16 Dec 2008 04:03:35 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Tue, 16 Dec 2008 04:03:35 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6043] [classlib] [security] UnresolvedPermission.equals(Object) doesn&apos;t works well</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6043</link>

                    <description>Given a test case[1], RI works well while HARMONY fails.&lt;br/&gt;
&lt;br/&gt;
[1] UnresolvedPermissionTest &lt;br/&gt;
public class UnresolvedPermissionTest extends TestCase {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static final String type = &amp;quot;java.util.PropertyPermission&amp;quot;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static final String name = &amp;quot;os.name&amp;quot;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static final String action = &amp;quot;write,read&amp;quot;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void test_Scenario0() {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up1 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;null);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up2 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;null);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assertEquals(up1, up2);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void test_Scenario1() {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up1 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;null);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up2 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new java.security.cert.Certificate[0]);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assertFalse(up1.equals(up2));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void test_Scenario2() {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up1 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;null);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up2 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new java.security.cert.Certificate[2]);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assertFalse(up1.equals(up2));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void test_Scenario3() {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up1 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new java.security.cert.Certificate[0]);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up2 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new java.security.cert.Certificate[0]);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assertEquals(up1, up2);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void test_Scenario4() {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up1 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new java.security.cert.Certificate[0]);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up2 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new java.security.cert.Certificate[2]);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assertFalse(up1.equals(up2));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void test_Scenario5() {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up1 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new java.security.cert.Certificate[2]);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up2 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new java.security.cert.Certificate[2]);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;up1.equals(up2);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fail(&amp;quot;should throw NullPointerException&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (NullPointerException e) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Expected&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void test_Scenario6() {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up1 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new java.security.cert.Certificate[2]);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnresolvedPermission up2 = new UnresolvedPermission(type, name, action,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new java.security.cert.Certificate[5]);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;assertFalse(up1.equals(up2));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
}</description>
                <environment></environment>
            <key id="12410554">HARMONY-6043</key>
        <summary>[classlib] [security] UnresolvedPermission.equals(Object) doesn&apos;t works well</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="5" iconUrl="http://issues.apache.org/jira/images/icons/status_resolved.gif">Resolved</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="tony.wu">Tony Wu</assignee>
            
                        <reporter username="zhoukevin">Kevin Zhou</reporter>
            
    <created>Fri, 12 Dec 2008 06:27:10 +0000 (UTC)</created>
    <updated>Mon, 22 Dec 2008 03:25:13 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
            <timeoriginalestimate seconds="86400">24h</timeoriginalestimate>        <timeestimate seconds="86400">24h</timeestimate>                    

            <comments>
                    <comment id="12655900" author="zhoukevin" created="Fri, 12 Dec 2008 06:29:00 +0000 (UTC)"  >Would you please help to try it?</comment>
                    <comment id="12655901" author="zhoukevin" created="Fri, 12 Dec 2008 06:36:46 +0000 (UTC)"  >It seems that Harmony&apos;s behavior is different from RI.&lt;br/&gt;
Already make a patch attached.&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="12655909" author="zhoukevin" created="Fri, 12 Dec 2008 06:51:12 +0000 (UTC)"  >Patch applied to r725920.</comment>
                    <comment id="12656096" author="varlax" created="Fri, 12 Dec 2008 18:28:14 +0000 (UTC)"  >Guys, the patch is not really good.. One must make defensive copy when setting array properties - plain assigment of array reference is unsafe.&lt;br/&gt;
&lt;br/&gt;
Also, it is not really clear from the report what the problem is?  I have no Harmony build at hand nor RI 1.6 nearby, could you please cite console logs for the both runtimes?&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="12656100" author="varlax" created="Fri, 12 Dec 2008 18:35:10 +0000 (UTC)"  >Looking on the test source, I&apos;d rather consider this as non-bug difference. &lt;br/&gt;
Especially, test_Scenario5 vs test_Scenario6 is a true find - do we really have to comply?</comment>
                    <comment id="12658003" author="zhoukevin" created="Fri, 19 Dec 2008 04:23:56 +0000 (UTC)"  >Would you please help to try it?</comment>
                    <comment id="12658438" author="tony.wu" created="Mon, 22 Dec 2008 03:25:13 +0000 (UTC)"  >2nd patch applied at r728589 with handling to NPE.  Thanks Kevin. Please verify if it fixes as you expected.</comment>
                </comments>
    
    <attachments>
            <attachment id="12395910" name="HARMONY-6043.diff" size="12227" author="zhoukevin" created="Fri, 12 Dec 2008 06:29:00 +0000 (UTC)" />
            <attachment id="12396462" name="HARMONY-6043v2.diff" size="1473" author="zhoukevin" created="Fri, 19 Dec 2008 04:23:56 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Moderate]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                                        <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Mon, 22 Dec 2008 03:25:13 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Fri, 12 Dec 2008 18:28:14 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6042] [classlib][luni] Classes can not be loaded correctly in sealed-packages</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6042</link>

                    <description>Given a  test case [1], conduct it on HARMONY and RI.&lt;br/&gt;
RI works well while HARMONY can not.&lt;br/&gt;
&lt;br/&gt;
In addition, to run this test, you need to deploy three new jars to [support]/src/test/java/tests/resources/Package.&lt;br/&gt;
(1) hyts_d.jar: unsealed/no-manifest&lt;br/&gt;
(2) hyts_d1.jar: unsealed/manifest&lt;br/&gt;
(3) hyts_d2.jar: sealed/mainfest &lt;br/&gt;
&lt;br/&gt;
[1] Test Case&lt;br/&gt;
public void test_SealedPackage_forName() throws Exception {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Support_Resources.copyFile(resources, &amp;quot;Package&amp;quot;, &amp;quot;hyts_c.jar&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Support_Resources.copyFile(resources, &amp;quot;Package&amp;quot;, &amp;quot;hyts_d.jar&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Support_Resources.copyFile(resources, &amp;quot;Package&amp;quot;, &amp;quot;hyts_d1.jar&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Support_Resources.copyFile(resources, &amp;quot;Package&amp;quot;, &amp;quot;hyts_d2.jar&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URL resourceURL1 = new URL(&amp;quot;file:/&amp;quot; + resPath + &amp;quot;/Package/hyts_c.jar&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URL resourceURL2 = new URL(&amp;quot;file:/&amp;quot; + resPath + &amp;quot;/Package/hyts_d.jar&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URL resourceURL3 = new URL(&amp;quot;file:/&amp;quot; + resPath + &amp;quot;/Package/hyts_d1.jar&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URL resourceURL4 = new URL(&amp;quot;file:/&amp;quot; + resPath + &amp;quot;/Package/hyts_d2.jar&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URL resourceURL5 = new URL(&amp;quot;file:/&amp;quot; + resPath + &amp;quot;/&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URLClassLoader uclClassLoader;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// load from the sealed jar, then an unsealed jar with no manifest&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uclClassLoader = new java.net.URLClassLoader(new URL[] { resourceURL1,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resourceURL2 }, null);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.C&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.D&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fail(&amp;quot;should throw SecurityException&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (SecurityException e) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Expected&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// setup for next test&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Support_Resources.copyFile(resources, &amp;quot;p&amp;quot;, &amp;quot;&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InputStream in = uclClassLoader.getResourceAsStream(&amp;quot;p/D.class&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Support_Resources.copyLocalFileto(new File(resources.toString(),&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;p/D.class&amp;quot;), in);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// load from a sealed jar, then the directory&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uclClassLoader = new java.net.URLClassLoader(new URL[] { resourceURL1,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resourceURL5 }, null);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.C&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.D&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fail(&amp;quot;should throw SecurityException&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (SecurityException e) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Expected&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// load from a directory, then the sealed jar&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uclClassLoader = new java.net.URLClassLoader(new URL[] { resourceURL1,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resourceURL5 }, null);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.D&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.C&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fail(&amp;quot;should throw SecurityException&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (SecurityException e) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Expected&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// load from an unsealed jar with no manifest, then the sealed jar&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uclClassLoader = new java.net.URLClassLoader(new URL[] { resourceURL1,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resourceURL2 }, null);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.D&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.C&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fail(&amp;quot;should throw SecurityException&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (SecurityException e) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Expected&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// load from an unsealed jar with a manifest, then the sealed jar&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uclClassLoader = new java.net.URLClassLoader(new URL[] { resourceURL1,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resourceURL3 }, null);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.C&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.D&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fail(&amp;quot;should throw SecurityException&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (SecurityException e) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Expected&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// load from an sealed jar, then the unsealed jar with a manifest&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uclClassLoader = new java.net.URLClassLoader(new URL[] { resourceURL1,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resourceURL3 }, null);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.D&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.C&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fail(&amp;quot;should throw SecurityException&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (SecurityException e) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Expected&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// load from the sealed jar, then another sealed jar&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uclClassLoader = new java.net.URLClassLoader(new URL[] { resourceURL1,&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resourceURL4 }, null);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.C&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Class.forName(&amp;quot;p.D&amp;quot;, true, uclClassLoader);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fail(&amp;quot;should throw SecurityException&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (SecurityException e) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Expected&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}</description>
                <environment></environment>
            <key id="12410541">HARMONY-6042</key>
        <summary>[classlib][luni] Classes can not be loaded correctly in sealed-packages</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="qiuxiaox">Sean Qiu</assignee>
            
                        <reporter username="zhoukevin">Kevin Zhou</reporter>
            
    <created>Fri, 12 Dec 2008 02:07:18 +0000 (UTC)</created>
    <updated>Mon, 12 Jan 2009 07:35:38 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
            <timeoriginalestimate seconds="86400">24h</timeoriginalestimate>        <timeestimate seconds="86400">24h</timeestimate>                    

            <comments>
                    <comment id="12655860" author="zhoukevin" created="Fri, 12 Dec 2008 02:17:53 +0000 (UTC)"  >Would you please help to try it?</comment>
                    <comment id="12662864" author="qiuxiaox" created="Mon, 12 Jan 2009 03:21:24 +0000 (UTC)"  >The testing jar files are applied at r733589.&lt;br/&gt;
And the fix is applied at r733590.&lt;br/&gt;
&lt;br/&gt;
Would you please verify it if it works as you expected.&lt;br/&gt;
Thanks for your contribution.</comment>
                    <comment id="12662898" author="zhoukevin" created="Mon, 12 Jan 2009 07:35:38 +0000 (UTC)"  >Thanks, Sean!</comment>
                </comments>
    
    <attachments>
            <attachment id="12395900" name="HARMONY-6042.diff" size="6916" author="zhoukevin" created="Fri, 12 Dec 2008 02:17:53 +0000 (UTC)" />
            <attachment id="12395899" name="hyts_d.jar" size="652" author="zhoukevin" created="Fri, 12 Dec 2008 02:08:51 +0000 (UTC)" />
            <attachment id="12395897" name="hyts_d1.jar" size="1119" author="zhoukevin" created="Fri, 12 Dec 2008 02:08:51 +0000 (UTC)" />
            <attachment id="12395898" name="hyts_d2.jar" size="1133" author="zhoukevin" created="Fri, 12 Dec 2008 02:08:51 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Moderate]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                                        <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Mon, 12 Jan 2009 03:21:24 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Mon, 12 Jan 2009 03:21:24 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6038] [classlib] [beans] java.beans.Introspector.getBeanInfo doesn&apos;t works well and throws NPE</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6038</link>

                    <description>Conduct the given a test case [1] below on RI and HARMONY.&lt;br/&gt;
RI works well, while HARMONY will throw a NullPointerException [2]. &lt;br/&gt;
The exception is throw in StandardBeanInfo during the merging of properties from MockParent ang MockChild classes.&lt;br/&gt;
&lt;br/&gt;
[1] Test Case&lt;br/&gt;
public class IntrospectorTest extends TestCase {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static class MockParent {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void setValue(int v) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// do nothing&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void setValue(int v, String s) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// do nothing&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static class MockChild extends MockParent {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void setValue(int v) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// do nothing&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void test_Introspector() throws Exception {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BeanInfo beanInfo = Introspector.getBeanInfo(MockChild.class);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
}&lt;br/&gt;
[2] NPE Stack Trace:&lt;br/&gt;
java.lang.NullPointerException&lt;br/&gt;
	at java.beans.StandardBeanInfo.mergeProps(StandardBeanInfo.java:295)&lt;br/&gt;
	at java.beans.StandardBeanInfo.mergeBeanInfo(StandardBeanInfo.java:209)&lt;br/&gt;
	at java.beans.Introspector.getBeanInfoImpl(Introspector.java:282)&lt;br/&gt;
	at java.beans.Introspector.getBeanInfoImplAndInit(Introspector.java:347)&lt;br/&gt;
	at java.beans.Introspector.getBeanInfo(Introspector.java:162)&lt;br/&gt;
	at IntrospectorTest.test_MockObject(IntrospectorTest.java:27)</description>
                <environment></environment>
            <key id="12410277">HARMONY-6038</key>
        <summary>[classlib] [beans] java.beans.Introspector.getBeanInfo doesn&apos;t works well and throws NPE</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="5" iconUrl="http://issues.apache.org/jira/images/icons/status_resolved.gif">Resolved</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="-1">Unassigned</assignee>
            
                        <reporter username="zhoukevin">Kevin Zhou</reporter>
            
    <created>Tue, 9 Dec 2008 14:51:23 +0000 (UTC)</created>
    <updated>Fri, 12 Dec 2008 01:51:03 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
            <timeoriginalestimate seconds="86400">24h</timeoriginalestimate>        <timeestimate seconds="86400">24h</timeestimate>                    

            <comments>
                    <comment id="12654833" author="zhoukevin" created="Tue, 9 Dec 2008 15:34:43 +0000 (UTC)"  >Would you please help to review this patch?</comment>
                    <comment id="12655852" author="zhoukevin" created="Fri, 12 Dec 2008 01:50:35 +0000 (UTC)"  >Patch applied on r725765.</comment>
                </comments>
    
    <attachments>
            <attachment id="12395710" name="HARMONY-6038.diff" size="3760" author="zhoukevin" created="Wed, 10 Dec 2008 02:46:08 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Moderate]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                                        <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Fri, 12 Dec 2008 01:51:03 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                            </customfields>
    
</item>

<item>
<title>[HARMONY-6036] [classlib] [luni] HttpURLConnection does not have the &quot;Accept&quot; header</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6036</link>

                    <description>Start server [1], conduct HeaderTest [2] on HARMONY and RI.&lt;br/&gt;
They prints out the following headers.  Thereinto, RI has the &amp;quot;Accept&amp;quot;  header, while HARMONY doesn&apos;t. &lt;br/&gt;
&lt;br/&gt;
On RI:&lt;br/&gt;
GET / HTTP/1.1&lt;br/&gt;
User-Agent: Java/1.6.0_07&lt;br/&gt;
Host: 127.0.0.1:8030&lt;br/&gt;
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2&lt;br/&gt;
Connection: keep-alive&lt;br/&gt;
&lt;br/&gt;
On HARMONY:&lt;br/&gt;
GET / HTTP/1.1&lt;br/&gt;
User-Agent: Java/1.6.0_07&lt;br/&gt;
Host: 127.0.0.1:8030&lt;br/&gt;
Connection: keep-alive&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
[1] Server&lt;br/&gt;
public class MockServer {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String[] args) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MockServer server = new MockServer();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;server.await();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void await() {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ServerSocket serverSocket = null;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int port = 8030;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;serverSocket = new ServerSocket(port, 1, InetAddress&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.getByName(&amp;quot;127.0.0.1&amp;quot;));&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (IOException e) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.exit(1);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Loop waiting for a request&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (true) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Socket socket = null;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InputStream input = null;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OutputStream output = null;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;socket = serverSocket.accept();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;input = socket.getInputStream();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output = socket.getOutputStream();&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Scanner in = new Scanner(input);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PrintWriter out = new PrintWriter(output, true);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (in.hasNextLine()) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String line = in.nextLine();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(line);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Close the socket&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;socket.close();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// check if the previous URI is a shutdown command&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch (IOException e) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
[2] HeaderTest&lt;br/&gt;
public class HeaderTest {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String[] args) throws IOException {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URL url = new URL(&amp;quot;&lt;a href=&quot;http://127.0.0.1:8030&quot;&gt;http://127.0.0.1:8030&lt;/a&gt;&amp;quot;);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URLConnection conn = url.openConnection();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;conn.connect();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(conn.getLastModified());&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
}</description>
                <environment></environment>
            <key id="12410172">HARMONY-6036</key>
        <summary>[classlib] [luni] HttpURLConnection does not have the &quot;Accept&quot; header</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="5" iconUrl="http://issues.apache.org/jira/images/icons/status_resolved.gif">Resolved</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="qiuxiaox">Sean Qiu</assignee>
            
                        <reporter username="zhoukevin">Kevin Zhou</reporter>
            
    <created>Mon, 8 Dec 2008 07:53:38 +0000 (UTC)</created>
    <updated>Sun, 4 Jan 2009 04:45:19 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
            <timeoriginalestimate seconds="86400">24h</timeoriginalestimate>        <timeestimate seconds="86400">24h</timeestimate>                    

            <comments>
                    <comment id="12654345" author="zhoukevin" created="Mon, 8 Dec 2008 08:12:46 +0000 (UTC)"  >I investigated this problem and found that &amp;quot;Accept&amp;quot; property should be added&lt;br/&gt;
in&lt;br/&gt;
org.apache.harmony.luni.internal.net.&lt;a href=&quot;http://www.protocol.http.HttpURLConnection.createRequest()&quot;&gt;www.protocol.http.HttpURLConnection.createRequest()&lt;/a&gt;&lt;br/&gt;
method.&lt;br/&gt;
&lt;br/&gt;
From HTTP/1.1 specification, &amp;quot;If no Accept header field is present, then it&lt;br/&gt;
is assumed that the client accepts all media types&amp;quot;.&lt;br/&gt;
&lt;br/&gt;
if (reqHeader.get(&amp;quot;Accept&amp;quot;) == null) { //$NON-NLS-1$&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;output.append(&amp;quot;Accept: &amp;quot;text/html, image/gif, image/jpeg, *; &amp;quot;q=.2,&lt;br/&gt;
*/*; q=.2\r\n&amp;quot;); //$NON-NLS-1$&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="12656867" author="zhoukevin" created="Tue, 16 Dec 2008 03:39:10 +0000 (UTC)"  >Would you please help to try it?</comment>
                    <comment id="12660529" author="qiuxiaox" created="Sun, 4 Jan 2009 04:45:19 +0000 (UTC)"  >The patch is applied at r731174, please verify if it works as you expected.&lt;br/&gt;
Thanks for the patch.</comment>
                </comments>
    
    <attachments>
            <attachment id="12396154" name="HARMONY-6036.diff" size="7067" author="zhoukevin" created="Tue, 16 Dec 2008 03:39:10 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Moderate]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                                        <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Sun, 4 Jan 2009 04:45:19 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Sun, 4 Jan 2009 04:45:19 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6033] [classlib][awt] - remove unrecognized char in file Font.cpp</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6033</link>

                    <description>there are some unrecognized characters in comments, at file modules/awt/src/main/native/fontlib/shared/Font.cpp::168&lt;br/&gt;
</description>
                <environment></environment>
            <key id="12409948">HARMONY-6033</key>
        <summary>[classlib][awt] - remove unrecognized char in file Font.cpp</summary>

            <type id="4" iconUrl="http://issues.apache.org/jira/images/icons/improvement.gif">Improvement</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="tellison">Tim Ellison</assignee>
            
                        <reporter username="regis_xu">Regis Xu</reporter>
            
    <created>Thu, 4 Dec 2008 12:08:51 +0000 (UTC)</created>
    <updated>Fri, 5 Dec 2008 02:56:34 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12653273" author="regis_xu" created="Thu, 4 Dec 2008 12:12:18 +0000 (UTC)"  >I&apos;m not sure the patch could apply successfully, these chars may appear differently on different platform, this patch replace these chars with &amp;quot;font not found&amp;quot;</comment>
                    <comment id="12653299" author="tellison" created="Thu, 4 Dec 2008 13:51:29 +0000 (UTC)"  >Thanks Regis.&lt;br/&gt;
&lt;br/&gt;
Fixed in AWT module at repo revision r723324.&lt;br/&gt;
&lt;br/&gt;
Please verify.&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="12653602" author="regis_xu" created="Fri, 5 Dec 2008 02:56:34 +0000 (UTC)"  >Verified. Thanks Tim.</comment>
                </comments>
    
    <attachments>
            <attachment id="12395283" name="HARMONY-6033.diff" size="479" author="regis_xu" created="Thu, 4 Dec 2008 12:12:18 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Thu, 4 Dec 2008 13:51:29 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Thu, 4 Dec 2008 13:51:29 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6032] [classlib][luni] Add some test cases to java.util.ZipFile and JarFile</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6032</link>

                    <description>Add some test cases to java.util.ZipFile and java.util.JarFile</description>
                <environment></environment>
            <key id="12409880">HARMONY-6032</key>
        <summary>[classlib][luni] Add some test cases to java.util.ZipFile and JarFile</summary>

            <type id="6" iconUrl="http://issues.apache.org/jira/images/icons/test.gif">Test</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="tellison">Tim Ellison</assignee>
            
                        <reporter username="zhoukevin">Kevin Zhou</reporter>
            
    <created>Thu, 4 Dec 2008 05:42:02 +0000 (UTC)</created>
    <updated>Tue, 9 Dec 2008 04:45:37 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12653183" author="zhoukevin" created="Thu, 4 Dec 2008 05:42:45 +0000 (UTC)"  >Would you please help to try it?</comment>
                    <comment id="12654382" author="tellison" created="Mon, 8 Dec 2008 11:44:30 +0000 (UTC)"  >Thanks Kevin.&lt;br/&gt;
&lt;br/&gt;
Patch applied to ARCHIVE module at repo revision r724313.&lt;br/&gt;
&lt;br/&gt;
Please check it was applied as you expected.&lt;br/&gt;
</comment>
                    <comment id="12654700" author="zhoukevin" created="Tue, 9 Dec 2008 04:45:37 +0000 (UTC)"  >Thanks</comment>
                </comments>
    
    <attachments>
            <attachment id="12395262" name="HARMONY-6032.diff" size="5858" author="zhoukevin" created="Thu, 4 Dec 2008 05:42:45 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Moderate]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                                        <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Mon, 8 Dec 2008 11:44:30 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Mon, 8 Dec 2008 11:44:30 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6031] [web] Update for russian front-page</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6031</link>

                    <description></description>
                <environment></environment>
            <key id="12409650">HARMONY-6031</key>
        <summary>[web] Update for russian front-page</summary>

            <type id="4" iconUrl="http://issues.apache.org/jira/images/icons/improvement.gif">Improvement</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="leshik">Alexei Fedotov</assignee>
            
                        <reporter username="aleksey.shipilev">Aleksey Shipilev</reporter>
            
    <created>Tue, 2 Dec 2008 14:17:52 +0000 (UTC)</created>
    <updated>Tue, 2 Dec 2008 17:58:11 +0000 (UTC)</updated>

                
                
                        <component>Website/Documentation</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12652385" author="leshik" created="Tue, 2 Dec 2008 14:45:59 +0000 (UTC)"  >It seems that &amp;quot;-&amp;quot; is used incorrectly in most places. Should be &amp;amp;mdash;</comment>
                    <comment id="12652391" author="aleksey.shipilev" created="Tue, 2 Dec 2008 14:53:55 +0000 (UTC)"  >Hi Alexei,&lt;br/&gt;
&lt;br/&gt;
I appreciate the correctness of dashes, but I&apos;m using the style of ASF [1].&lt;br/&gt;
Anyway, using &amp;amp;mdash; tells me that:&lt;br/&gt;
&lt;br/&gt;
Buildfile: build.xml&lt;br/&gt;
&lt;br/&gt;
check-jre:&lt;br/&gt;
&lt;br/&gt;
site:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[echo]&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[echo]        #######################################################&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[echo]        #&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[echo]        #  Now using Anakia to transform our XML documentation&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[echo]        #  to HTML.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[echo]        #&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[echo]        #######################################################&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[echo]&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;[anakia] Transforming into: /home/shade/trunks/asf-web/site/docs&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;[anakia] Transforming into: /home/shade/trunks/asf-web/site/docs&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;[anakia] Input:  index.ru.xml&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;[anakia]&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;[anakia] Error: The entity &amp;quot;mdash&amp;quot; was referenced, but not declared.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;[anakia]        Line: 133 Column: 33&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;[anakia]&lt;br/&gt;
&lt;br/&gt;
I presume that&apos;s the site-wide problem, not with this change.&lt;br/&gt;
&lt;br/&gt;
[1] &lt;a href=&quot;http://harmony.apache.org/,&quot;&gt;http://harmony.apache.org/,&lt;/a&gt; &amp;quot;Welcome to Apache Harmony - Open Source Java SE.&amp;quot;</comment>
                    <comment id="12652415" author="leshik" created="Tue, 2 Dec 2008 16:09:19 +0000 (UTC)"  >Committed at r722507. Please check that the patch is applied as expected. Thank you.</comment>
                    <comment id="12652416" author="leshik" created="Tue, 2 Dec 2008 16:09:50 +0000 (UTC)"  >Fixed.</comment>
                    <comment id="12652440" author="aleksey.shipilev" created="Tue, 2 Dec 2008 17:58:11 +0000 (UTC)"  >Verified.</comment>
                </comments>
    
    <attachments>
            <attachment id="12395091" name="asf-web-russian-v1.patch" size="30793" author="aleksey.shipilev" created="Tue, 2 Dec 2008 14:18:09 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                            <customfield id="customfield_12310041" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                    <customfieldname>Patch Info</customfieldname>
                    <customfieldvalues>
                            <customfieldvalue><![CDATA[Patch Available]]></customfieldvalue>
    
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Tue, 2 Dec 2008 16:09:50 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Tue, 2 Dec 2008 14:45:59 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6030] [classlib][luni] - move platform independent code of OSMemory to shared directory</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6030</link>

                    <description>OSMemory.h and OSMemory.c has almost the same content in windows and unix,  they could be merged and moved to shared directory.</description>
                <environment></environment>
            <key id="12409533">HARMONY-6030</key>
        <summary>[classlib][luni] - move platform independent code of OSMemory to shared directory</summary>

            <type id="4" iconUrl="http://issues.apache.org/jira/images/icons/improvement.gif">Improvement</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="tellison">Tim Ellison</assignee>
            
                        <reporter username="regis_xu">Regis Xu</reporter>
            
    <created>Mon, 1 Dec 2008 08:04:51 +0000 (UTC)</created>
    <updated>Thu, 4 Dec 2008 03:00:44 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12652031" author="regis_xu" created="Mon, 1 Dec 2008 15:46:13 +0000 (UTC)"  >the patch move OSMemory.h to luni/shared, and merge all platform independent code to luni/shared/OSMemory.c, remove OSMemory.h/OSMemory.c in unix and windows directory. And also fix makefile to suit new structure. &lt;br/&gt;
</comment>
                    <comment id="12652066" author="tellison" created="Mon, 1 Dec 2008 17:20:37 +0000 (UTC)"  >So that we can retain history for the files that are being moved, could you please describe the change as a sequence of moves/deletes, followed by a patch -- otherwise it looks like this is a whole new version of OSMemory.c.&lt;br/&gt;
&lt;br/&gt;
For an example, see &lt;a href=&quot;http://issues.apache.org/jira/browse/HARMONY-5771&quot; title=&quot;[classlib][luni][performance] j.u.IdentityHashMap implementation based on HashMap code &quot;&gt;HARMONY-5771&lt;/a&gt;</comment>
                    <comment id="12652284" author="regis_xu" created="Tue, 2 Dec 2008 05:54:02 +0000 (UTC)"  >add a script to move the files, so the diff file could be more clear</comment>
                    <comment id="12652352" author="tellison" created="Tue, 2 Dec 2008 12:49:35 +0000 (UTC)"  >Thanks Regis.&lt;br/&gt;
&lt;br/&gt;
Patch applied to LUNI module at repo revision r722442.&lt;br/&gt;
&lt;br/&gt;
Please check it was applied as you expected.&lt;br/&gt;
</comment>
                    <comment id="12653140" author="regis_xu" created="Thu, 4 Dec 2008 03:00:44 +0000 (UTC)"  >Verified. Thanks Tim.</comment>
                </comments>
    
    <attachments>
            <attachment id="12395022" name="HARMONY-6030.diff" size="43762" author="regis_xu" created="Mon, 1 Dec 2008 15:46:13 +0000 (UTC)" />
            <attachment id="12395071" name="HARMONY-6030.v2.zip" size="3605" author="regis_xu" created="Tue, 2 Dec 2008 05:54:02 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Tue, 2 Dec 2008 12:49:35 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Mon, 1 Dec 2008 17:20:37 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6020] [DRLVM] Cyclical class dependency causes a failure not seen in RI</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6020</link>

                    <description>If two classes have a cyclical dependency, some unexpected results may occur, which are not seen on RI (Sun 6u10).</description>
                <environment>Win Vista 32-bit</environment>
            <key id="12408620">HARMONY-6020</key>
        <summary>[DRLVM] Cyclical class dependency causes a failure not seen in RI</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="5" iconUrl="http://issues.apache.org/jira/images/icons/status_resolved.gif">Resolved</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="chunrong lai">Chunrong Lai</assignee>
            
                        <reporter username="nbeyer">Nathan Beyer</reporter>
            
    <created>Mon, 17 Nov 2008 02:48:12 +0000 (UTC)</created>
    <updated>Wed, 14 Jan 2009 09:27:30 +0000 (UTC)</updated>

                        <version>5.0M8</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>DRLVM</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12648069" author="nbeyer" created="Mon, 17 Nov 2008 02:52:02 +0000 (UTC)"  >cycle-project.zip&lt;br/&gt;
&lt;br/&gt;
This file contains an Eclipse project export with a few classes that present a contrived example. If the &apos;cycle.Main&apos; class is run on an RI, the toString value of an object is printed. On M7 and current trunk build of Harmony (DRLVM + Classlib), a NullPointException with a cause of ExceptionInInitializer.</comment>
                    <comment id="12648631" author="tellison" created="Tue, 18 Nov 2008 15:52:02 +0000 (UTC)"  >Redirecting to the DRLVM since this works with Harmony class libraries and the IBM VME&lt;br/&gt;
&lt;br/&gt;
Stack dump on DRLVM is&lt;br/&gt;
&lt;br/&gt;
C:\temp&amp;gt;\harmony-jdk-713673\jre\bin\java -showversion -jar cycle.jar&lt;br/&gt;
Apache Harmony Launcher : (c) Copyright 1991, 2008 The Apache Software Foundation or its licensors, as applicable.&lt;br/&gt;
java version &amp;quot;1.5.0&amp;quot;&lt;br/&gt;
pre-alpha : not complete or compatible&lt;br/&gt;
svn = r713673, (Nov 13 2008), Windows/ia32/msvc 1310, release build&lt;br/&gt;
&lt;a href=&quot;http://harmony.apache.org&quot;&gt;http://harmony.apache.org&lt;/a&gt;&lt;br/&gt;
Uncaught exception in main:&lt;br/&gt;
java.lang.reflect.InvocationTargetException&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.reflect.Method.invoke(Method.java:317)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.apache.harmony.vm.JarRunner.main(JarRunner.java:89)&lt;br/&gt;
Caused by: java.lang.ExceptionInInitializerError&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at cycle.Parent.&amp;lt;clinit&amp;gt;(Parent.java:5)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at cycle.Main.main(Main.java:6)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;... 2 more&lt;br/&gt;
Caused by: java.lang.NullPointerException&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at cycle.Parent.getCachedChild(Parent.java:8)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at cycle.Parent.createChild(Parent.java:19)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at cycle.Child.&amp;lt;clinit&amp;gt;(Child.java:4)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at cycle.Parent.&amp;lt;clinit&amp;gt;(Parent.java:5)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;... 4 more&lt;br/&gt;
</comment>
                    <comment id="12659771" author="chunrong lai" created="Tue, 30 Dec 2008 08:41:55 +0000 (UTC)"  >&lt;br/&gt;
&amp;nbsp;(1) The test case can be further reduced as below:&lt;br/&gt;
&lt;br/&gt;
public class Main {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String[] args) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Child c = Parent.createChild();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.err.println(c);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.err.println(Child.ROOT);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
class Parent {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//private static final Child childCache = new Child();&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static final Child[] childCache = new Child[5];&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static Child createChild(){&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return childCache[0];&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//return childCache;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
class Child {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static final Child ROOT = Parent.createChild();&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;While the exception raises from jitted codes of DRLVM:&lt;br/&gt;
&lt;br/&gt;
01F00406  mov         ecx,dword ptr ds:[34582A0h]   //REturn: childCache //Same as Non-Array Case&lt;br/&gt;
&amp;nbsp;&lt;br/&gt;
01F0040C  cmp         dword ptr [ecx+8],0           //If ArraySize is 0, throw an exception?&lt;br/&gt;
01F00410  ht ja       01F0043B                             //The exception raises from here because the non-inited array has non-assigned length of 0&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//According to JVM spec, we should just return null for non-inited field?&lt;br/&gt;
01F0043B  mov         edx,dword ptr [ecx+0Ch]       //Return childCache[0]&lt;br/&gt;
01F0043E  mov         eax,edx &lt;br/&gt;
01F00440  mov         ebp,dword ptr [esp+0ACh]      //We are returning, Same as Non-Array Case&lt;br/&gt;
&lt;br/&gt;
(2) If the cyclic dependence happens not in Array but in a normal object (comment the &amp;quot;Child[] childCache&amp;quot; in Class Parent but uncomment the &amp;quot;Child childCache&amp;quot;), Harmony passes with an exactly same behavior with RI (Child.Root=null, another valid Child object returns in main()).  So I do not see harmony has problem for cyclic class loading itself.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I checked the classloading code and class initialization code and saw it is compatiable with JVM spec.&lt;br/&gt;
&lt;br/&gt;
(3)   Anyway there are two valid fixes to me: the first is simply removing the two lines of array length checking binaries (for getStatic). The second is enforcing an array length for the static array field in the very beginning of class initialization. I prefer the first one since I do not see corresponding part in JVM spec for the second approach.&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;Feedback?</comment>
                    <comment id="12659786" author="chunrong lai" created="Tue, 30 Dec 2008 10:21:05 +0000 (UTC)"  >&lt;br/&gt;
&amp;nbsp;Thanks for xiaofeng.&lt;br/&gt;
&amp;nbsp;Adding NullCheck for the array looks a better approach.</comment>
                    <comment id="12660536" author="xiao-feng li" created="Sun, 4 Jan 2009 06:44:50 +0000 (UTC)"  >When we look at this class definition:&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;class Parent {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static final Child[] childCache = new Child[5];&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static Child createChild(){&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return childCache[0];&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
&amp;nbsp;}&lt;br/&gt;
&lt;br/&gt;
It is clear that, the semantics expectation is, childCache should be assigned a value when class Parent is ready (i.e., initialized). And this value should be assigned to childCache before anybody can access any Parent&apos;s method, e.g., createChild(). This is the semantics expectation. I guess we need to ensure this semantics.&lt;br/&gt;
&lt;br/&gt;
Can we simply let this Child clinit() execute in this way: When it tries to call Parent.createChild() and finds Parent is under initialization, it simply returns null to ROOT without really invoking createChild(). &lt;br/&gt;
&lt;br/&gt;
According to the JVM spec 2.17.4, it requires any static method invocation must happen after the class is &amp;quot;initialized.&amp;quot; The problem is, how to deal with the situation when a static method is invoked when the owning class is under initialization. &lt;br/&gt;
&lt;br/&gt;
Thanks,&lt;br/&gt;
xiaofeng&lt;br/&gt;
</comment>
                    <comment id="12661035" author="chunrong lai" created="Tue, 6 Jan 2009 02:41:00 +0000 (UTC)"  >&lt;br/&gt;
&amp;nbsp;&amp;nbsp;I commit the patch for the exception in array allocation case in r731515. As the result Harmony gets same behavior for the test cases covered in this JIRA as RI. Please verify it.</comment>
                    <comment id="12661414" author="nbeyer" created="Wed, 7 Jan 2009 02:47:43 +0000 (UTC)"  >Can we get a regression test added to the DRLVM test suites?</comment>
                    <comment id="12661426" author="nbeyer" created="Wed, 7 Jan 2009 03:32:04 +0000 (UTC)"  >I&apos;ve verified that the cycle-project attached now works as expected. We still need to get a regression test added.</comment>
                    <comment id="12661428" author="chunrong lai" created="Wed, 7 Jan 2009 03:41:08 +0000 (UTC)"  >&lt;br/&gt;
&amp;nbsp;&amp;nbsp;The commit is verified. So close the issue.</comment>
                    <comment id="12661432" author="nbeyer" created="Wed, 7 Jan 2009 04:00:07 +0000 (UTC)"  >Reopening - we need a regression test.</comment>
                    <comment id="12662008" author="chunrong lai" created="Thu, 8 Jan 2009 15:40:51 +0000 (UTC)"  >&lt;br/&gt;
&amp;nbsp;Regression Test added in r732726. Please verify.</comment>
                    <comment id="12662233" author="nbeyer" created="Fri, 9 Jan 2009 03:16:15 +0000 (UTC)"  >I know that putting more than one class in a file is allowed, but it&apos;s an ugly and confusing practice. Please refactor the classes into their own files.</comment>
                    <comment id="12663667" author="chunrong lai" created="Wed, 14 Jan 2009 09:27:30 +0000 (UTC)"  >&lt;br/&gt;
&amp;nbsp;Tests are refactored. </comment>
                </comments>
    
    <issuelinks>
                <issuelinktype id="10032">
            <name>Blocker</name>
                            <outwardlinks description="blocks">
                            <issuelink>
            <issuekey id="12411332">HARMONY-6062</issuekey>
        </issuelink>
                    </outwardlinks>
                                </issuelinktype>
            </issuelinks>
    <attachments>
            <attachment id="12394034" name="cycle-project.zip" size="1861" author="nbeyer" created="Mon, 17 Nov 2008 02:51:59 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Advanced]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                                        <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Wed, 14 Jan 2009 09:27:30 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Tue, 18 Nov 2008 15:52:02 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6012] [class] [luni] Add several test cases to luni module.</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6012</link>

                    <description>Add some test cases to luni modules including:&lt;br/&gt;
[1] ThreadGroup&lt;br/&gt;
[2] HttpURLConnection&lt;br/&gt;
[3] String</description>
                <environment></environment>
            <key id="12408134">HARMONY-6012</key>
        <summary>[class] [luni] Add several test cases to luni module.</summary>

            <type id="6" iconUrl="http://issues.apache.org/jira/images/icons/test.gif">Test</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="qiuxiaox">Sean Qiu</assignee>
            
                        <reporter username="zhoukevin">Kevin Zhou</reporter>
            
    <created>Mon, 10 Nov 2008 08:35:22 +0000 (UTC)</created>
    <updated>Tue, 9 Dec 2008 04:45:21 +0000 (UTC)</updated>

                        <version>5.0M7</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
            <timeoriginalestimate seconds="86400">24h</timeoriginalestimate>        <timeestimate seconds="86400">24h</timeestimate>                    

            <comments>
                    <comment id="12646204" author="zhoukevin" created="Mon, 10 Nov 2008 08:38:25 +0000 (UTC)"  >Would you please help to try it?</comment>
                    <comment id="12646205" author="qiuxiaox" created="Mon, 10 Nov 2008 08:39:42 +0000 (UTC)"  >I&apos;ll apply it after code freezing. &lt;br/&gt;
Thank you for your patch.</comment>
                    <comment id="12646487" author="zhoukevin" created="Tue, 11 Nov 2008 06:08:45 +0000 (UTC)"  >Add one more test case for [1].</comment>
                    <comment id="12650933" author="qiuxiaox" created="Wed, 26 Nov 2008 10:32:17 +0000 (UTC)"  >test_destroy_OverrideEquals Error Already destroyed&lt;br/&gt;
&lt;br/&gt;
java.lang.IllegalThreadStateException: Already destroyed&lt;br/&gt;
at java.lang.ThreadGroup.destroy(ThreadGroup.java:244)&lt;br/&gt;
at java.lang.ThreadGroup.destroy(ThreadGroup.java:253)&lt;br/&gt;
at org.apache.harmony.luni.tests.java.lang.ThreadGroupTest.test_destroy_OverrideEquals(ThreadGroupTest.java:371)&lt;br/&gt;
at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25)&lt;br/&gt;
&lt;br/&gt;
I can&apos;t pass this test, am I missing something?&lt;br/&gt;
Would you please try it again?</comment>
                    <comment id="12653620" author="zhoukevin" created="Fri, 5 Dec 2008 04:30:53 +0000 (UTC)"  >Would you please try this patch?</comment>
                    <comment id="12653622" author="zhoukevin" created="Fri, 5 Dec 2008 04:34:52 +0000 (UTC)"  >I have modified this patch. </comment>
                    <comment id="12653629" author="zhoukevin" created="Fri, 5 Dec 2008 05:04:38 +0000 (UTC)"  >Would you please help to try this?</comment>
                    <comment id="12653630" author="zhoukevin" created="Fri, 5 Dec 2008 05:06:04 +0000 (UTC)"  >Has raised a new bug issue of DRLVM in terms of the previous failures on ThreadGroup.&lt;br/&gt;
&lt;br/&gt;
In addition, I add one more test case on ResourceBundle.&lt;br/&gt;
</comment>
                    <comment id="12654293" author="zhoukevin" created="Mon, 8 Dec 2008 03:28:57 +0000 (UTC)"  >Add one more test on InetAddressTest. Would you please try it?</comment>
                    <comment id="12654689" author="qiuxiaox" created="Tue, 9 Dec 2008 03:41:09 +0000 (UTC)"  >Thanks for you testcases, Kevin.&lt;br/&gt;
Applied at r724594 with minor modification.&lt;br/&gt;
</comment>
                </comments>
    
    <attachments>
            <attachment id="12393688" name="HARMONY-6012.diff" size="6943" author="zhoukevin" created="Tue, 11 Nov 2008 06:08:44 +0000 (UTC)" />
            <attachment id="12395365" name="HARMONY-6012v2.diff" size="4792" author="zhoukevin" created="Fri, 5 Dec 2008 05:04:38 +0000 (UTC)" />
            <attachment id="12395523" name="HARMONY-6012v3.diff" size="6426" author="zhoukevin" created="Mon, 8 Dec 2008 03:28:57 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Novice]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                    <customfield id="customfield_12310041" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                    <customfieldname>Patch Info</customfieldname>
                    <customfieldvalues>
                            <customfieldvalue><![CDATA[Patch Available]]></customfieldvalue>
    
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Tue, 9 Dec 2008 03:41:09 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Mon, 10 Nov 2008 08:39:42 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6011] [Classlib] [luni] Add test case to RandomAccessFile</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6011</link>

                    <description></description>
                <environment></environment>
            <key id="12408125">HARMONY-6011</key>
        <summary>[Classlib] [luni] Add test case to RandomAccessFile</summary>

            <type id="6" iconUrl="http://issues.apache.org/jira/images/icons/test.gif">Test</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="5" iconUrl="http://issues.apache.org/jira/images/icons/status_resolved.gif">Resolved</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="qiuxiaox">Sean Qiu</assignee>
            
                        <reporter username="zhoukevin">Kevin Zhou</reporter>
            
    <created>Mon, 10 Nov 2008 02:34:01 +0000 (UTC)</created>
    <updated>Wed, 26 Nov 2008 07:59:22 +0000 (UTC)</updated>

                        <version>5.0M7</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
            <timeoriginalestimate seconds="86400">24h</timeoriginalestimate>        <timeestimate seconds="86400">24h</timeestimate>                    

            <comments>
                    <comment id="12646153" author="zhoukevin" created="Mon, 10 Nov 2008 02:47:26 +0000 (UTC)"  >Would you please help to try this?</comment>
                    <comment id="12650891" author="qiuxiaox" created="Wed, 26 Nov 2008 07:59:22 +0000 (UTC)"  >Patch applied at r720754&lt;br/&gt;
Could you please verify whether it works as expected.&lt;br/&gt;
&lt;br/&gt;
Thanks very much for the patch.</comment>
                </comments>
    
    <attachments>
            <attachment id="12393604" name="HARMONY-6011.diff" size="1460" author="zhoukevin" created="Mon, 10 Nov 2008 02:47:26 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                            <customfield id="customfield_12310041" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                    <customfieldname>Patch Info</customfieldname>
                    <customfieldvalues>
                            <customfieldvalue><![CDATA[Patch Available]]></customfieldvalue>
    
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Wed, 26 Nov 2008 07:59:22 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Wed, 26 Nov 2008 07:59:22 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-6006] [classlib] [luni] Cannot process platform paths using backslash</title>
<link>http://issues.apache.org/jira/browse/HARMONY-6006</link>

                    <description>Defect Reproduce Steps:&lt;br/&gt;
1. Make folders like /ffs0/niagara/bin&lt;br/&gt;
2. Make a symbolic prefix link &amp;quot;/niagara&amp;quot; using the command:&lt;br/&gt;
ln -s /ffs0/niagara /niagara&lt;br/&gt;
3. Run CanonicalPathTest [1] using the command:&lt;br/&gt;
java CanonicalPathTest /niagara /ffs0/niagara /niagara/bin /ffs0/niagara/bin&lt;br/&gt;
4. Defect Result shown as [2], the correct result should  be [3].&lt;br/&gt;
&lt;br/&gt;
[1] CanonicalPathTest.java&lt;br/&gt;
import java.io.File;&lt;br/&gt;
import java.io.IOException;&lt;br/&gt;
public class CanonicalPathTest {&lt;br/&gt;
public static void main(String[] args) throws IOException {&lt;br/&gt;
File file = null;&lt;br/&gt;
for (int index = 0; index &amp;lt; args.length; index++) { file = new File(args[index]); System.out.println(args[index] + &amp;quot;-&amp;gt;&amp;quot; + file.getCanonicalPath()); }&lt;br/&gt;
}&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
[2] Defect Result:&lt;br/&gt;
/niagara-&amp;gt;/ffs0/niagara&lt;br/&gt;
/ffs0/niagara-&amp;gt;/ffs0/niagara&lt;br/&gt;
/niagara/bin-&amp;gt;/niagara/bin   // it&apos;s wrong&lt;br/&gt;
/ffs0/niagara/bin-&amp;gt;/ffs0/niagara/bin&lt;br/&gt;
&lt;br/&gt;
[3] Correct Result:&lt;br/&gt;
/niagara-&amp;gt;/ffs0/niagara&lt;br/&gt;
/ffs0/niagara-&amp;gt;/ffs0/niagara&lt;br/&gt;
/niagara/bin-&amp;gt;/ffs0/niagara/bin&lt;br/&gt;
/ffs0/niagara/bin-&amp;gt;/ffs0/niagara/bi</description>
                <environment></environment>
            <key id="12407689">HARMONY-6006</key>
        <summary>[classlib] [luni] Cannot process platform paths using backslash</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="5" iconUrl="http://issues.apache.org/jira/images/icons/status_resolved.gif">Resolved</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="qiuxiaox">Sean Qiu</assignee>
            
                        <reporter username="zhoukevin">Kevin Zhou</reporter>
            
    <created>Mon, 3 Nov 2008 09:20:21 +0000 (UTC)</created>
    <updated>Thu, 27 Nov 2008 02:39:43 +0000 (UTC)</updated>

                        <version>5.0M7</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
            <timeoriginalestimate seconds="86400">24h</timeoriginalestimate>        <timeestimate seconds="86400">24h</timeestimate>                    

            <comments>
                    <comment id="12644667" author="zhoukevin" created="Mon, 3 Nov 2008 09:20:55 +0000 (UTC)"  >Would you please help to try it?</comment>
                    <comment id="12644674" author="qiuxiaox" created="Mon, 3 Nov 2008 09:45:14 +0000 (UTC)"  >Though the patch seems all right, could you add some tests to indicate the issue?&lt;br/&gt;
Thank you in advance for your work.</comment>
                    <comment id="12644876" author="zhoukevin" created="Tue, 4 Nov 2008 01:52:23 +0000 (UTC)"  >Add a test case for your convenience. Would you please help to try it?</comment>
                    <comment id="12644877" author="qiuxiaox" created="Tue, 4 Nov 2008 02:06:47 +0000 (UTC)"  >Thank you, Kevin.&lt;br/&gt;
Since we&apos;re in the stage of M8, the repository is freezed.&lt;br/&gt;
I&apos;ll apply it after the M8 is completed.</comment>
                    <comment id="12651228" author="qiuxiaox" created="Thu, 27 Nov 2008 02:39:43 +0000 (UTC)"  >Applied at r721071 with minor modification.&lt;br/&gt;
Would you please veirfy it whether it works as expected?&lt;br/&gt;
Thanks very much for your patch.</comment>
                </comments>
    
    <attachments>
            <attachment id="12393276" name="HARMONY-6006.diff" size="8152" author="zhoukevin" created="Tue, 4 Nov 2008 01:52:23 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Unknown]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                                        <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Thu, 27 Nov 2008 02:39:43 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Mon, 3 Nov 2008 09:45:14 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-5959] [java6][classlib][luni]Merge TreeMap performance enhancement into java6 level</title>
<link>http://issues.apache.org/jira/browse/HARMONY-5959</link>

                    <description>Harmony java5 TreeMap has great improvement on performance, however as java6 TreeMap has a great change in API and inner structure, we need to merge this two changes together. &lt;br/&gt;
The target is to complete all API changes as well as keep the performance improvement. A simple way here is keep the java5 level method as simple as it is and add new inner classes to extends the java6 methods.&lt;br/&gt;
After this merge I believe there are still some improvement to go.</description>
                <environment>all platform</environment>
            <key id="12403136">HARMONY-5959</key>
        <summary>[java6][classlib][luni]Merge TreeMap performance enhancement into java6 level</summary>

            <type id="4" iconUrl="http://issues.apache.org/jira/images/icons/improvement.gif">Improvement</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="5" iconUrl="http://issues.apache.org/jira/images/icons/status_resolved.gif">Resolved</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="purefire">Jimmy, Jing Lv</assignee>
            
                        <reporter username="purefire">Jimmy, Jing Lv</reporter>
            
    <created>Wed, 27 Aug 2008 05:42:28 +0000 (UTC)</created>
    <updated>Thu, 12 Feb 2009 09:47:48 +0000 (UTC)</updated>

                
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12657324" author="purefire" created="Wed, 17 Dec 2008 09:55:20 +0000 (UTC)"  >I am committing the new java6 TreeMap into repository, with new testcases in. </comment>
                    <comment id="12657338" author="purefire" created="Wed, 17 Dec 2008 10:42:11 +0000 (UTC)"  >Committed at r727339.&lt;br/&gt;
I&apos;m still working out some testcases, which helps to improve the quality of TreeMap.</comment>
                    <comment id="12672934" author="purefire" created="Thu, 12 Feb 2009 09:46:24 +0000 (UTC)"  >New committed at r743673, the TreeMap seems stable. I believe we can resolve this issue now.</comment>
                </comments>
    
    <attachments>
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Thu, 12 Feb 2009 09:47:48 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                            </customfields>
    
</item>

<item>
<title>[HARMONY-5917] localization of Harmony VM</title>
<link>http://issues.apache.org/jira/browse/HARMONY-5917</link>

                    <description>localization of Harmony VM, by replacing WARN with LWARN and DIE with LDIE.</description>
                <environment></environment>
            <key id="12400510">HARMONY-5917</key>
        <summary>localization of Harmony VM</summary>

            <type id="4" iconUrl="http://issues.apache.org/jira/images/icons/improvement.gif">Improvement</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="leshik">Alexei Fedotov</assignee>
            
                        <reporter username="senakafdo">Senaka Fernando</reporter>
            
    <created>Thu, 17 Jul 2008 19:47:12 +0000 (UTC)</created>
    <updated>Fri, 27 Feb 2009 09:43:19 +0000 (UTC)</updated>

                
                
                        <component>VM</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12617270" author="leshik" created="Sun, 27 Jul 2008 11:06:27 +0000 (UTC)"  >Senaka, threading module does not support LDIE. The submitted patches for VM should pass &amp;quot;ant test&amp;quot; for any of supported platforms, i.e. you have to run a small set of tests before submitting the patch.</comment>
                    <comment id="12617276" author="senakafdo" created="Sun, 27 Jul 2008 12:18:33 +0000 (UTC)"  >Hi Alexei,&lt;br/&gt;
&lt;br/&gt;
I found that the classloader.cpp infact had an error. I&apos;m still in search of the other two. However, &apos;ant test&apos; and &apos;ant test2&apos; don&apos;t seem to work with or with out the patch. I doubt whether I&apos;m missing anything here.&lt;br/&gt;
&lt;br/&gt;
Also, I&apos;m on a Ubuntu Hardy using gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7).&lt;br/&gt;
&lt;br/&gt;
Regards,&lt;br/&gt;
Senaka</comment>
                    <comment id="12617284" author="leshik" created="Sun, 27 Jul 2008 13:05:09 +0000 (UTC)"  >I could not make a debug version of DRLVM work: got crash with 53 error code. Fortunately I got a Microsoft &amp;quot;heroes&amp;quot; pack with MSVC debugger - if it would work, I would locate a crash. Otherwise I&apos;m to revive my Linux.</comment>
                    <comment id="12617289" author="leshik" created="Sun, 27 Jul 2008 13:29:19 +0000 (UTC)"  >My problem was a known issue. I need to find four msvc debugging dlls to make things wok.</comment>
                    <comment id="12617295" author="leshik" created="Sun, 27 Jul 2008 14:09:52 +0000 (UTC)"  >Senaka,&lt;br/&gt;
Why LDIE085 appears twice at the patch for working_vm/vm/vmcore/src/init/harmony.properties?&lt;br/&gt;
&lt;br/&gt;
BTW, replacing clog.h with cxxlog.h in the low-level code is pretty unsafe operation because DRLVM does not handle stack unwinding in a C++-like way. I could not see any particular problems right now but would suggest discussing such changes on the list before making them (and better avoid making potentially unsafe changes).&lt;br/&gt;
</comment>
                    <comment id="12617297" author="senakafdo" created="Sun, 27 Jul 2008 14:40:32 +0000 (UTC)"  >Hi Alexei,&lt;br/&gt;
&lt;br/&gt;
Sorry about the LDIE085 issue. I have made a blunder in the diff. I had to remove certain portions from the diff since they were not related to this issue. While doing that a mysterious line has been added. :)... Will have that corrected.&lt;br/&gt;
&lt;br/&gt;
Thanks,&lt;br/&gt;
Senaka</comment>
                    <comment id="12617299" author="leshik" created="Sun, 27 Jul 2008 15:06:02 +0000 (UTC)"  >Committed at 680117 with few compilation fixes. Senaka, please, check that the patch is applied as expected.</comment>
                    <comment id="12617320" author="senakafdo" created="Sun, 27 Jul 2008 17:55:20 +0000 (UTC)"  >Hi Alexei,&lt;br/&gt;
&lt;br/&gt;
The &amp;quot;ant clean build&amp;quot; which should in theory alarm the miss-use of &apos;,&apos; in place of &apos;&amp;lt;&amp;lt;&apos; doesn&apos;t seem to trigger. I believe the behaviour looks a bit different on my system. As I said before, I did not see a build error due to this. The possibilities are that the clean does not in fact clean code in that area.&lt;br/&gt;
&lt;br/&gt;
The patch seems to be applied ok. There is a mismatch in WARN053 in the harmony.properties and working_vm/vm/gc_gen/src/common/large_pages.cpp. You&apos;ve corrected one but left the other intact.&lt;br/&gt;
&lt;br/&gt;
I will add to this issue, further modifications which will replace remaining references to DIE with LDIE. Some instances are straightforward where as some aren&apos;t, I will post to the list as I progress.&lt;br/&gt;
&lt;br/&gt;
Regards,&lt;br/&gt;
Senaka</comment>
                    <comment id="12677300" author="leshik" created="Fri, 27 Feb 2009 09:43:19 +0000 (UTC)"  >Fixed at 680117. No objection to close.</comment>
                </comments>
    
    <issuelinks>
                <issuelinktype id="10030">
            <name>Reference</name>
                                        <inwardlinks description="is related to">
                            <issuelink>
            <issuekey id="12360854">HARMONY-3026</issuekey>
        </issuelink>
                    </inwardlinks>
                    </issuelinktype>
            </issuelinks>
    <attachments>
            <attachment id="12386980" name="harmony-5917.patch.txt" size="71354" author="senakafdo" created="Sun, 27 Jul 2008 14:45:49 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Moderate]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                    <customfield id="customfield_12310041" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                    <customfieldname>Patch Info</customfieldname>
                    <customfieldvalues>
                            <customfieldvalue><![CDATA[Patch Available]]></customfieldvalue>
    
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Fri, 27 Feb 2009 09:43:19 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Sun, 27 Jul 2008 11:06:27 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-5908] [drlvm][gc_gen] Java VM/GC Interface Documentation</title>
<link>http://issues.apache.org/jira/browse/HARMONY-5908</link>

                    <description>Hi Xiao-Feng, Alexei,&lt;br/&gt;
&lt;br/&gt;
I have attached herewith a patch that contains documentation for GCHelper.java&lt;br/&gt;
&lt;br/&gt;
Regards,&lt;br/&gt;
Senaka</description>
                <environment></environment>
            <key id="12400142">HARMONY-5908</key>
        <summary>[drlvm][gc_gen] Java VM/GC Interface Documentation</summary>

            <type id="4" iconUrl="http://issues.apache.org/jira/images/icons/improvement.gif">Improvement</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="leshik">Alexei Fedotov</assignee>
            
                        <reporter username="senakafdo">Senaka Fernando</reporter>
            
    <created>Fri, 11 Jul 2008 21:21:56 +0000 (UTC)</created>
    <updated>Fri, 27 Feb 2009 09:43:58 +0000 (UTC)</updated>

                
                
                        <component>DRLVM</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12612996" author="senakafdo" created="Fri, 11 Jul 2008 21:24:12 +0000 (UTC)"  >Please do let me know if I should do any modifications or most essentially whether I&apos;ve got something wrong.&lt;br/&gt;
&lt;br/&gt;
Regards,&lt;br/&gt;
Senaka</comment>
                    <comment id="12617301" author="leshik" created="Sun, 27 Jul 2008 15:15:34 +0000 (UTC)"  >Committed at r680122. Please check that the patch is applied as expected.</comment>
                    <comment id="12677302" author="leshik" created="Fri, 27 Feb 2009 09:43:58 +0000 (UTC)"  >Fixed at r680122. No objections to close.</comment>
                </comments>
    
    <attachments>
            <attachment id="12385905" name="HARMONY-5908.patch.txt" size="7594" author="senakafdo" created="Fri, 11 Jul 2008 21:24:12 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Moderate]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                    <customfield id="customfield_12310041" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                    <customfieldname>Patch Info</customfieldname>
                    <customfieldvalues>
                            <customfieldvalue><![CDATA[Patch Available]]></customfieldvalue>
    
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Fri, 27 Feb 2009 09:43:58 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Sun, 27 Jul 2008 15:15:34 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-5855] [classlib][jndi][ldap] - support property &quot;java.naming.batchsize&quot; in ldap provider</title>
<link>http://issues.apache.org/jira/browse/HARMONY-5855</link>

                    <description>Property &amp;quot;java.naming.batchsize&amp;quot; specifies the batch size of the search result return from server.&lt;br/&gt;
This property defines how many items will be read at most one time, at the LDAP protocol level.&lt;br/&gt;
And it affects list, listBinding, search methods which return NamingEnumeration instance.</description>
                <environment></environment>
            <key id="12397324">HARMONY-5855</key>
        <summary>[classlib][jndi][ldap] - support property &quot;java.naming.batchsize&quot; in ldap provider</summary>

            <type id="2" iconUrl="http://issues.apache.org/jira/images/icons/newfeature.gif">New Feature</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="-1">Unassigned</assignee>
            
                        <reporter username="regis_xu">Regis Xu</reporter>
            
    <created>Tue, 3 Jun 2008 03:31:10 +0000 (UTC)</created>
    <updated>Thu, 15 Jan 2009 08:04:09 +0000 (UTC)</updated>

                        <version>5.0M6</version>
            
                        <fixVersion>5.0M7</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                                                                    

            <comments>
                    <comment id="12606281" author="tellison" created="Thu, 19 Jun 2008 08:02:34 +0000 (UTC)"  >Can this task be closed now?  There are no outstanding subtasks.</comment>
                    <comment id="12606304" author="regis_xu" created="Thu, 19 Jun 2008 09:13:00 +0000 (UTC)"  >Tim,&lt;br/&gt;
Thanks for your reminder. There is one task left, which check and change the value of batchSize in LdapContextImpl.addToEnvironment/removeFromEnvironment methods.&lt;br/&gt;
&lt;br/&gt;
I will create the task right now and finish it ASAP.</comment>
                    <comment id="12664034" author="regis_xu" created="Thu, 15 Jan 2009 08:04:09 +0000 (UTC)"  >no more sub-tasks</comment>
                </comments>
    
    <attachments>
        </attachments>

    <subtasks>
            <subtask id="12397449">HARMONY-5861</subtask>
            <subtask id="12397556">HARMONY-5865</subtask>
            <subtask id="12398568">HARMONY-5881</subtask>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Thu, 15 Jan 2009 08:04:09 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Thu, 19 Jun 2008 08:02:34 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-5809] [classlib][luni] Add some testcases for Vector, ArrayList and LinkedList</title>
<link>http://issues.apache.org/jira/browse/HARMONY-5809</link>

                    <description>Improve line coverage of java.util package.&lt;br/&gt;
java.util.LinkedList&lt;br/&gt;
java.util.ArrayList&lt;br/&gt;
java.util.Vector</description>
                <environment></environment>
            <key id="12395383">HARMONY-5809</key>
        <summary>[classlib][luni] Add some testcases for Vector, ArrayList and LinkedList</summary>

            <type id="4" iconUrl="http://issues.apache.org/jira/images/icons/improvement.gif">Improvement</type>

    
            <priority id="4" iconUrl="http://issues.apache.org/jira/images/icons/priority_minor.gif">Minor</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="qiuxiaox">Sean Qiu</assignee>
            
                        <reporter username="qiuxiaox">Sean Qiu</reporter>
            
    <created>Tue, 6 May 2008 06:06:02 +0000 (UTC)</created>
    <updated>Mon, 12 Jan 2009 04:51:52 +0000 (UTC)</updated>

                        <version>5.0M6</version>
            
                        <fixVersion>5.0M9</fixVersion>
            
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12594480" author="qiuxiaox" created="Tue, 6 May 2008 06:08:03 +0000 (UTC)"  >Could someone please try this patch?</comment>
                    <comment id="12662883" author="qiuxiaox" created="Mon, 12 Jan 2009 04:51:23 +0000 (UTC)"  >Applied at r733623.</comment>
                    <comment id="12662884" author="qiuxiaox" created="Mon, 12 Jan 2009 04:51:52 +0000 (UTC)"  >Close this issue.</comment>
                </comments>
    
    <attachments>
            <attachment id="12381481" name="Harmony-5809.diff" size="26303" author="qiuxiaox" created="Tue, 6 May 2008 06:08:03 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                            <customfield id="customfield_12310041" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                    <customfieldname>Patch Info</customfieldname>
                    <customfieldvalues>
                            <customfieldvalue><![CDATA[Patch Available]]></customfieldvalue>
    
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Mon, 12 Jan 2009 04:51:23 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                            </customfields>
    
</item>

<item>
<title>[HARMONY-5713] [drlvm][performance] Implementation of System.identityHashCode() on magics</title>
<link>http://issues.apache.org/jira/browse/HARMONY-5713</link>

                    <description>This is the working sub-task for implementation of System.identityHashCode() on magics, inspired by &lt;a href=&quot;http://issues.apache.org/jira/browse/HARMONY-4551&quot; title=&quot;[drlvm][gc_gen][perf]improvement for System.identityHashCode method&quot;&gt;HARMONY-4551&lt;/a&gt;.</description>
                <environment></environment>
            <key id="12393671">HARMONY-5713</key>
        <summary>[drlvm][performance] Implementation of System.identityHashCode() on magics</summary>

            <type id="7" iconUrl="http://issues.apache.org/jira/images/icons/issue_subtask.gif">Sub-task</type>

            <parent id="12392138">HARMONY-5632</parent>
    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="xiao-feng li">Xiao-Feng Li</assignee>
            
                        <reporter username="aleksey.shipilev">Aleksey Shipilev</reporter>
            
    <created>Thu, 10 Apr 2008 16:07:15 +0000 (UTC)</created>
    <updated>Fri, 12 Dec 2008 07:13:56 +0000 (UTC)</updated>

                
                
                        <component>DRLVM</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12587686" author="aleksey.shipilev" created="Thu, 10 Apr 2008 16:09:42 +0000 (UTC)"  >vm-identityHashCode-3.patch&lt;br/&gt;
Working patch for identityHashCode magic. Speeds up ThreadLocalBench performance 2.5x times.&lt;br/&gt;
&lt;br/&gt;
Crashes Dacapo:jython:&lt;br/&gt;
&lt;br/&gt;
java.lang.reflect.InvocationTargetException&lt;br/&gt;
	at java.lang.reflect.VMReflection.newClassInstance(VMReflection.java)&lt;br/&gt;
	at java.lang.reflect.Constructor.newInstance(Constructor.java:283)&lt;br/&gt;
	at dacapo.TestHarness.runBenchmark(TestHarness.java)&lt;br/&gt;
	at dacapo.TestHarness.main(TestHarness.java:242)&lt;br/&gt;
	at Harness.main(Harness.java)&lt;br/&gt;
	at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)&lt;br/&gt;
	at java.lang.reflect.Method.invoke(Method.java:317)&lt;br/&gt;
	at org.apache.harmony.vm.JarRunner.main(JarRunner.java:89)&lt;br/&gt;
Caused by: java.lang.NullPointerException&lt;br/&gt;
	at org.apache.harmony.drlvm.gc_gen.GCHelper.objectSize(GCHelper.java)&lt;br/&gt;
	at org.apache.harmony.drlvm.gc_gen.GCHelper.get_hashcode(GCHelper.java:216)&lt;br/&gt;
	at org.python.core.PyStringMap.__finditem__(Unknown Source)&lt;br/&gt;
	at org.python.core.PyJavaPackage.addPackage(Unknown Source)&lt;br/&gt;
	at org.python.core.PackageManager.makeJavaPackage(Unknown Source)&lt;br/&gt;
	at org.python.core.CachedJarsPackageManager.addPackages(Unknown Source)&lt;br/&gt;
	at org.python.core.CachedJarsPackageManager.addJarToPackages(Unknown Source)&lt;br/&gt;
	at org.python.core.CachedJarsPackageManager.addJarToPackages(Unknown Source)&lt;br/&gt;
	at org.python.core.PathPackageManager.addClassPath(Unknown Source)&lt;br/&gt;
	at org.python.core.SysPackageManager.findAllPackages(Unknown Source)&lt;br/&gt;
	at org.python.core.SysPackageManager.&amp;lt;init&amp;gt;(Unknown Source)&lt;br/&gt;
	at org.python.core.PySystemState.initPackages(Unknown Source)&lt;br/&gt;
	at org.python.core.PySystemState.initialize(Unknown Source)&lt;br/&gt;
	at org.python.core.PySystemState.initialize(Unknown Source)&lt;br/&gt;
	at org.python.util.jython.main(Unknown Source)&lt;br/&gt;
	at dacapo.jython.JythonHarness.prepare(JythonHarness.java)&lt;br/&gt;
	at dacapo.Benchmark.&amp;lt;init&amp;gt;(Benchmark.java)&lt;br/&gt;
	at dacapo.jython.JythonHarness.&amp;lt;init&amp;gt;(JythonHarness.java:15)&lt;br/&gt;
	at java.lang.reflect.VMReflection.newClassInstance(VMReflection.java)&lt;br/&gt;
	... 7 more&lt;br/&gt;
&lt;br/&gt;
</comment>
                    <comment id="12587687" author="aleksey.shipilev" created="Thu, 10 Apr 2008 16:10:32 +0000 (UTC)"  >Incorporates the GCHelper from &lt;a href=&quot;http://issues.apache.org/jira/browse/HARMONY-4551&quot; title=&quot;[drlvm][gc_gen][perf]improvement for System.identityHashCode method&quot;&gt;HARMONY-4551&lt;/a&gt;.</comment>
                    <comment id="12588013" author="aleksey.shipilev" created="Fri, 11 Apr 2008 16:18:12 +0000 (UTC)"  >vm-identityHashCode-4.patch&lt;br/&gt;
Cleaned up and aligned a little. &lt;br/&gt;
Solves the NPE problem on Dacapo, now fails when going to slowpath.</comment>
                    <comment id="12639362" author="wenlong" created="Tue, 14 Oct 2008 09:32:39 +0000 (UTC)"  >This patch supports both fast path and slow path for hash code. We incorporate the fast path from previous work. &lt;br/&gt;
</comment>
                    <comment id="12639405" author="aleksey.shipilev" created="Tue, 14 Oct 2008 12:51:50 +0000 (UTC)"  >Thanks, Wenlong!&lt;br/&gt;
If you presume your patch is ready, e.g. passes tests and workloads, then you need to make some cleanup there. It&apos;s interesting though whether the commented assert in GCMap still fires on full patch.</comment>
                    <comment id="12641703" author="wenlong" created="Wed, 22 Oct 2008 03:29:37 +0000 (UTC)"  >At this moment, the patch doesn&apos;t pass all benchmarks in Dacapo. There is still a problem in Jython, where a null pointer error appears. I will revisit it when getting chance.</comment>
                    <comment id="12651453" author="chunrong lai" created="Fri, 28 Nov 2008 03:19:24 +0000 (UTC)"  >&lt;br/&gt;
hi, Aleksey and wenlong:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I took a look in the patch and see the NullPointerException is due to lack the NullCheck in the java helper code.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Do we need more works in this patch, after fixing the exception?&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I can see some comments of TODO about 64bits address there.</comment>
                    <comment id="12651919" author="chunrong lai" created="Mon, 1 Dec 2008 07:05:42 +0000 (UTC)"  >&lt;br/&gt;
hi, Aleksey and wenlong:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;I observed another Dacapo failure after applying the patch.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;To reproduce the failure one need to run &amp;quot;java -Xem:server -Xms512M -Xmx512M -jar dacapo-2006-10-MR2.jar -s large -n 5 bloat&amp;quot;.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;It is also noted that the error will not appear if I use &amp;quot;-s default&amp;quot; instead of &amp;quot;-s large&amp;quot; or use &amp;quot;-n 4&amp;quot; instead of &amp;quot;-n 5&amp;quot;. So I think it is a dynamic compilation related issue, which has not been noticed in the patch development. Do you have feedbacks about this?&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;By the way, to pass Jython, one only needs to add one line &amp;quot;if(object == null) return 0;&amp;quot; at the beginning of public static int get_hashcode(Object object) in GCHelper.java.</comment>
                    <comment id="12653208" author="chunrong lai" created="Thu, 4 Dec 2008 06:53:22 +0000 (UTC)"  >&lt;br/&gt;
&amp;nbsp;Here is the patch.&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;(1) Fixed the Dacapo.jython error with NullCheck in the helper code.&lt;br/&gt;
&amp;nbsp;(2) Fixed the Dacapo.bloat error by -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.VM_RT_GET_IDENTITY_HASHCODE_hotnessPercent=0&lt;br/&gt;
&amp;nbsp;(3) Modify gc_gen.exp for Linux building.&lt;br/&gt;
&amp;nbsp;(4) More data type changes for 64bits building.</comment>
                    <comment id="12653362" author="xiao-feng li" created="Thu, 4 Dec 2008 17:05:05 +0000 (UTC)"  >Thanks Chunrong!&lt;br/&gt;
&lt;br/&gt;
Is this patch ready for commit?&lt;br/&gt;
&lt;br/&gt;
Thanks.</comment>
                    <comment id="12655496" author="wenlong" created="Thu, 11 Dec 2008 04:19:15 +0000 (UTC)"  >Chunrong, you might change stub_size from 52 to 15 in getaddress__vm_gethashcode_java_object_resolved_using_gethashcode_naked function. In my implementation for slow path, I forgot changing that value. Though current value (52) doesn&apos;t affect peformance or correctness, the real size for the code is 15 B. &lt;br/&gt;
</comment>
                    <comment id="12655658" author="chunrong lai" created="Thu, 11 Dec 2008 14:24:02 +0000 (UTC)"  >&lt;br/&gt;
&amp;nbsp;Thanks wenlong. I reduce the stub size to 16 in the updated patch.</comment>
                    <comment id="12655911" author="xiao-feng li" created="Fri, 12 Dec 2008 07:13:56 +0000 (UTC)"  >committed in r725885</comment>
                </comments>
    
    <issuelinks>
                <issuelinktype id="10032">
            <name>Blocker</name>
                                        <inwardlinks description="is blocked by">
                            <issuelink>
            <issuekey id="12405995">HARMONY-5994</issuekey>
        </issuelink>
                    </inwardlinks>
                    </issuelinktype>
                <issuelinktype id="12310010">
            <name>Incorporates</name>
                            <outwardlinks description="incorporates">
                            <issuelink>
            <issuekey id="12374635">HARMONY-4551</issuekey>
        </issuelink>
                    </outwardlinks>
                                </issuelinktype>
            </issuelinks>
    <attachments>
            <attachment id="12379860" name="vm-identityHashCode-3.patch" size="19720" author="aleksey.shipilev" created="Thu, 10 Apr 2008 16:09:42 +0000 (UTC)" />
            <attachment id="12379927" name="vm-identityHashCode-4.patch" size="20558" author="aleksey.shipilev" created="Fri, 11 Apr 2008 16:18:12 +0000 (UTC)" />
            <attachment id="12392080" name="vm-identityHashCode-5.patch.txt" size="22580" author="wenlong" created="Tue, 14 Oct 2008 09:32:39 +0000 (UTC)" />
            <attachment id="12395264" name="vm-identityHashCode-6.patch.txt" size="25435" author="chunrong lai" created="Thu, 4 Dec 2008 06:53:22 +0000 (UTC)" />
            <attachment id="12395837" name="vm-identityHashCode-7.patch.txt" size="25435" author="chunrong lai" created="Thu, 11 Dec 2008 14:24:02 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Moderate]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                    <customfield id="customfield_12310041" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                    <customfieldname>Patch Info</customfieldname>
                    <customfieldvalues>
                            <customfieldvalue><![CDATA[Patch Available]]></customfieldvalue>
    
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Fri, 12 Dec 2008 07:13:56 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Tue, 14 Oct 2008 09:32:39 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-5473] [classlib][archive] Manifest file with empty line proves IOException</title>
<link>http://issues.apache.org/jira/browse/HARMONY-5473</link>

                    <description>I cannot start some of my apps, because their jar-files contain manifests with empty lines, proving IOException on Harmony.&lt;br/&gt;
&lt;br/&gt;
The situation can be reproduced by manifest file  with empty line creation and invoking new Manifest(InputStream). Manifest files which proves this will be attached.&lt;br/&gt;
&lt;br/&gt;
Test case output:&lt;br/&gt;
$ /cygdrive/c/Harmony_to_run/trunk/working_vm/build/win_ia32_msvc_release/deploy/jdk/jre/bin/java  Test MANIFEST2.MF&lt;br/&gt;
Uncaught exception in main:&lt;br/&gt;
java.io.IOException: Invalid attribute&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.util.jar.InitManifest.addAttribute(InitManifest.java:282)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.util.jar.InitManifest.&amp;lt;init&amp;gt;(InitManifest.java:71)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.util.jar.Manifest.read(Manifest.java:173)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.util.jar.Manifest.&amp;lt;init&amp;gt;(Manifest.java:76)&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;at Test.main(Test.java:8)&lt;br/&gt;
$ /cygdrive/w/UBS/Builds/jdk1.6.0_win32/bin/java Test MANIFEST2.MF&lt;br/&gt;
end&lt;br/&gt;
&lt;br/&gt;
Test case is:&lt;br/&gt;
&lt;br/&gt;
import java.io.FileInputStream;&lt;br/&gt;
import java.util.jar.Manifest;&lt;br/&gt;
&lt;br/&gt;
public class Test {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String[] args) throws Exception {&lt;br/&gt;
		String fileName = args[0];&lt;br/&gt;
		FileInputStream fs = new FileInputStream(fileName);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Manifest m = new Manifest(fs);   		&lt;br/&gt;
		fs.close();		&lt;br/&gt;
		System.out.println(&amp;quot;end&amp;quot;);&lt;br/&gt;
	}&lt;br/&gt;
}&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
</description>
                <environment></environment>
            <key id="12388114">HARMONY-5473</key>
        <summary>[classlib][archive] Manifest file with empty line proves IOException</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="2" iconUrl="http://issues.apache.org/jira/images/icons/priority_critical.gif">Critical</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="cap">Alexey Petrenko</assignee>
            
                        <reporter username="egmaenko">Evgeniya Maenkova</reporter>
            
    <created>Thu, 7 Feb 2008 17:17:29 +0000 (UTC)</created>
    <updated>Fri, 20 Mar 2009 14:18:31 +0000 (UTC)</updated>

                
                
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12566696" author="egmaenko" created="Thu, 7 Feb 2008 17:18:44 +0000 (UTC)"  >manifest files with empty lines</comment>
                    <comment id="12566987" author="egmaenko" created="Fri, 8 Feb 2008 11:03:10 +0000 (UTC)"  >Further investigation show, the first empty line proves this issue.&lt;br/&gt;
If an empty line isn&apos;t first, Manifest.java handles it fine....</comment>
                    <comment id="12567146" author="egmaenko" created="Fri, 8 Feb 2008 18:24:50 +0000 (UTC)"  >patch for archive module</comment>
                    <comment id="12567586" author="cap" created="Mon, 11 Feb 2008 11:14:37 +0000 (UTC)"  >The patch has been applied.&lt;br/&gt;
Please verify.</comment>
                    <comment id="12567647" author="egmaenko" created="Mon, 11 Feb 2008 14:40:29 +0000 (UTC)"  >Unit-test patch:&lt;br/&gt;
&lt;br/&gt;
hyts_manifest1.mf  to be checked in at trunk\working_classlib\support\src\test\java\tests\resources\manifest\hyts_manifest1.mf </comment>
                    <comment id="12567691" author="egmaenko" created="Mon, 11 Feb 2008 16:33:45 +0000 (UTC)"  >works as expected. Thanks, Aleksey&lt;br/&gt;
</comment>
                    <comment id="12567947" author="smm" created="Tue, 12 Feb 2008 04:22:50 +0000 (UTC)"  >Alexey, Evgeniya, the commit r620461 does not include a regression test. Is it possible to create it? Could you add it? &lt;br/&gt;
</comment>
                    <comment id="12570167" author="apavlenko" created="Tue, 19 Feb 2008 10:39:57 +0000 (UTC)"  >It looks like this fix caused a regression - the test &lt;a href=&quot;http://people.apache.org/~smishura/r620734/Linux_x86_64/func/junit/functional/org/apache/harmony/test/func/api/java/util/jar/Manifest/package-summary.html&quot;&gt;http://people.apache.org/~smishura/r620734/Linux_x86_64/func/junit/functional/org/apache/harmony/test/func/api/java/util/jar/Manifest/package-summary.html&lt;/a&gt; failed after the commit.  As mentioned in &lt;a href=&quot;http://issues.apache.org/jira/browse/HARMONY-4419&quot; title=&quot;[buildtest][func] ManifestTest test is invalid&quot;&gt;&lt;strike&gt;HARMONY-4419&lt;/strike&gt;&lt;/a&gt;, IOEx should be thrown for \n\r character sequence.</comment>
                    <comment id="12572424" author="leshik" created="Tue, 26 Feb 2008 11:05:58 +0000 (UTC)"  >My current assumption is that skipping arbitrary number of lines at the file beginning is not the thing specifications expects. Instead, there might be missing main section which is separated from entries with an empty line. </comment>
                    <comment id="12572427" author="egmaenko" created="Tue, 26 Feb 2008 11:14:03 +0000 (UTC)"  >Aleksey, I agree. Looks like RI contradicts with specification. </comment>
                    <comment id="12572472" author="smm" created="Tue, 26 Feb 2008 14:04:43 +0000 (UTC)"  >Aleksei, Evgeniya could you point to where the spec. mandates java.util.jar.Manifest to validate manifest file?&lt;br/&gt;
&lt;br/&gt;
It says:&lt;br/&gt;
public Manifest(InputStream is)  throws IOException&lt;br/&gt;
...&lt;br/&gt;
Throws: IOException - if an I/O error has occurred&lt;br/&gt;
&lt;br/&gt;
As I understood it IOException is thrown *ONLY* in case of I/O error.&lt;br/&gt;
The spec. doesn&apos;t force implementation to throw the exception if manifest file is incorrect.&lt;br/&gt;
&lt;br/&gt;
Thanks,&lt;br/&gt;
Stepan.</comment>
                    <comment id="12572569" author="leshik" created="Tue, 26 Feb 2008 17:30:40 +0000 (UTC)"  >Stepan, theoretically your understanding may be correct as well. Personally I prefer to delay all verifications, etc to get a startup speed up. From the other side it looks like we have compatibility tests which show IOException on RI in case of incorrect line breaks (probably because they probably are using BufferedInputStream for reading of line break separated stream). Without a good reason we&apos;d better be compatible. </comment>
                    <comment id="12572877" author="leshik" created="Wed, 27 Feb 2008 11:20:56 +0000 (UTC)"  >Manifests with an empty main section are described as violating specification in RI database [1]. Let&apos;s revert the patch.&lt;br/&gt;
[1] &lt;a href=&quot;http://bugs.sun.com/view_bug.do?bug_id=4271239&quot;&gt;http://bugs.sun.com/view_bug.do?bug_id=4271239&lt;/a&gt;</comment>
                    <comment id="12658300" author="nbeyer" created="Sat, 20 Dec 2008 17:19:41 +0000 (UTC)"  >Is this still an issue? Is it still valid?&lt;br/&gt;
&lt;br/&gt;
It seems like we&apos;ve discussed this, but I can&apos;t find the related mail.</comment>
                    <comment id="12683893" author="leshik" created="Fri, 20 Mar 2009 14:17:50 +0000 (UTC)"  >I have rewritten all the related code as a part of &lt;a href=&quot;http://issues.apache.org/jira/browse/HARMONY-4569&quot; title=&quot;[classlib][performance] Ineffecient manifest parsing results in slowdown when debugging java code&quot;&gt;&lt;strike&gt;HARMONY-4569&lt;/strike&gt;&lt;/a&gt;.</comment>
                    <comment id="12683894" author="leshik" created="Fri, 20 Mar 2009 14:18:31 +0000 (UTC)"  >The code under discussion is no longer in the code base.</comment>
                </comments>
    
    <attachments>
            <attachment id="12375230" name="archive.patch" size="1112" author="egmaenko" created="Mon, 11 Feb 2008 14:40:29 +0000 (UTC)" />
            <attachment id="12375094" name="archive.patch" size="2738" author="egmaenko" created="Fri, 8 Feb 2008 18:24:50 +0000 (UTC)" />
            <attachment id="12375229" name="hyts_manifest1.mf" size="168" author="egmaenko" created="Mon, 11 Feb 2008 14:40:28 +0000 (UTC)" />
            <attachment id="12374999" name="MANIFEST.MF" size="10455" author="egmaenko" created="Thu, 7 Feb 2008 17:18:44 +0000 (UTC)" />
            <attachment id="12374998" name="MANIFEST2.MF" size="8" author="egmaenko" created="Thu, 7 Feb 2008 17:18:44 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                    <customfield id="customfield_12310060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                    <customfieldname>Estimated Complexity</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue><![CDATA[Unknown]]></customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                                                        <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Fri, 20 Mar 2009 14:17:50 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Mon, 11 Feb 2008 11:14:37 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-1533] [classlib][swing] JCombobox.setSelectedItem() sometimes doesn&apos;t fire action event</title>
<link>http://issues.apache.org/jira/browse/HARMONY-1533</link>

                    <description>Spec of JCombobox.setSelectedItem() says:&lt;br/&gt;
&lt;br/&gt;
ActionListeners added to the combo box will be notified with an ActionEvent when this method is called. &lt;br/&gt;
&lt;br/&gt;
But the following test prints &amp;quot;false&amp;quot; on Harmony &amp;amp; &amp;quot;true&amp;quot; on RI:&lt;br/&gt;
&lt;br/&gt;
public class JComboboxTest {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static boolean fired;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;public class JComboboxTest {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static boolean fired;&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static void main(String[] args) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String item = &amp;quot;item&amp;quot;;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JComboBox jcb = new JComboBox(new String[]{item});&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jcb.addActionListener(new ActionListener(){&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void actionPerformed(ActionEvent ae) {&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fired = true;               &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}            &lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jcb.setSelectedItem(item);&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(fired);&lt;br/&gt;
&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;
}</description>
                <environment></environment>
            <key id="12350444">HARMONY-1533</key>
        <summary>[classlib][swing] JCombobox.setSelectedItem() sometimes doesn&apos;t fire action event</summary>

            <type id="1" iconUrl="http://issues.apache.org/jira/images/icons/bug.gif">Bug</type>

    
            <priority id="4" iconUrl="http://issues.apache.org/jira/images/icons/priority_minor.gif">Minor</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="tellison">Tim Ellison</assignee>
            
                        <reporter username="dad">Dmitry A. Durnev</reporter>
            
    <created>Thu, 21 Sep 2006 16:00:58 +0000 (UTC)</created>
    <updated>Sun, 8 Mar 2009 03:57:39 +0000 (UTC)</updated>

                
                
                        <component>Classlib</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12436775" author="dad" created="Fri, 22 Sep 2006 07:52:45 +0000 (UTC)"  >Attached regression test for this issue together with fix for existing JComboBox regression tests(now they should pass both on RI &amp;amp; Harmony). This patch also changes swing build.xml to remove JComboBoxRTest from exclude list.</comment>
                    <comment id="12436777" author="dad" created="Fri, 22 Sep 2006 07:59:43 +0000 (UTC)"  >Attached fix for the issue.</comment>
                    <comment id="12441292" author="tellison" created="Tue, 10 Oct 2006 21:49:22 +0000 (UTC)"  >Thanks Dmitry,&lt;br/&gt;
&lt;br/&gt;
Patch applied to SWING module at repo revision r462591.&lt;br/&gt;
&lt;br/&gt;
Please check that the patch was applied as you expected.&lt;br/&gt;
</comment>
                    <comment id="12441387" author="dad" created="Wed, 11 Oct 2006 09:42:16 +0000 (UTC)"  >Patch was applied perfectly, thanks Tim :)</comment>
                    <comment id="12441482" author="tellison" created="Wed, 11 Oct 2006 15:37:55 +0000 (UTC)"  >Verified by Dmitry.&lt;br/&gt;
</comment>
                </comments>
    
    <issuelinks>
                <issuelinktype id="10030">
            <name>Reference</name>
                            <outwardlinks description="relates to">
                            <issuelink>
            <issuekey id="12398321">HARMONY-5873</issuekey>
        </issuelink>
                    </outwardlinks>
                                </issuelinktype>
            </issuelinks>
    <attachments>
            <attachment id="12341362" name="H1533-JComboBox.patch" size="695" author="dad" created="Fri, 22 Sep 2006 07:59:43 +0000 (UTC)" />
            <attachment id="12341361" name="H1533-tests.patch" size="2347" author="dad" created="Fri, 22 Sep 2006 07:52:45 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Tue, 10 Oct 2006 21:49:23 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Tue, 10 Oct 2006 21:49:22 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>

<item>
<title>[HARMONY-1225] Assorted fixes and improvements  for AWT and SWING modules</title>
<link>http://issues.apache.org/jira/browse/HARMONY-1225</link>

                    <description>Here is a patch with number of fixes and improvements for awt and swing modules. One of the main changes is a new implementation of event queue based on two threads.&lt;br/&gt;
&lt;br/&gt;
This patch reflects the remaining work that we did inside Intel in Swing/AWT. </description>
                <environment></environment>
            <key id="12348217">HARMONY-1225</key>
        <summary>Assorted fixes and improvements  for AWT and SWING modules</summary>

            <type id="4" iconUrl="http://issues.apache.org/jira/images/icons/improvement.gif">Improvement</type>

    
            <priority id="3" iconUrl="http://issues.apache.org/jira/images/icons/priority_major.gif">Major</priority>    
        <status id="6" iconUrl="http://issues.apache.org/jira/images/icons/status_closed.gif">Closed</status>
                        <resolution id="1">Fixed</resolution>
            
    
                        <assignee username="mloenko">Mikhail Loenko</assignee>
            
                        <reporter username="cap">Alexey Petrenko</reporter>
            
    <created>Fri, 18 Aug 2006 10:58:49 +0000 (UTC)</created>
    <updated>Sun, 8 Mar 2009 05:39:19 +0000 (UTC)</updated>

                
                
                        <component>Classlib</component>
                    <component>Contributions</component>
            
            <due></due>
    
            <votes>0</votes>
    
                                        

            <comments>
                    <comment id="12428978" author="cap" created="Fri, 18 Aug 2006 11:01:20 +0000 (UTC)"  >Patch is attached.&lt;br/&gt;
&lt;br/&gt;
We also need to remove the following files:&lt;br/&gt;
awt\src\main\java\linux\org\apache\harmony\awt\wtk\linux\LinuxEventDecoder.java&lt;br/&gt;
awt\src\main\java\linux\org\apache\harmony\awt\wtk\linux\LinuxSynchronizer.java&lt;br/&gt;
awt\src\main\java\linux\org\apache\harmony\awt\datatransfer\linux\LinuxTextDescriptor.java&lt;br/&gt;
awt\src\main\java\linux\org\apache\harmony\awt\datatransfer\linux\LinuxFlavorMap.java&lt;br/&gt;
awt\src\main\java\linux\org\apache\harmony\awt\datatransfer\linux\FileTranslator.java&lt;br/&gt;
awt\src\main\java\common\java\awt\ShutdownThread.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\NativeTranslationManager.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\FlavorInfo.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\DummyTranslator.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\TranslationPoint.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\ClipboardTranslator.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\SystemTransferable.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\ByteTranslator.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\SerializableTranslator.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\ClipboardEntry.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\UnsupportedTranslationPoint.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\SystemParams.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\PureTextTranslator.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\NativeTextDescriptor.java&lt;br/&gt;
awt\src\main\java\common\org\apache\harmony\awt\datatransfer\TextTranslator.java&lt;br/&gt;
awt\src\main\java\windows\org\apache\harmony\awt\wtk\windows\WinSynchronizer.java&lt;br/&gt;
awt\src\main\java\windows\org\apache\harmony\awt\wtk\windows\NativeServer.java&lt;br/&gt;
awt\src\main\java\windows\org\apache\harmony\awt\datatransfer\windows\WinTextDescriptor.java&lt;br/&gt;
awt\src\main\java\windows\org\apache\harmony\awt\datatransfer\windows\TextUtils.java&lt;br/&gt;
awt\src\main\java\windows\org\apache\harmony\awt\datatransfer\windows\WinFlavorMap.java&lt;br/&gt;
awt\src\main\java\windows\org\apache\harmony\awt\datatransfer\windows\HDROPTranslator.java&lt;br/&gt;
awt\src\main\java\windows\org\apache\harmony\awt\datatransfer\windows\WinTranslationManager.java&lt;br/&gt;
awt\src\main\java\windows\org\apache\harmony\awt\datatransfer\windows\URLTranslator.java&lt;br/&gt;
awt\src\main\java\windows\org\apache\harmony\awt\datatransfer\windows\WinTextTranslator.java&lt;br/&gt;
awt\src\main\java\windows\org\apache\harmony\awt\datatransfer\windows\HTMLTranslator.java&lt;br/&gt;
awt\src\main\java\linux\org\apache\harmony\awt\datatransfer\linux\LinuxTranslationManager.java &lt;br/&gt;
</comment>
                    <comment id="12430922" author="geir" created="Mon, 28 Aug 2006 05:48:14 +0000 (UTC)"  >vote started</comment>
                    <comment id="12431868" author="geir" created="Thu, 31 Aug 2006 12:05:11 +0000 (UTC)"  >Vote complete - passed</comment>
                    <comment id="12431929" author="cap" created="Thu, 31 Aug 2006 17:39:09 +0000 (UTC)"  >Last minute checks shown that the Linux build fails on current Harmony + the patch.&lt;br/&gt;
Here is the fix for this issue.</comment>
                    <comment id="12432886" author="mloenko" created="Wed, 6 Sep 2006 16:03:56 +0000 (UTC)"  >committed to revision 440748&lt;br/&gt;
Alexey, please check that it&apos;s OK</comment>
                    <comment id="12432953" author="cap" created="Wed, 6 Sep 2006 20:15:42 +0000 (UTC)"  >Misha,&lt;br/&gt;
&lt;br/&gt;
everything looks ok.&lt;br/&gt;
Thanks a lot!</comment>
                    <comment id="12433837" author="hindessm" created="Mon, 11 Sep 2006 12:31:31 +0000 (UTC)"  >Any reason why this patch undoes the work I did in r422782 which enabled the linux fony code to compile with freetype 2.2 ?&lt;br/&gt;
&lt;br/&gt;
-Mark.&lt;br/&gt;
</comment>
                    <comment id="12433847" author="cap" created="Mon, 11 Sep 2006 13:03:13 +0000 (UTC)"  >Probably it was done by accident.</comment>
                    <comment id="12433851" author="hindessm" created="Mon, 11 Sep 2006 13:16:23 +0000 (UTC)"  >I&apos;ve raised a new jira (&lt;a href=&quot;http://issues.apache.org/jira/browse/HARMONY-1424&quot; title=&quot;[awt] Compile with freetype 2.2 on linux&quot;&gt;&lt;strike&gt;HARMONY-1424&lt;/strike&gt;&lt;/a&gt;) with the updated freetype 2.2 fixes.  I would commit it but awt doesn&apos;t work for me at the moment so I can&apos;t test it.&lt;br/&gt;
</comment>
                    <comment id="12679955" author="nbeyer" created="Sun, 8 Mar 2009 05:39:19 +0000 (UTC)"  >Where is the &apos;nativebridge&apos; tool that was used to generate much of the code for this contribution?</comment>
                </comments>
    
    <issuelinks>
                <issuelinktype id="10030">
            <name>Reference</name>
                            <outwardlinks description="relates to">
                            <issuelink>
            <issuekey id="12350345">HARMONY-1508</issuekey>
        </issuelink>
                    </outwardlinks>
                                </issuelinktype>
            </issuelinks>
    <attachments>
            <attachment id="12339974" name="build.fix" size="1676" author="cap" created="Thu, 31 Aug 2006 17:39:09 +0000 (UTC)" />
            <attachment id="12339084" name="patch.zip" size="366568" author="cap" created="Fri, 18 Aug 2006 11:01:20 +0000 (UTC)" />
        </attachments>

    <subtasks>
        </subtasks>

            <customfields>
                                                                                                <customfield id="customfield_12310222" key="com.atlassian.jira.ext.charting:timeinstatus">
                    <customfieldname>Time in Status</customfieldname>
                    <customfieldvalues>
                        
                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310221" key="com.atlassian.jira.ext.charting:resolutiondate">
                    <customfieldname>Resolution Date</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Wed, 6 Sep 2006 16:03:56 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                                                <customfield id="customfield_12310220" key="com.atlassian.jira.ext.charting:firstresponsedate">
                    <customfieldname>Date of First Response</customfieldname>
                    <customfieldvalues>
                        <customfieldvalue>Mon, 28 Aug 2006 05:48:14 +0000 (UTC)</customfieldvalue>

                    </customfieldvalues>
                </customfield>
                        </customfields>
    
</item>
</channel>
</rss>