Hi :) On Mon 15 Dec 2014 07:36, Anand Mohanadoss <anand...@gmail.com> writes:
> Here is what we changed in hashtab.c - > > 130a131 >> size_t orig_len = len; > 137,138c138,144 > < assert (removed <= len); > < len -= removed; > --- >> if (removed <= len) >> len -= removed; >> else >> { >> printf ("Vacuum weak hash table assert Table=%p len=%zi removed=%zi > orig_len=%zi n_items=%zi\n", table, len, removed, orig_len, > SCM_HASHTABLE_N_ITEMS (table)); >> len = 0; >> } > > With this change, we got lines similar to the following printed > periodically - > > Vacuum weak hash table assert Table=0x9bdb840 len=0 removed=1 > orig_len=2321 n_items=2321 I guess printing a warning is not worse than crashing. I was unable to make this table work in a reliable way in 2.0 without rewriting it, so in 2.2 there's a new implementation with hopefully no bug in this regard. Ludovic what do you thing, should we just be sloppy in 2.0 and remove the assertion? I don't think it's fixable. The other option I see is to close as WONTFIX. Andy