assoc.c loop-detection patch

Miguel DeAvila miguel.j.deavila at
Thu May 29 18:01:28 UTC 2008

On Wednesday 07 May 2008 16:33:07 dormando wrote:
> We worked out a test on IRC; to be absolutely sure it's not the
> autoexpander, please try:
> assoc.c:452 (as of 1.2.5)
> static unsigned int hashpower = 16;
> ... change that to 22 or 23. That'll give you a huge hash table and
> effectively disable the autoexpander, creating your big hash table up front.
> If you recompile with that number flipped up and the crash goes away,
> we'll know for sure which area of the code it's in.

We've been running with the above change on one of our memcache servers for
a few days. Since making the change the server has been flakey 
(at least 2 abnormal exits, but no core file), but has not exhibited the "loop" problem.

Of course, none of the other servers, which don't have the change, have exhibited
the looping problem either, ;-)

Let me know if there are any other experiments that would be helpful ...



> I believe toru's 
> been testing this as well but I'm not aware as to what the results were.
> Thanks,
> -Dormando
> Miguel DeAvila wrote:
> > The loop-detection patch assoc.c prints a message in the assoc_find() function indicating
> > that a loop was discovered and the state of the 'expanding' variable. 
> > 
> > If it's of any help, the 'expanding' variable is false in the core dumps I've captured.
> > 
> > We still get the loop problem intermittently. I'd be happy to add more diagnostics, but would need
> > some guidance about what to add.
> > 
> > thanks,
> > 
> > Miguel
> > 

More information about the memcached mailing list