You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Varlamov (JIRA)" <ji...@apache.org> on 2007/10/04 07:33:50 UTC

[jira] Created: (HARMONY-4898) [drlvm][jit][jet] crash due to IntegerOverflow

[drlvm][jit][jet] crash due to IntegerOverflow
----------------------------------------------

                 Key: HARMONY-4898
                 URL: https://issues.apache.org/jira/browse/HARMONY-4898
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: x86_64
            Reporter: Alexey Varlamov


The following simple tests crash on x86_64 in JET compiler:
    public void testLDIV_min() {
        long l_min = Long.MIN_VALUE;
        long l_1 = -1;
        long res = l_min / l_1;

        assertEquals(Long.MIN_VALUE, res);
    }

    public void testLREM_min() {
        long l_min = Long.MIN_VALUE;
        long l_1 = -1;
        long res = l_min % l_1;

        assertEquals(0, res);
    }

    [junit] Windows reported exception: 0xc0000095
    [junit] Registers:
    [junit]     RAX: 0x8000000000000000, RBX: 0x8000000000000000
    [junit]     RCX: 0x0000000003cb0000, RDX: 0xffffffffffffffff
    [junit]     RSI: 0xffffffffffffffff, RDI: 0x000000000012c220
    [junit]     RSP: 0x000000000012c1e0, RBP: 0x000000000012c4b8
    [junit]     R8 : 0x000000000000006c, R9 : 0x0000000003fa1390
    [junit]     R10: 0x000000000012cde0, R11: 0x0000000002fa9a80
    [junit]     R12: 0x000000000012cd40, R13: 0x0000000002fa98c0
    [junit]     R14: 0xdeadbeefdeadbeef, R15: 0x0000000011aee790
    [junit]     RIP: 0x0000000003fa149a
    [junit] Stack trace:
    [junit]   0: Jitrino::Jet::rt_h_i64_a (??:-1)
    [junit]   1: java/lang/reflect/VMReflection.invokeMethod(JLjava/lang/Object;[Ljava/lang/Object;)
Ljava/lang/Object; (??:-2)


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


[jira] Assigned: (HARMONY-4898) [drlvm][jit][jet] crash due to IntegerOverflow

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

Alexey Varlamov reassigned HARMONY-4898:
----------------------------------------

    Assignee: Alexey Varlamov

> [drlvm][jit][jet] crash due to IntegerOverflow
> ----------------------------------------------
>
>                 Key: HARMONY-4898
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4898
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: x86_64
>            Reporter: Alexey Varlamov
>            Assignee: Alexey Varlamov
>         Attachments: H4898.diff
>
>
> The following simple tests crash on x86_64 in JET compiler:
>     public void testLDIV_min() {
>         long l_min = Long.MIN_VALUE;
>         long l_1 = -1;
>         long res = l_min / l_1;
>         assertEquals(Long.MIN_VALUE, res);
>     }
>     public void testLREM_min() {
>         long l_min = Long.MIN_VALUE;
>         long l_1 = -1;
>         long res = l_min % l_1;
>         assertEquals(0, res);
>     }
>     [junit] Windows reported exception: 0xc0000095
>     [junit] Registers:
>     [junit]     RAX: 0x8000000000000000, RBX: 0x8000000000000000
>     [junit]     RCX: 0x0000000003cb0000, RDX: 0xffffffffffffffff
>     [junit]     RSI: 0xffffffffffffffff, RDI: 0x000000000012c220
>     [junit]     RSP: 0x000000000012c1e0, RBP: 0x000000000012c4b8
>     [junit]     R8 : 0x000000000000006c, R9 : 0x0000000003fa1390
>     [junit]     R10: 0x000000000012cde0, R11: 0x0000000002fa9a80
>     [junit]     R12: 0x000000000012cd40, R13: 0x0000000002fa98c0
>     [junit]     R14: 0xdeadbeefdeadbeef, R15: 0x0000000011aee790
>     [junit]     RIP: 0x0000000003fa149a
>     [junit] Stack trace:
>     [junit]   0: Jitrino::Jet::rt_h_i64_a (??:-1)
>     [junit]   1: java/lang/reflect/VMReflection.invokeMethod(JLjava/lang/Object;[Ljava/lang/Object;)
> Ljava/lang/Object; (??:-2)

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


[jira] Closed: (HARMONY-4898) [drlvm][jit][jet] crash due to IntegerOverflow

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

Alexey Varlamov closed HARMONY-4898.
------------------------------------

    Resolution: Fixed

Applied fix at revision: 582725 , added 2 testcases to H4675 reg-test.

> [drlvm][jit][jet] crash due to IntegerOverflow
> ----------------------------------------------
>
>                 Key: HARMONY-4898
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4898
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: x86_64
>            Reporter: Alexey Varlamov
>            Assignee: Alexey Varlamov
>         Attachments: H4898.diff
>
>
> The following simple tests crash on x86_64 in JET compiler:
>     public void testLDIV_min() {
>         long l_min = Long.MIN_VALUE;
>         long l_1 = -1;
>         long res = l_min / l_1;
>         assertEquals(Long.MIN_VALUE, res);
>     }
>     public void testLREM_min() {
>         long l_min = Long.MIN_VALUE;
>         long l_1 = -1;
>         long res = l_min % l_1;
>         assertEquals(0, res);
>     }
>     [junit] Windows reported exception: 0xc0000095
>     [junit] Registers:
>     [junit]     RAX: 0x8000000000000000, RBX: 0x8000000000000000
>     [junit]     RCX: 0x0000000003cb0000, RDX: 0xffffffffffffffff
>     [junit]     RSI: 0xffffffffffffffff, RDI: 0x000000000012c220
>     [junit]     RSP: 0x000000000012c1e0, RBP: 0x000000000012c4b8
>     [junit]     R8 : 0x000000000000006c, R9 : 0x0000000003fa1390
>     [junit]     R10: 0x000000000012cde0, R11: 0x0000000002fa9a80
>     [junit]     R12: 0x000000000012cd40, R13: 0x0000000002fa98c0
>     [junit]     R14: 0xdeadbeefdeadbeef, R15: 0x0000000011aee790
>     [junit]     RIP: 0x0000000003fa149a
>     [junit] Stack trace:
>     [junit]   0: Jitrino::Jet::rt_h_i64_a (??:-1)
>     [junit]   1: java/lang/reflect/VMReflection.invokeMethod(JLjava/lang/Object;[Ljava/lang/Object;)
> Ljava/lang/Object; (??:-2)

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


[jira] Updated: (HARMONY-4898) [drlvm][jit][jet] crash due to IntegerOverflow

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

Alexey Varlamov updated HARMONY-4898:
-------------------------------------

    Attachment: H4898.diff

The rootcause is simple, wrong constant is used for handling LONG_MIN case.

> [drlvm][jit][jet] crash due to IntegerOverflow
> ----------------------------------------------
>
>                 Key: HARMONY-4898
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4898
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: x86_64
>            Reporter: Alexey Varlamov
>         Attachments: H4898.diff
>
>
> The following simple tests crash on x86_64 in JET compiler:
>     public void testLDIV_min() {
>         long l_min = Long.MIN_VALUE;
>         long l_1 = -1;
>         long res = l_min / l_1;
>         assertEquals(Long.MIN_VALUE, res);
>     }
>     public void testLREM_min() {
>         long l_min = Long.MIN_VALUE;
>         long l_1 = -1;
>         long res = l_min % l_1;
>         assertEquals(0, res);
>     }
>     [junit] Windows reported exception: 0xc0000095
>     [junit] Registers:
>     [junit]     RAX: 0x8000000000000000, RBX: 0x8000000000000000
>     [junit]     RCX: 0x0000000003cb0000, RDX: 0xffffffffffffffff
>     [junit]     RSI: 0xffffffffffffffff, RDI: 0x000000000012c220
>     [junit]     RSP: 0x000000000012c1e0, RBP: 0x000000000012c4b8
>     [junit]     R8 : 0x000000000000006c, R9 : 0x0000000003fa1390
>     [junit]     R10: 0x000000000012cde0, R11: 0x0000000002fa9a80
>     [junit]     R12: 0x000000000012cd40, R13: 0x0000000002fa98c0
>     [junit]     R14: 0xdeadbeefdeadbeef, R15: 0x0000000011aee790
>     [junit]     RIP: 0x0000000003fa149a
>     [junit] Stack trace:
>     [junit]   0: Jitrino::Jet::rt_h_i64_a (??:-1)
>     [junit]   1: java/lang/reflect/VMReflection.invokeMethod(JLjava/lang/Object;[Ljava/lang/Object;)
> Ljava/lang/Object; (??:-2)

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