From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Marius Vollmer Newsgroups: gmane.lisp.guile.devel Subject: Re: [PATCH] Marking weak alist vectors Date: Wed, 09 Nov 2005 01:51:38 +0200 Message-ID: <874q6m7l6d.fsf@zagadka.de> References: <87y83z3vh5.fsf@laas.fr> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1131493974 8585 80.91.229.2 (8 Nov 2005 23:52:54 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 8 Nov 2005 23:52:54 +0000 (UTC) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Nov 09 00:52:46 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EZdGI-0001of-0r for guile-devel@m.gmane.org; Wed, 09 Nov 2005 00:52:24 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EZdGG-0000QY-4f for guile-devel@m.gmane.org; Tue, 08 Nov 2005 18:52:20 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EZdGA-0000Pz-EX for guile-devel@gnu.org; Tue, 08 Nov 2005 18:52:14 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EZdFq-0000Mi-Av for guile-devel@gnu.org; Tue, 08 Nov 2005 18:52:13 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EZdFq-0000Mb-51 for guile-devel@gnu.org; Tue, 08 Nov 2005 18:51:54 -0500 Original-Received: from [213.243.153.36] (helo=smtp3.pp.htv.fi) by monty-python.gnu.org with esmtp (Exim 4.34) id 1EZdFp-0001bD-6m for guile-devel@gnu.org; Tue, 08 Nov 2005 18:51:53 -0500 Original-Received: from zagadka.ping.de (cs181072157.pp.htv.fi [82.181.72.157]) by smtp3.pp.htv.fi (Postfix) with SMTP id C9FAD27AC9E for ; Wed, 9 Nov 2005 01:51:38 +0200 (EET) Original-Received: (qmail 8122 invoked by uid 1000); 8 Nov 2005 23:51:38 -0000 Original-To: guile-devel@gnu.org In-Reply-To: <87y83z3vh5.fsf@laas.fr> (Ludovic =?iso-8859-1?Q?Court=E8s's?= message of "Tue, 08 Nov 2005 18:22:46 +0100") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:5380 Archived-At: ludovic.courtes@laas.fr (Ludovic Court=E8s) writes: > The problem stems from the fact that > `scm_i_mark_weak_vector_non_weaks ()' would not mark a value > attached to a weak key if that weak key is unmarked. Therefore, > both the weak key and its associated value become unmarked during > the very same mark phase. And since the order in which they are > swept during the subsequent sweep phase is undefined, we have a > problem. I still have to read your patch carefully, but just from your description of the problem, I would say that nothing is actually wrong. We don't make any guarantees about the sequence in which objects are 'freed' that are unreachable. This should only matter for smobs with their user written FREE procedures. The manual says: The FREE procedure must deallocate all resources that are directly associated with the smob instance OBJ. It must assume that all `SCM' values that it references have already been freed and are thus invalid. It must also not call any libguile function or macro except `scm_gc_free', `SCM_SMOB_FLAGS', `SCM_SMOB_DATA', `SCM_SMOB_DATA_2', and `SCM_SMOB_DATA_3'. No? > $ guile > guile> (gc-live-object-stats) > Segmentation fault (core dumped) > > BTW, in `scm_init_properties ()', SCM_PROPERTIES_WHASH was not made > permanent, which looks like an error. I'll look at these two issues first. --=20 GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3 331E FAF8 226A D5D4 E405 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel