From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Bill Schottstaedt Newsgroups: gmane.lisp.guile.bugs Subject: GC missed a reference Date: Mon, 26 Jan 2004 03:26:33 -0800 Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Message-ID: <4014F969.7080409@ccrma> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1075116725 20890 80.91.224.253 (26 Jan 2004 11:32:05 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 26 Jan 2004 11:32:05 +0000 (UTC) Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Mon Jan 26 12:31:56 2004 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1Al4yB-0002KS-00 for ; Mon, 26 Jan 2004 12:31:55 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1Al4tn-0001rf-B6 for guile-bugs@m.gmane.org; Mon, 26 Jan 2004 06:27:23 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1Al4tZ-0001qa-Vm for bug-guile@gnu.org; Mon, 26 Jan 2004 06:27:09 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1Al4t2-0001hk-A8 for bug-guile@gnu.org; Mon, 26 Jan 2004 06:27:07 -0500 Original-Received: from [171.67.16.116] (helo=smtp2.Stanford.EDU) by monty-python.gnu.org with esmtp (Exim 4.24) id 1Al4t1-0001hS-EO for bug-guile@gnu.org; Mon, 26 Jan 2004 06:26:35 -0500 Original-Received: from cm-mail.stanford.edu (cm-mail.Stanford.EDU [171.64.197.135]) by smtp2.Stanford.EDU (8.12.10/8.12.10) with ESMTP id i0QBQYr3005478 for ; Mon, 26 Jan 2004 03:26:34 -0800 Original-Received: from ccrma (cmn30.stanford.edu [171.64.197.179]) by cm-mail.stanford.edu (8.11.6/8.11.6) with ESMTP id i0QBQYA02996 for ; Mon, 26 Jan 2004 03:26:34 -0800 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225 X-Accept-Language: en-us, en Original-To: bug-guile@gnu.org X-BeenThere: bug-guile@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Bug reports for GUILE, GNU's Ubiquitous Extension Language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.bugs:1142 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.bugs:1142 Sorry about this less-than-ideal bug report, but maybe this will make sense to someone. In the CVS Guile, but not earlier versions (i.e. not 1.6.4 or any before that), there is a problem with let: if you have a block with successive lets, and these lets share a local name, you can get "GC missed a reference": wrong-type-arg: (- Wrong type argument in position ~A: ~S (1 #) #f) The problem goes away if you rename the local variables so that there are no shared names. The bad case is basically: (let ... (let ((var val) (var1 val1)) ...) (let ((var val2) (var1 val3)) ...)) ; in this body, you can get the GC missed a ref bug Change the second "var1" to "var2" and the error goes away. Unfortunately, I can't seem to find a simple case of this -- my "regression" test is more than 42000 lines long, and it's not a completely repeatable problem even without any changes. It appears that the 2nd binding needs to be the result of SCM_RETURN_NEWSMOB to trigger this problem. _______________________________________________ Bug-guile mailing list Bug-guile@gnu.org http://mail.gnu.org/mailman/listinfo/bug-guile