[news.software.b] bug in TMNN7.7 using SORTACTIVE

eric@snark.uu.net (Eric S. Raymond) (05/18/89)

My hash speedup for newsgroup lookup just turned around and bit me. I fixed
it -- but if you are running 7.7 with SORTACTIVE and HASHGROUPS one, beware
that there are weird circumstances under which sortactive() can wedge itself
into an infinite loop. The fix is simple. In D.news/rdactive.c, do

517a518,519
>     for (ngp = active.newsgroups; ngp < lastgrp; ngp++)
> 	ngp->ng_nextg = 0;

This will be in the 7.8 patch and/or final release, of course. I'm publishing
the patch here so beta sites can apply it before they get bit.

For anyone who cares, the problem comes up when rebuilding the hash list
chains after sorting the active file. If the old index of a group happens
to be the same as its new index, the chain-traversing loop would spin
forever looking for the next group. The patch above zeroes out the next-group
fields just before the rebuild.
-- 
      Eric S. Raymond = eric@snark.uu.net    (mad mastermind of TMN-Netnews)