[Mono-bugs] [Bug 80892][Maj] Changed - Monitor.Pulse not working properly on s390x

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Tue Feb 27 12:54:22 EST 2007

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by lupus at ximian.com.


--- shadow/80892	2007-02-27 12:40:20.000000000 -0500
+++ shadow/80892.tmp.30694	2007-02-27 12:54:22.000000000 -0500
@@ -135,6 +135,15 @@
 a) the test case is failing on SLED 10 SP1.
 b) Which version you have in SLED 10 SP1 (mono --version and rpm -qi
 c) if you upgrade to Mono 1.2.3, the problem goes away
+------- Additional Comments From lupus at ximian.com  2007-02-27 12:54 -------
+I think the issue may well be in the s390 atomic asm: it uses
+hardcoded registers (1 in compareexchange, 1 and 2 in the others):
+there is no guarantee that gcc will not use the same registers for the
+other arguments. Apart from that, I don't see how the code returns the
+old value at the memory location, instead it looks like it returns the
+old value we were expecting, which works just fine if the swap
+succeds, but is the wrong one if it fails.

More information about the mono-bugs mailing list