You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Andrew Cornwall (JIRA)" <ji...@apache.org> on 2008/03/21 18:15:24 UTC

[jira] Created: (HARMONY-5630) [classlib][pack200] Long.MAX_VALUE not decoded correctly

[classlib][pack200] Long.MAX_VALUE not decoded correctly
--------------------------------------------------------

                 Key: HARMONY-5630
                 URL: https://issues.apache.org/jira/browse/HARMONY-5630
             Project: Harmony
          Issue Type: Bug
          Components: Classlib
         Environment: All pack200
            Reporter: Andrew Cornwall


The value Long.MAX_VALUE appears not to be decoded correctly all the time. (Perhaps the value's overflowing while being computed?) Here's a testcase:

public class SimpleHelloWorld {
    public static long long1 = -1;
    public static long long2 = Long.MAX_VALUE;
    public static void main(String args) {
        System.out.println(long1 + long2);
    }
}

I packed that with regular compression and then unpacked it. My BcBands.bcLongRef was [0, 1] instead of  [-1, 9223372036854775807].

I've got another test case (proprietary code) which causes BcBands.bcLongRef to be [....., -1, -1 ....]. I'll send that to Sian by email. That's how I detected this issue - the two long refs were collapsed into one.


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


[jira] Assigned: (HARMONY-5630) [classlib][pack200] Long.MAX_VALUE not decoded correctly

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

Sian January reassigned HARMONY-5630:
-------------------------------------

    Assignee: Sian January

> [classlib][pack200] Long.MAX_VALUE not decoded correctly
> --------------------------------------------------------
>
>                 Key: HARMONY-5630
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5630
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>         Environment: All pack200
>            Reporter: Andrew Cornwall
>            Assignee: Sian January
>
> The value Long.MAX_VALUE appears not to be decoded correctly all the time. (Perhaps the value's overflowing while being computed?) Here's a testcase:
> public class SimpleHelloWorld {
>     public static long long1 = -1;
>     public static long long2 = Long.MAX_VALUE;
>     public static void main(String args) {
>         System.out.println(long1 + long2);
>     }
> }
> I packed that with regular compression and then unpacked it. My BcBands.bcLongRef was [0, 1] instead of  [-1, 9223372036854775807].
> I've got another test case (proprietary code) which causes BcBands.bcLongRef to be [....., -1, -1 ....]. I'll send that to Sian by email. That's how I detected this issue - the two long refs were collapsed into one.

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


[jira] Resolved: (HARMONY-5630) [classlib][pack200] Long.MAX_VALUE not decoded correctly

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

Sian January resolved HARMONY-5630.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 5.0M6

We weren't quite reading cpLong correctly or any other 64-bit bands.  I've checked in a fix at r641271.  Please check that it fully resolves the issue.

> [classlib][pack200] Long.MAX_VALUE not decoded correctly
> --------------------------------------------------------
>
>                 Key: HARMONY-5630
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5630
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>         Environment: All pack200
>            Reporter: Andrew Cornwall
>            Assignee: Sian January
>             Fix For: 5.0M6
>
>
> The value Long.MAX_VALUE appears not to be decoded correctly all the time. (Perhaps the value's overflowing while being computed?) Here's a testcase:
> public class SimpleHelloWorld {
>     public static long long1 = -1;
>     public static long long2 = Long.MAX_VALUE;
>     public static void main(String args) {
>         System.out.println(long1 + long2);
>     }
> }
> I packed that with regular compression and then unpacked it. My BcBands.bcLongRef was [0, 1] instead of  [-1, 9223372036854775807].
> I've got another test case (proprietary code) which causes BcBands.bcLongRef to be [....., -1, -1 ....]. I'll send that to Sian by email. That's how I detected this issue - the two long refs were collapsed into one.

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


[jira] Closed: (HARMONY-5630) [classlib][pack200] Long.MAX_VALUE not decoded correctly

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

Andrew Cornwall closed HARMONY-5630.
------------------------------------


This solves the issue with longs. There appears to be another issue with doubles, so I've opened HARMONY-5657 to address that.

> [classlib][pack200] Long.MAX_VALUE not decoded correctly
> --------------------------------------------------------
>
>                 Key: HARMONY-5630
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5630
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>         Environment: All pack200
>            Reporter: Andrew Cornwall
>            Assignee: Sian January
>             Fix For: 5.0M6
>
>
> The value Long.MAX_VALUE appears not to be decoded correctly all the time. (Perhaps the value's overflowing while being computed?) Here's a testcase:
> public class SimpleHelloWorld {
>     public static long long1 = -1;
>     public static long long2 = Long.MAX_VALUE;
>     public static void main(String args) {
>         System.out.println(long1 + long2);
>     }
> }
> I packed that with regular compression and then unpacked it. My BcBands.bcLongRef was [0, 1] instead of  [-1, 9223372036854775807].
> I've got another test case (proprietary code) which causes BcBands.bcLongRef to be [....., -1, -1 ....]. I'll send that to Sian by email. That's how I detected this issue - the two long refs were collapsed into one.

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