[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: possible gc/weak hash table bug
From: |
Andy Wingo |
Subject: |
Re: possible gc/weak hash table bug |
Date: |
Fri, 25 Mar 2011 10:23:24 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) |
On Fri 18 Mar 2011 12:51, address@hidden (Ludovic Courtès) writes:
> michaelawells <address@hidden> writes:
>
>>> size_t len = SCM_HASHTABLE_N_ITEMS (table);
>>>
>>> while (k--)
>>> {
>>> size_t removed;
>>> SCM alist = SCM_SIMPLE_VECTOR_REF (buckets, k);
>>> alist = scm_fixup_weak_alist (alist, &removed); <<<**** FAILS HERE
>>> assert (removed <= len);
>
> Andy, isn’t this assertion bogus since N_ITEMS is updated lazily and
> thus may not correspond to the current number of items?
I don't think so; this is the procedure that is doing that lazy sweep.
Michael, how are you using this hash table? Are you accessing it from
different pthreads? What version of libgc are you using? (Did you
enable parallel collection?)
Andy
--
http://wingolog.org/