I think this could be the cause of the concurrent test failures we are seeing on M9 testing. ---------- Forwarded message ---------- From: Tim Ellison (JIRA) 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.