harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Elena Semukhina (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-3253) [drlvm][thread manager] Thread.join() does not ensure the TERMINATED state of a thread
Date Tue, 27 Feb 2007 13:45:05 GMT
[drlvm][thread manager] Thread.join() does not ensure the TERMINATED state of a thread
--------------------------------------------------------------------------------------

                 Key: HARMONY-3253
                 URL: https://issues.apache.org/jira/browse/HARMONY-3253
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
            Reporter: Elena Semukhina


 The kernel test ThreadTest.testInterruptTerminated() fails intermittently with the message
"interrupt status has not changed to true" when interrupting a terminated thread. This could
happen when a thread exited join() but its state at that moment was not TERMINATED.

The following test shows up that the state of a thread after termination is not always TERMINATED.

public class TestGetStateJoined {

    public static void main(String args[]) {
        int count = 100;
        for (int i = 0; i < count; i++) {
            Thread t = new Thread();
            t.start();
            try {
                t.join();
            } catch (InterruptedException e) {
            }
            Thread.State ts = t.getState();
            System.out.println("state : " + ts);
        }
    }
}

The test alternately prints "RUNNABLE" and "TERMINATED" on DRLVM:

> $DRLVM -showversion TestGetStateJoined
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 = r512139, (Feb 27 2007), Linux/ia32/gcc 3.3.3, debug build
http://incubator.apache.org/harmony
state : TERMINATED
state : RUNNABLE
state : TERMINATED
state : TERMINATED
state : TERMINATED
state : RUNNABLE
state : TERMINATED
...

while on RI it always prints "TERMINATED":

> $RI -showversion TestGetStateJoined
java version "1.5.0_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_08-b03)
Java HotSpot(TM) Server VM (build 1.5.0_08-b03, mixed mode)
 
state : TERMINATED
state : TERMINATED
state : TERMINATED
....



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


Mime
View raw message