You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Pavel Rebriy (JIRA)" <ji...@apache.org> on 2006/11/23 12:10:02 UTC

[jira] Created: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

[drlvm][verifier] Remove assignment compatible check for aastore instruction
----------------------------------------------------------------------------

                 Key: HARMONY-2281
                 URL: http://issues.apache.org/jira/browse/HARMONY-2281
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
            Reporter: Pavel Rebriy
         Attachments: aastore_test.zip

According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.

The issue removes redundant check from verifier.

Here is the test to check the issue. To run the test use the following command:

$ java Test

The test works on Java 1.5 and it fails on Java 1.4.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

Posted by "Vera Petrashkova (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-2281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12491228 ] 

Vera Petrashkova commented on HARMONY-2281:
-------------------------------------------

I think that this bug should be reopened.
Attached Test which expects that  java.lang.ArrayStoreException. It fails on  r531681 because VM throws java.lang.VerifyError
See output:
Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
java version "1.5.0" 
pre-alpha : not complete or compatible
svn = r531681, (Apr 24 2007), Linux/ia32/gcc 3.3.3, release build
http://incubator.apache.org/harmony
TestAastore: failed: unexpected error java.lang.VerifyError: (class: TestAastore, method: test()V) Incompatible types for array assignment

This isuue also causes the failures of 5 aastore tests from DRLVM validation test suite (http://issues.apache.org/jira/browse/HARMONY-3206)

> [drlvm][verifier] Remove assignment compatible check for aastore instruction
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2281
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2281
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Rebriy
>         Assigned To: Gregory Shimansky
>         Attachments: aastore_test.zip, verifier_aastore_fix.patch
>
>
> According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.
> The issue removes redundant check from verifier.
> Here is the test to check the issue. To run the test use the following command:
> $ java Test
> The test works on Java 1.5 and it fails on Java 1.4.

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


[jira] Commented: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

Posted by "Pavel Rebriy (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2281?page=comments#action_12453800 ] 
            
Pavel Rebriy commented on HARMONY-2281:
---------------------------------------

The problem is the Specification for 1.4 and 1.5 are different.

Here is an example on Java 1.5:

$ java -showversion Test
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))
TestAastore: passed: java.lang.ArrayStoreException: Cannot store [Ljava.lang.Object; in [LTestAastore;

The test works as I described: it works on Java 1.5 and it fails on Java 1.4. 

> [drlvm][verifier] Remove assignment compatible check for aastore instruction
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2281
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2281
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Rebriy
>         Assigned To: Gregory Shimansky
>         Attachments: aastore_test.zip, verifier_aastore_fix.patch
>
>
> According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.
> The issue removes redundant check from verifier.
> Here is the test to check the issue. To run the test use the following command:
> $ java Test
> The test works on Java 1.5 and it fails on Java 1.4.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

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

Alexei Fedotov updated HARMONY-2281:
------------------------------------

    Attachment: aastore.patch

The fix makes a behavior dependent from VM version (=1.5 for us always), not a class file version. Also a number of warnings for 64 bit platform is fixed (thanks Pavel Pervov for reporting them).

> [drlvm][verifier] Remove assignment compatible check for aastore instruction
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2281
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2281
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Rebriy
>         Assigned To: Gregory Shimansky
>         Attachments: aastore.patch, aastore_test.zip, verifier_aastore_fix.patch
>
>
> According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.
> The issue removes redundant check from verifier.
> Here is the test to check the issue. To run the test use the following command:
> $ java Test
> The test works on Java 1.5 and it fails on Java 1.4.

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


[jira] Resolved: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2281?page=all ]

Gregory Shimansky resolved HARMONY-2281.
----------------------------------------

    Resolution: Fixed

Patch applied at 480047. Please check that it was applied as expected.

> [drlvm][verifier] Remove assignment compatible check for aastore instruction
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2281
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2281
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Rebriy
>         Assigned To: Gregory Shimansky
>         Attachments: aastore_test.zip, verifier_aastore_fix.patch
>
>
> According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.
> The issue removes redundant check from verifier.
> Here is the test to check the issue. To run the test use the following command:
> $ java Test
> The test works on Java 1.5 and it fails on Java 1.4.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Resolved: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

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

Gregory Shimansky resolved HARMONY-2281.
----------------------------------------

    Resolution: Fixed

Patch applied at 532049. Please check that it was applied as expected.

> [drlvm][verifier] Remove assignment compatible check for aastore instruction
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2281
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2281
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Rebriy
>         Assigned To: Gregory Shimansky
>         Attachments: aastore.patch, aastore_test.zip, verifier_aastore_fix.patch
>
>
> According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.
> The issue removes redundant check from verifier.
> Here is the test to check the issue. To run the test use the following command:
> $ java Test
> The test works on Java 1.5 and it fails on Java 1.4.

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


[jira] Closed: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

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

Gregory Shimansky closed HARMONY-2281.
--------------------------------------


VERIFIED

> [drlvm][verifier] Remove assignment compatible check for aastore instruction
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2281
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2281
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Rebriy
>         Assigned To: Gregory Shimansky
>         Attachments: aastore.patch, aastore_test.zip, verifier_aastore_fix.patch
>
>
> According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.
> The issue removes redundant check from verifier.
> Here is the test to check the issue. To run the test use the following command:
> $ java Test
> The test works on Java 1.5 and it fails on Java 1.4.

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


[jira] Updated: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

Posted by "Pavel Rebriy (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2281?page=all ]

Pavel Rebriy updated HARMONY-2281:
----------------------------------

    Attachment: verifier_aastore_fix.patch

The patch to fix the issue. This patch also contains several fixes in verifier graph dump parts of code unrelated to the issue, but needed to debug verifier.

> [drlvm][verifier] Remove assignment compatible check for aastore instruction
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2281
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2281
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Rebriy
>         Attachments: aastore_test.zip, verifier_aastore_fix.patch
>
>
> According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.
> The issue removes redundant check from verifier.
> Here is the test to check the issue. To run the test use the following command:
> $ java Test
> The test works on Java 1.5 and it fails on Java 1.4.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

Posted by "Pavel Rebriy (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2281?page=all ]

Pavel Rebriy updated HARMONY-2281:
----------------------------------

    Attachment: aastore_test.zip

The test suite to check.

> [drlvm][verifier] Remove assignment compatible check for aastore instruction
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2281
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2281
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Rebriy
>         Attachments: aastore_test.zip
>
>
> According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.
> The issue removes redundant check from verifier.
> Here is the test to check the issue. To run the test use the following command:
> $ java Test
> The test works on Java 1.5 and it fails on Java 1.4.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2281?page=comments#action_12453901 ] 
            
Gregory Shimansky commented on HARMONY-2281:
--------------------------------------------

Ok I see. I somehow didn't read that the test fails on 1.4. Instead I thought that it passes on both versions. I'll commit the patch if tests pass ok.

> [drlvm][verifier] Remove assignment compatible check for aastore instruction
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2281
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2281
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Rebriy
>         Assigned To: Gregory Shimansky
>         Attachments: aastore_test.zip, verifier_aastore_fix.patch
>
>
> According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.
> The issue removes redundant check from verifier.
> Here is the test to check the issue. To run the test use the following command:
> $ java Test
> The test works on Java 1.5 and it fails on Java 1.4.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Reopened: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

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

Gregory Shimansky reopened HARMONY-2281:
----------------------------------------


Reopening the bug to investigate why attached test fails again.

> [drlvm][verifier] Remove assignment compatible check for aastore instruction
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2281
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2281
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Rebriy
>         Assigned To: Gregory Shimansky
>         Attachments: aastore_test.zip, verifier_aastore_fix.patch
>
>
> According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.
> The issue removes redundant check from verifier.
> Here is the test to check the issue. To run the test use the following command:
> $ java Test
> The test works on Java 1.5 and it fails on Java 1.4.

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


[jira] Commented: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

Posted by "Alexei Fedotov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-2281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12491623 ] 

Alexei Fedotov commented on HARMONY-2281:
-----------------------------------------

Gregory, thanks. The patch is applied as expected. 

> [drlvm][verifier] Remove assignment compatible check for aastore instruction
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2281
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2281
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Rebriy
>         Assigned To: Gregory Shimansky
>         Attachments: aastore.patch, aastore_test.zip, verifier_aastore_fix.patch
>
>
> According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.
> The issue removes redundant check from verifier.
> Here is the test to check the issue. To run the test use the following command:
> $ java Test
> The test works on Java 1.5 and it fails on Java 1.4.

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


[jira] Assigned: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2281?page=all ]

Gregory Shimansky reassigned HARMONY-2281:
------------------------------------------

    Assignee: Gregory Shimansky

> [drlvm][verifier] Remove assignment compatible check for aastore instruction
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2281
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2281
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Rebriy
>         Assigned To: Gregory Shimansky
>         Attachments: aastore_test.zip, verifier_aastore_fix.patch
>
>
> According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.
> The issue removes redundant check from verifier.
> Here is the test to check the issue. To run the test use the following command:
> $ java Test
> The test works on Java 1.5 and it fails on Java 1.4.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2281) [drlvm][verifier] Remove assignment compatible check for aastore instruction

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/HARMONY-2281?page=comments#action_12453762 ] 
            
Gregory Shimansky commented on HARMONY-2281:
--------------------------------------------

I don't think that all Java implementation work like you describe. Here is the example:

$ java -showversion Test
java version "1.4.2_10"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_10-b03)
Java HotSpot(TM) Client VM (build 1.4.2_10-b03, mixed mode)

TestAastore: failed: unexpected error java.lang.VerifyError: (class: TestAastore, method: test signature: ()V) Incompatible types for storing into array of arrays or objects


Do you think it is a bug in 1.4.2_10 Sun Java?

> [drlvm][verifier] Remove assignment compatible check for aastore instruction
> ----------------------------------------------------------------------------
>
>                 Key: HARMONY-2281
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2281
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Rebriy
>         Assigned To: Gregory Shimansky
>         Attachments: aastore_test.zip, verifier_aastore_fix.patch
>
>
> According Java Specification 1.5 verifier checks what the type of every value stored into an array by an aastore instruction must a reference type. Verifier doesn't need to check what the stored value is assignment compatible with the component type of the array.
> The issue removes redundant check from verifier.
> Here is the test to check the issue. To run the test use the following command:
> $ java Test
> The test works on Java 1.5 and it fails on Java 1.4.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira