From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Newsgroups: gmane.lisp.guile.devel Subject: Re: possible hash deadlock with recent changes Date: Wed, 25 May 2011 12:52:31 -0400 Message-ID: <20110525165231.XCARV.54200.root@cdptpa-web16-z01> References: <20110508184321.N3CZS.39487.root@cdptpa-web21-z02> 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 1306342367 21452 80.91.229.12 (25 May 2011 16:52:47 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 25 May 2011 16:52:47 +0000 (UTC) To: guile-devel@gnu.org, =?utf-8?Q?Ludovic_Court=C3=A8s?= , dsmich@roadrunner.com Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed May 25 18:52:41 2011 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QPHK1-00063W-JB for guile-devel@m.gmane.org; Wed, 25 May 2011 18:52:37 +0200 Original-Received: from localhost ([::1]:48540 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QPHK1-0004kn-8o for guile-devel@m.gmane.org; Wed, 25 May 2011 12:52:37 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:42379) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QPHJz-0004kY-Gb for guile-devel@gnu.org; Wed, 25 May 2011 12:52:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QPHJy-0004Z7-GP for guile-devel@gnu.org; Wed, 25 May 2011 12:52:35 -0400 Original-Received: from cdptpa-omtalb.mail.rr.com ([75.180.132.120]:33367) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QPHJy-0004YA-E8 for guile-devel@gnu.org; Wed, 25 May 2011 12:52:34 -0400 Authentication-Results: cdptpa-omtalb.mail.rr.com smtp.user=dsmich@roadrunner.com; auth=pass (LOGIN) X-Authority-Analysis: v=1.1 cv=u/nQQYiWxKD5h3SdfpQA5Ows1ULG5UjBZwfBisUcMrs= c=1 sm=0 a=AbZYHT5wbqEA:10 a=zTVDa7HKqxcA:10 a=IkcTkHD0fZMA:10 a=doupyKFmAAAA:8 a=mDV3o1hIAAAA:8 a=ybZZDoGAAAAA:8 a=l058yN0wWI2bd6iMxmoA:9 a=VWsXVaNNnDwDHOZX-7UA:7 a=QEXdDO2ut3YA:10 a=0vUscowIxtUA:10 a=ii61gXl28gQA:10 a=qIVjreYYsbEA:10 a=9Eg30jxSQsjawIrAZ+EK7g==:117 X-Cloudmark-Score: 0 Original-Received: from [10.127.132.107] ([10.127.132.107:36725] helo=cdptpa-web16-z01) by cdptpa-oedge04.mail.rr.com (envelope-from ) (ecelerity 2.2.3.46 r()) with ESMTPA id AB/04-28813-FC33DDD4; Wed, 25 May 2011 16:52:31 +0000 In-Reply-To: <20110508184321.N3CZS.39487.root@cdptpa-web21-z02> X-Priority: 3 (Normal) Sensitivity: Normal X-Originating-IP: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 75.180.132.120 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:12536 Archived-At: ---- dsmich@roadrunner.com wrote:=20 >=20 > ---- "Ludovic Court=C3=A8s" wrote:=20 > > Hi, > >=20 > > writes: > >=20 > > > Recent changes to stable-2.0 seem to cause a deadlock in scwm. Here = is the last 10 frames of a backtrace. > >=20 > > I=E2=80=99m not sure if this is related but there=E2=80=99s this new er= ror that has > > started happening from time to time: > >=20 > [ removed ] >=20 > Hmm. Might be. Andy noted this on #guile: >=20 > one can reproduce easily > scheme@(guile-user)> (make-weak-value-hash-table ) > $1 =3D # > scheme@(guile-user)> (hash-set! $1 "foo" "bar") > $2 =3D "bar" > scheme@(guile-user)> (hash-set! $1 "foo" "baz") > [hang.] A git bisect points to ecc9d1b54: ecc9d1b547b21830f5ce4f1eaceb6b9dde44e5dc is the first bad commit commit ecc9d1b547b21830f5ce4f1eaceb6b9dde44e5dc Author: Andy Wingo Date: Sun May 1 18:01:42 2011 +0200 fix hash-set! in weak-value table from non-immediate to immediate =20 * libguile/hashtab.c (set_weak_cdr, scm_hash_fn_set_x): If we have a weak-value hash table with a previous non-immediate value for a given key, and we are setting an immediate as the new value, we were not unregistering the disappearing link. Fixed. :040000 040000 2cc3212851bcb8b37a8c5f2aafa0f0d058298a36 a0d3568613ce6d5d437= 55c113a1e00d3e7a9cf7f M libguile bisect run success -Dale