posted 23 years ago
I seem to have fixed it. I merely moved the checks into the parent class, and enclosed them in a single synchronized block. This may be more efficient anyway.
There are some similar bugs posted in Sun's bug database. They marked the bugs as not-reproducable, and closed the topic. There may be something subtle about the locks and the short-circuit condition statement that may cause this problem on different multiprocessor architectures.
Relaxed memory models also introduce sublties that must be programmed for. A good, short article is 'Multiprocessor Saftety and Java', by Paul Jakubik, in case anyone is intersted.
I thought I would wrap this up with what I found out. Please let me know if anyone finds anything out more conclusive. Thanks.
...Mike B.