I think this could be the cause of the concurrent test failures we are seeing on M9 testing.
---------- Forwarded message ---------- From: Tim Ellison (JIRA) <[email protected]> Date: 2009/4/2 Subject: [jira] Created: (HARMONY-6137) [drlvm][concurrent] AtomicLong compare and swap returning wrong indicator To: [email protected] [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.
