You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Vera Petrashkova (JIRA)" <ji...@apache.org> on 2007/06/29 07:34:05 UTC

[jira] Created: (HARMONY-4302) [buildtest][vts] 3 vm/jvms/threads tests do not initialize used variables

[buildtest][vts] 3  vm/jvms/threads tests do not initialize used variables
--------------------------------------------------------------------------

                 Key: HARMONY-4302
                 URL: https://issues.apache.org/jira/browse/HARMONY-4302
             Project: Harmony
          Issue Type: Bug
          Components: build - test - ci
            Reporter: Vera Petrashkova
         Attachments: threads.patch

The following VTS VM tests are incorrect:
    vm/jvms/threads/threads201/threads20101/threads20101.xml
    vm/jvms/threads/threads209/threads20901/threads20901.xml
    vm/jvms/threads/threads189/threads18901/threads18901.xml

According to these tests descriptions (for example, see threads18901.xml)
they should assign "a" and "b" variables during initialization, 
then they modify "c" and "d" variable using "a" and "b" and check the values of "c" and "d".
--------------------
  <Description>
      The test initializes the following fields
              a = 1;              <<<<<<<<<<<<<<
              b = 2;              <<<<<<<<<<<<<<
              c = d = 0;
      and starts two threads. The first thread concurrently calls
      the following method:
          public void anny() {
              a = 3;
              b = 4;
          }
      While the second thread calls concurrently the following method:
          public void betty() {
              c = a;
              d = b;
          }
      (both methods are not synchronized)
      After threads finished their calls, the master thread makes 
      a synchronous check
      of c and d values, for c to be either 1 or 3, for d to be either 2 or 4.

      The procedure is repeated until timeout specified by delay parameter is 
      reached.
      Covered assertions assert_thread189
  </Description>
----------------------

But actually all these tests assign "c" and "d" variables during initialization:
--------------threads18901p.j-------------------
.method public <init>()V
    .limit stack 2
    .limit locals 1
    aload_0
    invokespecial
org/apache/harmony/vts/test/vm/jvms/threads/share/InterruptibleTest/<init>()V
    aload_0
    iconst_1
    putfield
org/apache/harmony/vts/test/vm/jvms/threads/threads189/threads18901/threads18901p/c I   <<<<< c instead of  a
    aload_0
    iconst_2
    putfield
org/apache/harmony/vts/test/vm/jvms/threads/threads189/threads18901/threads18901p/d I   <<<< < d instead of  b
    return
.end method
----------------threads20101p.j---------------------
.method public <init>()V
    .limit stack 2
    .limit locals 1

    aload_0
    invokespecial
org/apache/harmony/vts/test/vm/jvms/threads/share/InterruptibleTest/<init>()V
    aload_0
    iconst_1
    putfield
org/apache/harmony/vts/test/vm/jvms/threads/threads201/threads20101/threads20101p/c I  <<<<< c instead of  a
    aload_0
    iconst_2
    putfield
org/apache/harmony/vts/test/vm/jvms/threads/threads201/threads20101/threads20101p/d I  <<<<< d instead of  b
    return
.end method
-----------threads20901p.j-------------------------
.method public <init>()V
    .limit stack 2
    .limit locals 1

    aload_0
    invokespecial
org/apache/harmony/vts/test/vm/jvms/threads/share/InterruptibleTest/<init>()V
    aload_0
    iconst_1
    putfield
org/apache/harmony/vts/test/vm/jvms/threads/threads209/threads20901/threads20901p/c I  <<<<< c instead of  a

    aload_0
    iconst_2
    putfield
org/apache/harmony/vts/test/vm/jvms/threads/threads209/threads20901/threads20901p/d I   <<<<< d instead of  b
    return
.end method
----------------------------

As the result if the second thread (Betty) executes before the first thread
(Anny) then "c" and "d" have wrong value 0  and these tests fail.

The initialization of "c" and "d" should be replaced by the initialization "a" and "b"


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


[jira] Updated: (HARMONY-4302) [buildtest][vts] 3 vm/jvms/threads tests do not initialize used variables

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

Vera Petrashkova updated HARMONY-4302:
--------------------------------------

    Attachment: threads.patch

> [buildtest][vts] 3  vm/jvms/threads tests do not initialize used variables
> --------------------------------------------------------------------------
>
>                 Key: HARMONY-4302
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4302
>             Project: Harmony
>          Issue Type: Bug
>          Components: build - test - ci
>            Reporter: Vera Petrashkova
>         Attachments: threads.patch
>
>
> The following VTS VM tests are incorrect:
>     vm/jvms/threads/threads201/threads20101/threads20101.xml
>     vm/jvms/threads/threads209/threads20901/threads20901.xml
>     vm/jvms/threads/threads189/threads18901/threads18901.xml
> According to these tests descriptions (for example, see threads18901.xml)
> they should assign "a" and "b" variables during initialization, 
> then they modify "c" and "d" variable using "a" and "b" and check the values of "c" and "d".
> --------------------
>   <Description>
>       The test initializes the following fields
>               a = 1;              <<<<<<<<<<<<<<
>               b = 2;              <<<<<<<<<<<<<<
>               c = d = 0;
>       and starts two threads. The first thread concurrently calls
>       the following method:
>           public void anny() {
>               a = 3;
>               b = 4;
>           }
>       While the second thread calls concurrently the following method:
>           public void betty() {
>               c = a;
>               d = b;
>           }
>       (both methods are not synchronized)
>       After threads finished their calls, the master thread makes 
>       a synchronous check
>       of c and d values, for c to be either 1 or 3, for d to be either 2 or 4.
>       The procedure is repeated until timeout specified by delay parameter is 
>       reached.
>       Covered assertions assert_thread189
>   </Description>
> ----------------------
> But actually all these tests assign "c" and "d" variables during initialization:
> --------------threads18901p.j-------------------
> .method public <init>()V
>     .limit stack 2
>     .limit locals 1
>     aload_0
>     invokespecial
> org/apache/harmony/vts/test/vm/jvms/threads/share/InterruptibleTest/<init>()V
>     aload_0
>     iconst_1
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads189/threads18901/threads18901p/c I   <<<<< c instead of  a
>     aload_0
>     iconst_2
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads189/threads18901/threads18901p/d I   <<<< < d instead of  b
>     return
> .end method
> ----------------threads20101p.j---------------------
> .method public <init>()V
>     .limit stack 2
>     .limit locals 1
>     aload_0
>     invokespecial
> org/apache/harmony/vts/test/vm/jvms/threads/share/InterruptibleTest/<init>()V
>     aload_0
>     iconst_1
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads201/threads20101/threads20101p/c I  <<<<< c instead of  a
>     aload_0
>     iconst_2
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads201/threads20101/threads20101p/d I  <<<<< d instead of  b
>     return
> .end method
> -----------threads20901p.j-------------------------
> .method public <init>()V
>     .limit stack 2
>     .limit locals 1
>     aload_0
>     invokespecial
> org/apache/harmony/vts/test/vm/jvms/threads/share/InterruptibleTest/<init>()V
>     aload_0
>     iconst_1
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads209/threads20901/threads20901p/c I  <<<<< c instead of  a
>     aload_0
>     iconst_2
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads209/threads20901/threads20901p/d I   <<<<< d instead of  b
>     return
> .end method
> ----------------------------
> As the result if the second thread (Betty) executes before the first thread
> (Anny) then "c" and "d" have wrong value 0  and these tests fail.
> The initialization of "c" and "d" should be replaced by the initialization "a" and "b"

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


[jira] Resolved: (HARMONY-4302) [buildtest][vts] 3 vm/jvms/threads tests do not initialize used variables

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

Vladimir Ivanov resolved HARMONY-4302.
--------------------------------------

    Resolution: Fixed

Thanks for your patch. It was applied at r556862. Please, verify. 


> [buildtest][vts] 3  vm/jvms/threads tests do not initialize used variables
> --------------------------------------------------------------------------
>
>                 Key: HARMONY-4302
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4302
>             Project: Harmony
>          Issue Type: Bug
>          Components: build - test - ci
>            Reporter: Vera Petrashkova
>            Assignee: Vladimir Ivanov
>         Attachments: threads.patch
>
>
> The following VTS VM tests are incorrect:
>     vm/jvms/threads/threads201/threads20101/threads20101.xml
>     vm/jvms/threads/threads209/threads20901/threads20901.xml
>     vm/jvms/threads/threads189/threads18901/threads18901.xml
> According to these tests descriptions (for example, see threads18901.xml)
> they should assign "a" and "b" variables during initialization, 
> then they modify "c" and "d" variable using "a" and "b" and check the values of "c" and "d".
> --------------------
>   <Description>
>       The test initializes the following fields
>               a = 1;              <<<<<<<<<<<<<<
>               b = 2;              <<<<<<<<<<<<<<
>               c = d = 0;
>       and starts two threads. The first thread concurrently calls
>       the following method:
>           public void anny() {
>               a = 3;
>               b = 4;
>           }
>       While the second thread calls concurrently the following method:
>           public void betty() {
>               c = a;
>               d = b;
>           }
>       (both methods are not synchronized)
>       After threads finished their calls, the master thread makes 
>       a synchronous check
>       of c and d values, for c to be either 1 or 3, for d to be either 2 or 4.
>       The procedure is repeated until timeout specified by delay parameter is 
>       reached.
>       Covered assertions assert_thread189
>   </Description>
> ----------------------
> But actually all these tests assign "c" and "d" variables during initialization:
> --------------threads18901p.j-------------------
> .method public <init>()V
>     .limit stack 2
>     .limit locals 1
>     aload_0
>     invokespecial
> org/apache/harmony/vts/test/vm/jvms/threads/share/InterruptibleTest/<init>()V
>     aload_0
>     iconst_1
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads189/threads18901/threads18901p/c I   <<<<< c instead of  a
>     aload_0
>     iconst_2
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads189/threads18901/threads18901p/d I   <<<< < d instead of  b
>     return
> .end method
> ----------------threads20101p.j---------------------
> .method public <init>()V
>     .limit stack 2
>     .limit locals 1
>     aload_0
>     invokespecial
> org/apache/harmony/vts/test/vm/jvms/threads/share/InterruptibleTest/<init>()V
>     aload_0
>     iconst_1
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads201/threads20101/threads20101p/c I  <<<<< c instead of  a
>     aload_0
>     iconst_2
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads201/threads20101/threads20101p/d I  <<<<< d instead of  b
>     return
> .end method
> -----------threads20901p.j-------------------------
> .method public <init>()V
>     .limit stack 2
>     .limit locals 1
>     aload_0
>     invokespecial
> org/apache/harmony/vts/test/vm/jvms/threads/share/InterruptibleTest/<init>()V
>     aload_0
>     iconst_1
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads209/threads20901/threads20901p/c I  <<<<< c instead of  a
>     aload_0
>     iconst_2
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads209/threads20901/threads20901p/d I   <<<<< d instead of  b
>     return
> .end method
> ----------------------------
> As the result if the second thread (Betty) executes before the first thread
> (Anny) then "c" and "d" have wrong value 0  and these tests fail.
> The initialization of "c" and "d" should be replaced by the initialization "a" and "b"

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


[jira] Assigned: (HARMONY-4302) [buildtest][vts] 3 vm/jvms/threads tests do not initialize used variables

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

Vladimir Ivanov reassigned HARMONY-4302:
----------------------------------------

    Assignee: Vladimir Ivanov

> [buildtest][vts] 3  vm/jvms/threads tests do not initialize used variables
> --------------------------------------------------------------------------
>
>                 Key: HARMONY-4302
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4302
>             Project: Harmony
>          Issue Type: Bug
>          Components: build - test - ci
>            Reporter: Vera Petrashkova
>            Assignee: Vladimir Ivanov
>         Attachments: threads.patch
>
>
> The following VTS VM tests are incorrect:
>     vm/jvms/threads/threads201/threads20101/threads20101.xml
>     vm/jvms/threads/threads209/threads20901/threads20901.xml
>     vm/jvms/threads/threads189/threads18901/threads18901.xml
> According to these tests descriptions (for example, see threads18901.xml)
> they should assign "a" and "b" variables during initialization, 
> then they modify "c" and "d" variable using "a" and "b" and check the values of "c" and "d".
> --------------------
>   <Description>
>       The test initializes the following fields
>               a = 1;              <<<<<<<<<<<<<<
>               b = 2;              <<<<<<<<<<<<<<
>               c = d = 0;
>       and starts two threads. The first thread concurrently calls
>       the following method:
>           public void anny() {
>               a = 3;
>               b = 4;
>           }
>       While the second thread calls concurrently the following method:
>           public void betty() {
>               c = a;
>               d = b;
>           }
>       (both methods are not synchronized)
>       After threads finished their calls, the master thread makes 
>       a synchronous check
>       of c and d values, for c to be either 1 or 3, for d to be either 2 or 4.
>       The procedure is repeated until timeout specified by delay parameter is 
>       reached.
>       Covered assertions assert_thread189
>   </Description>
> ----------------------
> But actually all these tests assign "c" and "d" variables during initialization:
> --------------threads18901p.j-------------------
> .method public <init>()V
>     .limit stack 2
>     .limit locals 1
>     aload_0
>     invokespecial
> org/apache/harmony/vts/test/vm/jvms/threads/share/InterruptibleTest/<init>()V
>     aload_0
>     iconst_1
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads189/threads18901/threads18901p/c I   <<<<< c instead of  a
>     aload_0
>     iconst_2
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads189/threads18901/threads18901p/d I   <<<< < d instead of  b
>     return
> .end method
> ----------------threads20101p.j---------------------
> .method public <init>()V
>     .limit stack 2
>     .limit locals 1
>     aload_0
>     invokespecial
> org/apache/harmony/vts/test/vm/jvms/threads/share/InterruptibleTest/<init>()V
>     aload_0
>     iconst_1
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads201/threads20101/threads20101p/c I  <<<<< c instead of  a
>     aload_0
>     iconst_2
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads201/threads20101/threads20101p/d I  <<<<< d instead of  b
>     return
> .end method
> -----------threads20901p.j-------------------------
> .method public <init>()V
>     .limit stack 2
>     .limit locals 1
>     aload_0
>     invokespecial
> org/apache/harmony/vts/test/vm/jvms/threads/share/InterruptibleTest/<init>()V
>     aload_0
>     iconst_1
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads209/threads20901/threads20901p/c I  <<<<< c instead of  a
>     aload_0
>     iconst_2
>     putfield
> org/apache/harmony/vts/test/vm/jvms/threads/threads209/threads20901/threads20901p/d I   <<<<< d instead of  b
>     return
> .end method
> ----------------------------
> As the result if the second thread (Betty) executes before the first thread
> (Anny) then "c" and "d" have wrong value 0  and these tests fail.
> The initialization of "c" and "d" should be replaced by the initialization "a" and "b"

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