Re: MAP, MERGE and friends
Christophe Rhodes <csr21 <at> cam.ac.uk>
2002-08-05 18:52:56 GMT
On Mon, Jul 29, 2002 at 11:22:04AM -0400, Raymond Toy wrote:
> >>>>> "Christophe" == Christophe Rhodes <csr21 <at> cam.ac.uk> writes:
> > So, I was getting ready to merge this into CVS, when a little voice said
> > "test it some more". So I decided to try to build it on my x86/Linux
> > laptop. All went swimmingly; it got through genesis; got through
> > cold-init, built PCL and dumped a core. Whereupon I decided to run the
> > tests; and my shiny new sbcl binary hung on startup, never getting into
> > lisp land.
> Don't know if this helps, but I did notice that in one of my attempts
> to make this all work on CMUCL, there were a few calls to
> make-sequence-like. However, the given sequence was a vector with a
> fill pointer and the length was less than the actual length of the
> vector. With these checks enabled, this causes a failure, of course.
> Don't remember what I did to fix this, if any.
I don't think it's this; I've got code in make-sequence-like to remove
the length information from the type of the sequence passed to it. It's
not a straightforward failure, either, sadly; I've now tested my patch
on more system, and (with the uncommenting of the CONCATENATE transform
for strings to compile away calls that are too difficult early in
cold-init, *sigh*) it works on sparc, alpha and ppc; it fails on x86.
This leads me to believe that, in fact, something is going wrong either
in gencgc or in purify. (Or, possibly, both; see below).
Let me elaborate a bit on the symptoms on the x86 (Linux, but I imagine
these to be the same on *BSD... maybe someone motivated could check?).