From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Noah Lavine Newsgroups: gmane.lisp.guile.devel Subject: Re: Build Error in master Date: Tue, 31 Jan 2012 21:12:50 -0500 Message-ID: References: <87sjj286g9.fsf@pobox.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: dough.gmane.org 1328062390 7457 80.91.229.3 (1 Feb 2012 02:13:10 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 1 Feb 2012 02:13:10 +0000 (UTC) Cc: Andy Wingo , guile-devel To: Catonano Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Feb 01 03:13:09 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RsPh5-0000M5-9p for guile-devel@m.gmane.org; Wed, 01 Feb 2012 03:13:07 +0100 Original-Received: from localhost ([::1]:46354 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RsPh4-0002d8-Ke for guile-devel@m.gmane.org; Tue, 31 Jan 2012 21:13:06 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:45913) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RsPh0-0002bh-Ih for guile-devel@gnu.org; Tue, 31 Jan 2012 21:13:03 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RsPgr-0006Ls-Jc for guile-devel@gnu.org; Tue, 31 Jan 2012 21:13:02 -0500 Original-Received: from mail-iy0-f169.google.com ([209.85.210.169]:33034) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RsPgr-0006Lc-GW for guile-devel@gnu.org; Tue, 31 Jan 2012 21:12:53 -0500 Original-Received: by iagz16 with SMTP id z16so1003849iag.0 for ; Tue, 31 Jan 2012 18:12:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=cYB8P1x8nkYNyZdK3U7O0gKIp3yKeT2C4vACDKB75ds=; b=Y1khHrkB1WCks9s5/5MgdKWJ4e4qriYl6CO77rjtqoj2hvmsEx3QjBTUpVRAiCW+4I JX14AmIgkk3uXvTqzAVDfboa/l9uMjMg9Hogsbr4TZcFNEcVR7xN+5/+mhGsaP32KHxb 33WKkJ412GnHoNW3WzLu6NqQakSC5qq2BpeWk= Original-Received: by 10.50.104.199 with SMTP id gg7mr24006017igb.8.1328062370697; Tue, 31 Jan 2012 18:12:50 -0800 (PST) Original-Received: by 10.42.158.6 with HTTP; Tue, 31 Jan 2012 18:12:50 -0800 (PST) In-Reply-To: X-Google-Sender-Auth: LjomnAK38_lOouNDYOTzMuVUvDg X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.210.169 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:13767 Archived-At: I've done some debugging. Here is what I know so far: The error happens in scm_bootstrap_vm, which is called before we enter Scheme, so the error is only in the C code. It happens in scm_i_str2symbol, when scm_bootstrap_vm wants to make some symbol. Here's how symbols work: there is a variable called 'symbols', in symbols.c, which is a weak set holding all of our symbols. This is presumably how we intern them. When scm_i_str2symbol wants to make a new symbol, it first checks if the symbol already exists, and if it does not, calls scm_c_weak_set_add_x with the symbols set and the new symbol. scm_i_str2symbol passes the 'symbols' object to scm_c_weak_set_add_x. scm_c_weak_set_add_x then unpacks it (it is an SCM) to get an scm_t_weak_set. That weak set was stored in 'symbols' by scm_symbols_prehistory. However, in the run that fails, scm_c_weak_set_add_x unpacks a *different* scm_t_weak_set value than scm_symbols_prehistory stored there. This value points to memory that is not allocated, which is where we get the segmentation fault. More specifically, In scm_symbols_prehistory, the "symbols" set is at 0x1006cff50, and the SCM 'symbols' is 0x10101cff0 In the failing call, the SCM 'symbols' is 0x10101cff0, but the failing set is at 0x304, which has not been allocated. So the question is, what might change this value wrongly? Does anyone know? Or alternatively, what's a good way for me to debug this? Thanks, Noah On Sun, Jan 29, 2012 at 3:21 PM, Catonano wrote: > > > Il giorno 26 gennaio 2012 23:06, Andy Wingo ha scritto: > >> On Thu 26 Jan 2012 15:26, Noah Lavine writes: >> >> > I just checked out the latest master. I attempted to build it, but got >> > stuck at this point: >> >> Is it http://lists.gnu.org/archive/html/bug-guile/2011-12/msg00058.html >> ? > > > yyes, in my case, this is what happens with the version checked out from > git. > > The tarballed 3.0.2 works fine > > Hope this helps