assoc.c loop-detection patch

dormando dormando at
Wed May 7 23:33:07 UTC 2008

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 expect to have more than 25 million items in your cache up the
number again or something. Careful about the extra memory it will use.

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. I believe toru's
been testing this as well but I'm not aware as to what the results were.


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