[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Build Error in master

From: Noah Lavine
Subject: Re: Build Error in master
Date: Tue, 31 Jan 2012 21:12:50 -0500

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

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

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?


On Sun, Jan 29, 2012 at 3:21 PM, Catonano <address@hidden> wrote:
> Il giorno 26 gennaio 2012 23:06, Andy Wingo <address@hidden> ha scritto:
>> On Thu 26 Jan 2012 15:26, Noah Lavine <address@hidden> writes:
>> > I just checked out the latest master. I attempted to build it, but got
>> > stuck at this point:
>> Is it
>> ?
> 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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]