[netsa-tools-discuss] segfaults in rwflowpack/rwflowappend
John Green
John.Green at jisc.ac.uk
Thu Dec 4 03:00:34 EST 2014
On Wed, 2014-12-03 at 17:43 -0500, Michael Welsh Duggan wrote:
> We found it! You were correct. There is an extremely subtle bug
> involving the redblack code and multithreading. The redblack
> implementation we are using uses a global null element (called RBNULL in
> the code). This null element, startlingly, is not necessarily
> constant. When deleting a node, the null element's color and up pointer
> can both change and be used. If another thread is also deleting an
> element from a tree, they can both be modifying this null element.
Great news. Ironically as part of my debugging I compiled Silk with
clang + thread sanitizer and it identified exactly the same issue. It
didn't make much sense to me though (I hadn't spotted that RBNULL was
global) so I parked it whilst I investigated other possibilities.
Thanks for investigating this.
John
Jisc is a registered charity (number 1149740) and a company limited by guarantee which is registered in England under Company No. 5747339, VAT No. GB 882 5529 90. Jisc’s registered office is: One Castlepark, Tower Hill, Bristol, BS2 0JA. T 0203 697 5800.
Jisc Collections and Janet Ltd. is a wholly owned Jisc subsidiary and a company limited by guarantee which is registered in England under Company No. number 2881024, VAT No. GB 614 9442 38. The registered office is: Lumen House, Library Avenue, Harwell, Didcot, Oxfordshire, OX11 0SG. T 01235 822200.
More information about the netsa-tools-discuss
mailing list