[Bug 92] threading is broken (most visible on SMP)
| Newsgroups | gmane.comp.java.vm.sablevm.bugs |
|---|---|
| Message-ID | <[email protected]> |
http://sablevm.org/bugs/show_bug.cgi?id=92 ------- Additional Comments From [email protected] 2005-01-28 17:54 ------- gadek suggested the following change in _svmf_enter_object_monitor, and it gets rid of the assertion failures, but does not solve the null pointer exceptions, which he thinks are from the class libraries. owner->contention.owner.flag = 1; +{ + _svmt_word new_lockword = instance->lockword; + + do + { + new_lockword = instance->lockword; + } + while (!_svmm_compare_and_swap(instance->lockword, new_lockword, new_lockword)); +} if (_svmf_lockword_get_thinlock_id (instance->lockword) == owner->thread.thinlock_id) I'm not sure that this completely solves the problem, even for the assertions, but need to think about it more. At least it dies less often now, even if we have to spin on this C&S. ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the QA contact for the bug, or are watching the QA contact.