From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Raeburn Newsgroups: gmane.lisp.guile.devel Subject: Re: compiling with -DSCM_DEBUG=1 Date: Fri, 4 Sep 2009 18:56:24 -0400 Message-ID: References: <87ljky5ug4.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1252105020 13349 80.91.229.12 (4 Sep 2009 22:57:00 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 4 Sep 2009 22:57:00 +0000 (UTC) To: guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sat Sep 05 00:56:54 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Mjhi8-0001Nx-6k for guile-devel@m.gmane.org; Sat, 05 Sep 2009 00:56:52 +0200 Original-Received: from localhost ([127.0.0.1]:47297 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mjhi7-0003oN-Mk for guile-devel@m.gmane.org; Fri, 04 Sep 2009 18:56:51 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mjhi0-0003ln-8p for guile-devel@gnu.org; Fri, 04 Sep 2009 18:56:44 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mjhhv-0003g8-75 for guile-devel@gnu.org; Fri, 04 Sep 2009 18:56:43 -0400 Original-Received: from [199.232.76.173] (port=44530 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mjhhv-0003fw-2P for guile-devel@gnu.org; Fri, 04 Sep 2009 18:56:39 -0400 Original-Received: from splat.raeburn.org ([69.25.196.39]:44429 helo=raeburn.org) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Mjhhn-0000Ii-1U for guile-devel@gnu.org; Fri, 04 Sep 2009 18:56:38 -0400 Original-Received: from [10.0.0.172] (squish.raeburn.org [10.0.0.172]) by raeburn.org (8.14.3/8.14.1) with ESMTP id n84MuO6I027353; Fri, 4 Sep 2009 18:56:24 -0400 (EDT) In-Reply-To: X-Mailer: Apple Mail (2.936) X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. 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:9264 Archived-At: On Sep 3, 2009, at 17:04, Ken Raeburn wrote: > [...] Scheme compilation bug is still there, though. I'm still not sure where the bug is, but here's what I've traced through so far; The error is happening in eval.i.c, line number in the high 800s (I've got a bunch of tracing lines added in my copy): while (!scm_is_null (args)) { /* More arguments than specifiers => CLASS != ENV */ SCM class_of_arg = scm_class_of (SCM_CAR (args)); if (!scm_is_eq (class_of_arg, SCM_CAR (z))) // <== HERE! goto next_method; args = SCM_CDR (args); z = SCM_CDR (z); } At this line, at one point during the compilation of debugger.scm, z is not a pair. (Earlier the problem was triggering somewhere else for me, now it's in debugger.scm; not sure why.) Some tracing of the containing do loop indicates that these are the sorts of values used before the error happens: do-loop with hash_value 0 arg1 (# #) z (no-method) do-loop with hash_value 0 arg1 (# #) z (no-method) do-loop with hash_value 0 arg1 (# #) z (# # . #) do-loop with hash_value 0 arg1 (# #) z (# # . #) [...] do-loop with hash_value 3 arg1 (#< apply-generic (0)> #< ( ) 10bbd80>) z (#< 10a59a0> #< 10a6420> . #) But then: do-loop with hash_value 0 arg1 (#< 10a59a0> #:name compute-applicable-methods) z (#< 10a6910> #< 10a3b90> . #) Here, the arg list has three elements instead of the two in the calls shown above, but the initial 'z' value isn't any longer; they're walked in parallel in that while loop, 'z' runs out first, and SCM_CAR is applied to a non-pair: Non-pair accessed with SCM_C[AD]R: `#' Assuming the bug doesn't jump out as obvious to someone from this, I'll dig into it a little more later. Ken