[Mono-bugs] [Bug 677746] Crash: Assertion at mono-wsq.c:73, condition `mono_wsq_count (wsq) == 0' not met

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sun Mar 20 19:23:25 EDT 2011


https://bugzilla.novell.com/show_bug.cgi?id=677746

https://bugzilla.novell.com/show_bug.cgi?id=677746#c18


--- Comment #18 from Artem Rusanov <artem.rusanov at gmail.com> 2011-03-20 23:23:23 UTC ---
Gonzalo, I have no small test. But I think I found racing.

Thread 1:
function: mono_wsq_destroy
wsq->tail = 0
wsq->head = 0
wsq->mask = 31

Next, we call mono_wsq_count (wsq) (wsq->tail - wsq->head) & wsq->mask

At same time thread 2 tryes mono_wsq_try_steal
and makes InterlockedExchange (&wsq->head, head + 1);

Finaly mono_wsq_count returns (0 - 1) & 31, obviously it is not zero, and
assertion g_assert (mono_wsq_count (wsq) == 0) arises.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list