harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Fwd: [jira] Created: (HARMONY-6137) [drlvm][concurrent] AtomicLong compare and swap returning wrong indicator
Date Thu, 02 Apr 2009 15:52:48 GMT
I think this could be the cause of the concurrent test failures we are
seeing on M9 testing.


---------- Forwarded message ----------
From: Tim Ellison (JIRA) <jira@apache.org>
Date: 2009/4/2
Subject: [jira] Created: (HARMONY-6137) [drlvm][concurrent] AtomicLong
compare and swap returning wrong indicator
To: commits@harmony.apache.org


[drlvm][concurrent] AtomicLong compare and swap returning wrong indicator
-------------------------------------------------------------------------

                Key: HARMONY-6137
                URL: https://issues.apache.org/jira/browse/HARMONY-6137
            Project: Harmony
         Issue Type: Bug
         Components: DRLVM
        Environment: Linux, r761319
           Reporter: Tim Ellison


Consider the following code that exercises AtomLong compare and swap operations:

               AtomicLong atomLong = new AtomicLong(1);
               System.out.println(atomLong.get());
               System.out.println("CAS 1,-4 = " +
atomLong.compareAndSet(1, -4));
               System.out.println(atomLong.get());
               System.out.println("CAS -5,1 = " +
atomLong.compareAndSet(-5, 1));
               System.out.println(atomLong.get());

I expect it to print out:
  1
  CAS 1,-4 = true
  -4
  CAS -5,1 = false
  -4

Since the comparison of --4 and -5 fails.
However when running that code on harmony r761319 I see

  1
  CAS 1,-4 = true
  -4
  CAS -5,1 = true
  -4

i.e. the swap is not done, but the method returned true as though it
had done the swap.


--
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