From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.devel Subject: Re: scheme closures: crash during garbage collection Date: Fri, 09 Jun 2006 20:54:15 +0100 Message-ID: <87odx2ds0o.fsf@ossau.uklinux.net> References: <64e2f6fe0606081528m4e5f9979yff9b8294ecedf6d2@mail.gmail.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1149883011 15633 80.91.229.2 (9 Jun 2006 19:56:51 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 9 Jun 2006 19:56:51 +0000 (UTC) Cc: guile-gtk-general@gnu.org, Guile Development Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Jun 09 21:56:49 2006 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1Fon67-0005Gn-O5 for guile-devel@m.gmane.org; Fri, 09 Jun 2006 21:56:48 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Fon67-0004cL-A2 for guile-devel@m.gmane.org; Fri, 09 Jun 2006 15:56:47 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Fon5z-0004Zg-Rv for guile-devel@gnu.org; Fri, 09 Jun 2006 15:56:39 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Fon5w-0004Vi-Mv for guile-devel@gnu.org; Fri, 09 Jun 2006 15:56:38 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Fon5w-0004Ve-Eb; Fri, 09 Jun 2006 15:56:36 -0400 Original-Received: from [80.84.72.33] (helo=mail3.uklinux.net) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FonE3-0007sY-Bd; Fri, 09 Jun 2006 16:04:59 -0400 Original-Received: from laruns (host81-129-157-146.range81-129.btcentralplus.com [81.129.157.146]) by mail3.uklinux.net (Postfix) with ESMTP id 9C74040A091; Fri, 9 Jun 2006 19:54:25 +0000 (UTC) Original-Received: from laruns (laruns [127.0.0.1]) by laruns (Postfix) with ESMTP id 5385E6FDDB; Fri, 9 Jun 2006 20:54:15 +0100 (BST) Original-To: "gregory benison" In-Reply-To: <64e2f6fe0606081528m4e5f9979yff9b8294ecedf6d2@mail.gmail.com> (gregory benison's message of "Thu, 8 Jun 2006 15:28:27 -0700") User-Agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (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:5971 Archived-At: [added crosspost to guile-devel] "gregory benison" writes: > guile-gnome (up to v. 2.7.98, most recent as of this writing) can > call scm_gc_unprotect_object() during a scheme garbage collector > sweep, which is a fatal error in guile-1.8. In earlier versions > of guile, it is not a fatal error (but still, I think you're not > supposed to do it.) Many thanks for this great analysis. It seems to me, though, that the same kind of situation, leading to wanting to call scm_gc_unprotect_object during GC, is likely to arise in any sufficiently complex application, and hence that we should support this within Guile itself. (I'm not personally familiar with the GC code, but it may be that the new restriction in 1.8 against doing this was not strongly intended, but more of a shortcut that was then forgotten.) That said, your proposed solution would be a good short term workaround, until we can fix this in the Guile code. Can people more familiar with the GC code comment on whether this fix is feasible? Regards, Neil _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel