From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.bugs Subject: Re: possible gc/weak hash table bug Date: Fri, 25 Mar 2011 10:23:24 +0100 Message-ID: References: <2A90EE37-595C-40D2-9EFC-E4E166F94CE2@gmail.com> <87r5a4odeg.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1301063946 14496 80.91.229.12 (25 Mar 2011 14:39:06 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 25 Mar 2011 14:39:06 +0000 (UTC) Cc: bug-guile@gnu.org To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Fri Mar 25 15:38:59 2011 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Q38AF-0007p3-1e for guile-bugs@m.gmane.org; Fri, 25 Mar 2011 15:38:59 +0100 Original-Received: from localhost ([127.0.0.1]:52001 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q38AE-0007OV-75 for guile-bugs@m.gmane.org; Fri, 25 Mar 2011 10:38:58 -0400 Original-Received: from [140.186.70.92] (port=60034 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q389y-0007NJ-0x for bug-guile@gnu.org; Fri, 25 Mar 2011 10:38:43 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q389t-0002u4-2P for bug-guile@gnu.org; Fri, 25 Mar 2011 10:38:38 -0400 Original-Received: from a-pb-sasl-sd.pobox.com ([64.74.157.62]:57030 helo=sasl.smtp.pobox.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q389s-0002tv-Vw; Fri, 25 Mar 2011 10:38:37 -0400 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 7B3444CF2; Fri, 25 Mar 2011 10:40:18 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=sasl; bh=2bHOu9dnYqzp OQTLs2umfZH+ZxY=; b=M3jtf1I198pipFa9vUxmkiVF+2Do9oBRTlP2Xy+Pelfq XsNo8ABA7GA5SSDLi+yjM4vpfKwWQRK+/C1ik6vZQOvtrJOweZOm0gyWh7g5RXYp yNSH5Yonl8VP1+/MOU2u83i767h9R3LwYSuBnZYtmFUJ2yes6vaAOKFfnCto0N0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; q=dns; s=sasl; b=mlOpfj Y4w3LgjivY3hSf6hgULpQv3WoQqlYfSmUXU//UbkPQCB6dpFPqf0qUlmR1OFPdTG c0NxXNKqIgywAlnVMbVeOLyxhmhXVtyPQwrrV9NW01x3GoOBo9VcCpaF7mG5NtfH XfdfYLadjJKgrGg40e9BsRuHt5o9Cs/MdENBQ= Original-Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 665E64CF0; Fri, 25 Mar 2011 10:40:16 -0400 (EDT) Original-Received: from unquote.localdomain (unknown [90.164.198.39]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id C62FE4CEF; Fri, 25 Mar 2011 10:40:14 -0400 (EDT) In-Reply-To: <87r5a4odeg.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Fri, 18 Mar 2011 12:51:03 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) X-Pobox-Relay-ID: CCBE383E-56ED-11E0-9FE9-E8AB60295C12-02397024!a-pb-sasl-sd.pobox.com X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-Received-From: 64.74.157.62 X-BeenThere: bug-guile@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:5367 Archived-At: On Fri 18 Mar 2011 12:51, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > michaelawells writes: > >>> size_t len =3D SCM_HASHTABLE_N_ITEMS (table); >>>=20 >>> while (k--) >>> { >>> size_t removed; >>> SCM alist =3D SCM_SIMPLE_VECTOR_REF (buckets, k); >>> alist =3D scm_fixup_weak_alist (alist, &removed); <<<**** FAILS = HERE >>> assert (removed <=3D len); > > Andy, isn=E2=80=99t 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 --=20 http://wingolog.org/