[Openais] another bug fix relating to segfaults ?

Steven Dake sdake at mvista.com
Wed Feb 2 11:14:46 PST 2005


I have tracked down a possible problem which could lead to segfaults. 
memb_state_operational_enter was entered when there was still messages
that needed to be recovered.  After this patch, the sq_inuse assert
should no longer occur.

The previous code checked that my_aru == my_high_received but this is
insufficient.  The purpose of this check is to ensure that there are no
messages that are in the retransmit list.  But for this to work, we must
take the lower of my_aru or my_last_aru (the low water mark).  There was
another bug when the rotation counter which indicates when a certain
case occurs twice which wasn't being reset if the condition was false.

This patch has an ugly hack for sq_copy which I'm not sure is right.  It
seems to work crashfree, but this will take some more investigation
before we can merge that part of the patch.

Patch attached

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 204-5.patch
Type: text/x-patch
Size: 4460 bytes
Desc: not available
Url : http://lists.linux-foundation.org/pipermail/openais/attachments/20050202/86d778e7/204-5-0001.bin

More information about the Openais mailing list