Subject: [clisp-list] installation troubles on RH

From: Gene Michael Stover <[email-masked]>
Date: Sat Mar 20 23:02:03 2004

Hi all,

I'm having trouble building clisp 2.33 on Red Hat
Professional Workstation (version 3, methinks).  Would this
be the appropriate place to discuss that?

Thanks for your time.
gene

-- 
Gene Michael Stover ([email-masked]) http://lisp-p.org/

---

From: Sam Steingold <[email-masked]>
Date: Sat Mar 20 23:29:06 2004

> * Gene Michael Stover <[email-masked]> [2004-03-21 07:01:26 +0000]:
>
> Professional Workstation (version 3, methinks).
> Would this be the appropriate place to discuss that?
yes.
please follow the instructions in <http://clisp.cons.org/clisp.html#bugs>.

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
Trespassers will be shot.  Survivors will be SHOT AGAIN!

---

From: Pascal J.Bourguignon <[email-masked]>
Date: Sun Mar 21 04:59:04 2004

> be the appropriate place to discuss that?

With version 2.33, I get these errors:

Test failed:
-rw-------    1 pascal   local        2574 2004-03-21 08:03 clos.erg
To see which tests failed, type
    cat /local/src/clisp-2.33/src/suite/*.erg
make[1]: *** [compare] Error 1
make[1]: Leaving directory `/local/src/clisp-2.33/src/suite'
make: *** [testsuite] Error 2

*** - 

$ cat src/suite/*.erg

Form: (PROGN (DEFCLASS TEST-CLASS1 NIL ((FOO :INITARG :FOO :ACCESSOR FOO :INITFORM 0))) (DEFCLASS TEST-CLASS2 NIL ((FOO :INITARG :FOO :ACCESSOR FOO :INITFORM 0))) (DEFMETHOD MAKE-LOAD-FORM ((OBJ TEST-CLASS1) &OPTIONAL ENVIRONMENT) (DECLARE (IGNORE ENVIRONMENT)) `(MAKE-INSTANCE 'TEST-CLASS1 :FOO ',(FOO OBJ))) (DEFMETHOD MAKE-LOAD-FORM ((OBJ TEST-CLASS2) &OPTIONAL ENVIRONMENT) (DECLARE (IGNORE ENVIRONMENT)) `(MAKE-INSTANCE 'TEST-CLASS2 :FOO ',(FOO OBJ))) (DEFPARAMETER *T-LIST* (LIST (MAKE-INSTANCE 'TEST-CLASS1 :FOO 100) (MAKE-INSTANCE 'TEST-CLASS2 :FOO 200))) (MLF-TESTER '*T-LIST*) (MAPCAR #'FOO *T-LIST*))
CORRECT: (100 200)
CLISP  : ERROR
LOAD: A file with name /usr/local/share/lisp/clocc-head/src/tools/ansi-test/make-load-form-demo.fas does not exist

Form: (PROGN (DEFCLASS POS NIL ((X :INITARG :X :READER POS-X) (Y :INITARG :Y :READER POS-Y) (R :ACCESSOR POS-R))) (DEFMETHOD SHARED-INITIALIZE :AFTER ((SELF POS) IGNORE1 &REST IGNORE2) (DECLARE (IGNORE IGNORE1 IGNORE2)) (UNLESS (SLOT-BOUNDP SELF 'R) (SETF (POS-R SELF) (SQRT (+ (* (POS-X SELF) (POS-X SELF)) (* (POS-Y SELF) (POS-Y SELF))))))) (DEFMETHOD MAKE-LOAD-FORM ((SELF POS) &OPTIONAL ENVIRONMENT) (DECLARE (IGNORE ENVIRONMENT)) `(MAKE-INSTANCE ',(CLASS-NAME (CLASS-OF SELF)) :X ',(POS-X SELF) :Y ',(POS-Y SELF))) (SETQ *FOO* (MAKE-INSTANCE 'POS :X 3.0 :Y 4.0)) (MLF-TESTER '*FOO*) (LIST (POS-X *FOO*) (POS-Y *FOO*) (POS-R *FOO*)))
CORRECT: (3.0 4.0 5.0)
CLISP  : ERROR
LOAD: A file with name /usr/local/share/lisp/clocc-head/src/tools/ansi-test/make-load-form-demo.fas does not exist

Form: (PROGN (DEFCLASS TREE-WITH-PARENT NIL ((PARENT :ACCESSOR TREE-PARENT) (CHILDREN :INITARG :CHILDREN))) (DEFMETHOD MAKE-LOAD-FORM ((X TREE-WITH-PARENT) &OPTIONAL ENVIRONMENT) (DECLARE (IGNORE ENVIRONMENT)) (VALUES `(MAKE-INSTANCE ',(CLASS-NAME (CLASS-OF X))) `(SETF (TREE-PARENT ',X) ',(SLOT-VALUE X 'PARENT) (SLOT-VALUE ',X 'CHILDREN) ',(SLOT-VALUE X 'CHILDREN)))) (SETQ *FOO* (MAKE-INSTANCE 'TREE-WITH-PARENT :CHILDREN (LIST (MAKE-INSTANCE 'TREE-WITH-PARENT :CHILDREN NIL) (MAKE-INSTANCE 'TREE-WITH-PARENT :CHILDREN NIL)))) (SETF (TREE-PARENT *FOO*) *FOO*) (DOLIST (CH (SLOT-VALUE *FOO* 'CHILDREN)) (SETF (TREE-PARENT CH) *FOO*)) (MLF-TESTER '*FOO*) (LIST (EQ *FOO* (TREE-PARENT *FOO*)) (EVERY (LAMBDA (X) (EQ X *FOO*)) (MAPCAR #'TREE-PARENT (SLOT-VALUE *FOO* 'CHILDREN))) (EVERY #'NULL (MAPCAR (LAMBDA (X) (SLOT-VALUE X 'CHILDREN)) (SLOT-VALUE *FOO* 'CHILDREN)))))
CORRECT: (T T T)
CLISP  : ERROR
LOAD: A file with name /usr/local/share/lisp/clocc-head/src/tools/ansi-test/make-load-form-demo.fas does not exist

It seems the testsuite does not isolate itself from the user's
configuration...  It should use it's own init file or none at all.

I'd suggest to add -norc in src/suite/Makefile:

tests : force
	$(LISP) -norc -C -i tests.lisp -x '(time (run-all-tests))'

complete : force
	$(LISP) -norc -C -i tests.lisp -x '(time (run-all-tests nil))'

compare : force
	(echo *.erg | grep '*' >/dev/null) || (echo "Test failed:" ; ls -l *erg; echo "To see which tests failed, type" ; echo "    cat "`pwd`"/*.erg" ; exit 1)
	echo "Test passed."

%.erg: %.tst $(BD)/lispinit.mem $(BD)/lisp$(LEXE)
	$(LISP) -norc -i tests.lisp -x '(run-test "$<")'

-- 
__Pascal_Bourguignon__                     http://www.informatimago.com/
There is no worse tyranny than to force a man to pay for what he doesn't
want merely because you think it would be good for him.--Robert Heinlein
http://www.theadvocates.org/

---

From: Gene Michael Stover <[email-masked]>
Date: Sun Mar 21 09:03:04 2004

Here's the bug report for what I found.  I hope I followed
the instruction correctly.

I apologize for the lenght, but I think I isolated the line
where the sigsegv happens.

I'd like to help fix it.  If there is anything I can do, let
me know.

1. SYSTEM INFO

    sh-2.05b$ uname -a
    Linux plague 2.4.21-9.0.1.EL #1 Mon Feb 9 22:44:14 EST 2004 i686 i686 i386 GNU/Linux
    sh-2.05b$ gcc --version
    gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-24)
    Copyright (C) 2002 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    libc-2.3.2.so

2. THE SOURCES I USED

   obtained sources as the file clisp-2.33.tar.bz2 from clisp on
   Source Forget.  I think the mirror I used was ibiblio (a.k.a Chapel
   Hill, NC).

   date was 20 March 2004 GMT

3. HOW I BUILT IT

   I originally built clisp with no special options: I just did
   "./configure" & then followed the instructions it printed.

   The rest of this info is with "./configure --with-debug --build
   build-g".  When I build it that way, the final stuff it prints
   during the build is:

./lisp.run -B . -N locale -Efile UTF-8 -Eterminal UTF-8 -norc -m 750KW -x "(and (load \"init.lisp\") (sys::%saveinitmem) (ext::exit))"
STACK depth: 23979
SP depth: 67110906
WARNING: *FOREIGN-ENCODING*: reset to ASCII
WARNING: *FOREIGN-ENCODING*: reset to ASCII
  i i i i i i i       ooooo    o        ooooooo   ooooo   ooooo
  I I I I I I I      8     8   8           8     8     o  8    8
  I  \ `+' /  I      8         8           8     8        8    8
   \  `-+-'  /       8         8           8      ooooo   8oooo
    `-__|__-'        8         8           8           8  8
        |            8     o   8           8     o     8  8
  ------+------       ooooo    8oooooo  ooo8ooo   ooooo   8

Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2004

;; Loading file defseq.lisp ...
;; Loaded file defseq.lisp
;; Loading file backquote.lisp ...
;; Loaded file backquote.lisp
;; Loading file defmacro.lisp ...make: *** [interpreted.mem] Segmentation fault

Compilation exited abnormally with code 2 at Sun Mar 21 16:16:05

   The entire output from the build it as
   <http://lisp-p.org/clb/build.log>.

   I don't see a backtrace.  Also, I have more details in my own words
   below.

4. PRE-BUILT BINARIES?

   I found this but with 2.33, & I couldn't find pre-built binaries
   for 2.33, but I tried the RPM for 2.32.  It installed, & I can run
   clisp & get a command line, but the first time it runs the garbage
   collector, it gets the same SIGSEGV.  Check it out:

   sh-2.05b$ clisp --version
    GNU CLISP 2.32 (2003-12-29) (built on heretic.physik.fu-berlin.de [160.45.32.86])
    Software: GNU C 3.2.2 20030222 (Red Hat Linux 3.2.2-5) ANSI C program
    Features: 
    (CLOS LOOP COMPILER CLISP ANSI-CL COMMON-LISP LISP=CL INTERPRETER SOCKETS
     GENERIC-STREAMS LOGICAL-PATHNAMES SCREEN FFI GETTEXT UNICODE
     BASE-CHAR=CHARACTER PC386 UNIX)
    Installation directory: /usr/lib/clisp/
    User language: ENGLISH
    Machine: I686(I686)plague [127.0.0.1]
    sh-2.05b$ clisp
;; clisp banner clipped to save space
    ;; Loading file /home/gene/.clisprc ...
    ;; Loaded file /home/gene/.clisprc
    [1]> (defun moo (count)
           (dotimes (i count)
             ;; generate some garbage
             (loop for i from 1 to count collect i))
         count)
    MOO
    [2]> (time (moo 5)) ; no GC, & it'll work fine
    
    Real time: 3.03E-4 sec.
    Run time: 0.0 sec.
    Space: 200 Bytes
    5
    [3]> (time (moo 10000)) ; will need to GC, will SIGSEGV
    Segmentation fault
    sh-2.05b$ 

   I guess this shows that the problem isn't new to 2.33 & that it's
   not in the build process; it's some incompatibility between the
   binaries & the OS or some libraries.  Also, I think I've located
   the problem in the spvw_garcol.d file.  Details below.

5. CLISP --VERSION

   Not applicable because clisp doesn't finish building.

6. OUTPUT

   The final messages during the build are under step #3.  Also see
   some details below.

PROBLEM'S LOCATION

For the notes in this section, I ran "./configure --with-debug".
After the ./makemake stuff & make config.lisp, I added
"-DDEBUG_GC_MARK=1" to the CFLAGS in the Makefile.  Then "make" in the
./src directry.  Here are the last few things it prints during that
build:

    gc_mark_stack: 0xb71cf2a0/3072127648 (1745319379)
    gc_mark obj = 0x680775d3
    down: vorg = 0x0, dies = 0x680775d3
    up:   vorg = 0x0, dies = 0x680775d3
    gc_mark_stack: 0xb71cf29c/3072127644 (3758096392)
    gc_mark_stack: 0xb71cf298/3072127640 (3072127492)
    gc_mark_stack: 0xb71cf290/3072127632 (1)
    gc_mark obj = 0x1
    down: vorg = 0x0, dies = 0x1
    make: *** [interpreted.mem] Segmentation fault
    
    Compilation exited abnormally with code 2 at Sun Mar 21 16:35:01

The entire log for this build is at
<http://lisp-p.org/clb/build2.log>.

By inserting my own debug statements, I think I've tracked the actual
page fault to line 314 in spvw_garcol.d.  Here's the relevant chunk of
code:

 #else
  switch (as_oint(dies) & nonimmediate_bias_mask) {
    case cons_bias: /* cons */
      /* NB: (immediate_bias & nonimmediate_bias_mask) == cons_bias. */
      if (immediate_object_p(dies)) goto up;
      down_pair();
    case varobject_bias:

I guess it would make sense to see a sigsegv here if 'dies' held a
crap memory address, which appears to be the case from the earlier
trace info ("down: vorg = 0x0, dies = 0x1", which is above).

I'd like to help fix this, but I don't know where to go from here.  Is
it a configuration problem (some C preprocessor symbol defined
incorrectly), an algorithm problem in the GC, or something else?  If I
can help, let me know.

gene

---

From: Sam Steingold <[email-masked]>
Date: Sun Mar 21 09:47:01 2004

> * Pascal J.Bourguignon <[email-masked]> [2004-03-21 14:00:15 +0100]:
>

WFM.
could you please investigate why it is looking in CLOCC ?

> LOAD: A file with name /usr/local/share/lisp/clocc-head/src/tools/ansi-test/make-load-form-demo.fas does not exist

ditto.

> LOAD: A file with name /usr/local/share/lisp/clocc-head/src/tools/ansi-test/make-load-form-demo.fas does not exist

ditto.

> 	$(LISP) -norc -i tests.lisp -x '(run-test "$<")'

$(LISP) already has "-norc" in it.

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
Someone has changed your life.  Save? (y/n)

---

From: Pascal J.Bourguignon <[email-masked]>
Date: Sun Mar 21 10:03:04 2004

> could you please investigate why it is looking in CLOCC ?

It's obvious:

[pascal@thalassa clisp-2.33]$ find . -name make-load-form-demo\*
./src/suite/make-load-form-demo.fas

The suite tries to load its own make-load-form-demo.fas, but there is
another make-load-form-demo.lisp somewhere else.  My .clisprc.lisp
defines some logical pathname translations and some variables that
interfere with the loading of clisp-2.33 copy of the suite.

> $(LISP) already has "-norc" in it.

No it does not.

suite/Makefile does indeed has a LISP= with -norc, but it's invoked
from src/Makefile without -norc:

/local/src/clisp-2.33/src/suite/Makefile:9:LISP=$(BD)/lisp$(LEXE) -E utf-8 -norc -B $(BD) -M $(BD)/lispinit.mem

/local/src/clisp-2.33/src/Makefile:2145:        cd suite && $(MAKE) LISP="$(bindir)/clisp"

$ mkdir /tmp/test ; cd /tmp/test 
$ echo 'VAR=foo /all: ; @echo $(VAR)/'|tr / '\012'>Makefile
$ make VAR=bar
bar

---

From: Sam Steingold <[email-masked]>
Date: Sun Mar 21 10:57:08 2004

> * Pascal J.Bourguignon <[email-masked]> [2004-03-21 19:02:57 +0100]:
>

thanks, fixed in the CVS.

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
This message is rot13 encrypted (twice!); reading it violates DMCA.

---

From: Sam Steingold <[email-masked]>
Date: Sun Mar 21 11:06:03 2004

> * Gene Michael Stover <[email-masked]> [2004-03-21 16:59:03 +0000]:
>
excellent!  3.3 has a C++ bug, but your setup is good...

>     [3]> (time (moo 10000)) ; will need to GC, will SIGSEGV

OK, so you are getting a GC segfault.
this is usually an indicator of a GC-safety bug, not a bug in GC.
see <http://clisp.cons.org/impnotes/gc-safety.html>.

Please do
CC=g++ ./configure --with-debug build-g-gxx
you should get an abort.
then run under GDB and see where you get the abort.

> ;; Loading file defmacro.lisp ...make: *** [interpreted.mem] Segmentation fault

yep, this is the first GC.

>    I don't see a backtrace.

to get the backtrace, you need to run under gdb.

PS. thank you very much for such a detailed and thorough report.

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
There are no answers, only cross references.

---

From: Gene Michael Stover <[email-masked]>
Date: Mon Mar 22 09:42:03 2004

Hi Sam,

> then run under GDB and see where you get the abort.

I did the ./configure you recommended & then the gdb dance.
Here's the top of the backtrace (plus the last few lines of
the run for context).  (Entire backtrace is at
<http://lisp-p.org/clb/backtrace.txt>.)

gc_mark obj = 0x680775d3
 
Program received signal SIGSEGV, Segmentation fault.
0x0804cf3b in gc_mark (obj={one_o = 1}) at spvw_garcol.d:320
320           switch (Record_type(dies)) {
(gdb) backtrace
#0  0x0804cf3b in gc_mark (obj={one_o = 1}) at spvw_garcol.d:320
#1  0x0804d3ae in gc_mark_stack (objptr=0xb71cf290) at spvw_garcol.d:521
#2  0x0804d3d8 in gc_markphase () at spvw_garcol.d:532
#3  0x0804deb2 in gar_col_normal () at spvw_garcol.d:1718
#4  0x0804fe45 in do_gar_col_simple () at spvw_garcol.d:2603
#5  0x0811ba5d in with_gc_statistics (fun=0x804fe2c <do_gar_col_simple>)
    at predtype.d:2801
#6  0x0804fe67 in gar_col_simple () at spvw_garcol.d:2632
#7  0x08050159 in make_space_gc_false (need=8, heapptr=0x81fc274)
    at spvw_allocate.d:277
#8  0x08050298 in allocate_cons () at spvw_typealloc.d:47
#9  0x080bc04a in read_delimited_list_recursive (stream_=0xb71cf37c, endch=
      {one_o = 5287}, ifdotted={one_o = 1752073919}) at io.d:2425
#10 0x080bbcc4 in read_delimited_list (stream_=0xb71cf37c, endch=
      {one_o = 5287}, ifdotted={one_o = 1752073919}) at io.d:2376
#11 0x080bc63d in C_lpar_reader () at io.d:2539
#12 0x08069a1d in funcall_subr (fun={one_o = 136231402}, args_on_stack=2)
    at eval.d:5198
#13 0x08068df7 in funcall (fun={one_o = 136231402}, args_on_stack=2)
    at eval.d:4800
#14 0x080ba5a3 in read_macro (ch={one_o = 5159}, stream_=0xb71cf368)
    at io.d:1865
#15 0x080bc014 in read_delimited_list_recursive (stream_=0xb71cf368, endch=
---Type <return> to continue, or q <return> to quit---

---

From: Sam Steingold <[email-masked]>
Date: Mon Mar 22 10:56:01 2004

Hi Gene,

> * Gene Michael Stover <[email-masked]> [2004-03-22 17:41:01 +0000]:
>

correct me if I am wrong, but you are not using G++, right?
note that setting of CC=g++ above!

> down: vorg = 0x0, dies = 0x1

if you crash in GC, it is probably long after the actual bug.
if you build with g++ and DEBUG_GCSAFETY (enabled by --with-debug),
CLISP will abort at the precise error spot.

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
usually: can't pay ==> don't buy. software: can't buy ==> don't pay

---

From: Gene Michael Stover <[email-masked]>
Date: Mon Mar 22 12:00:17 2004

> note that setting of CC=g++ above!

My mistake.  I've run it again, & here's the last of the run
plus the top of the backstacktrace.  The full log (including
the ./configure & make output) are at
<http://lisp-p.org/clb/backtrace.txt>.  The exact commands I
used are at <http://lisp-p.org/clb/go>.

I'm kind of concerned I didn't configure it correctly even
this time because there's less output & because of the
warning about the language mismatching the frame.  But the
stack trace is much larger.

gene

;; begin output & backtrace
Function "sigsegv_handler_failed" not defined.
STACK depth: 23979
SP depth: 67110230
WARNING: *FOREIGN-ENCODING*: reset to ASCII
WARNING: *FOREIGN-ENCODING*: reset to ASCII

Program received signal SIGSEGV, Segmentation fault.
0x0804e434 in gc_mark (obj={one_o = 1, allocstamp = 32898})
    at spvw_garcol.d:320
320	      switch (Record_type(dies)) {
Warning: the current language does not match this frame.
(gdb) backtrace
#0  0x0804e434 in gc_mark (obj={one_o = 1, allocstamp = 32898})
    at spvw_garcol.d:320
#1  0x0804ec9c in gc_mark_stack (objptr=0xb70f1794) at spvw_garcol.d:521
#2  0x0804eccc in gc_markphase () at spvw_garcol.d:532
#3  0x0804fd44 in gar_col_normal () at spvw_garcol.d:1718
#4  0x080531c1 in do_gar_col_simple () at spvw_garcol.d:2603
#5  0x08229b48 in with_gc_statistics(void (*)()) (
    fun=0x80531a8 <do_gar_col_simple>) at predtype.d:2801
#6  0x080531e3 in gar_col_simple () at spvw_garcol.d:2632
#7  0x0805349a in make_space_gc_true (need=16, heapptr=0x835ef64)
    at spvw_allocate.d:216
#8  0x080539bb in allocate_vector(unsigned long) (len=2) at spvw_typealloc.d:92
#9  0x0810c50b in test_env () at control.d:1964
#10 0x0810c679 in C_macro_function() () at control.d:1980

---

From: Sam Steingold <[email-masked]>
Date: Mon Mar 22 12:37:02 2004

> * Gene Michael Stover <[email-masked]> [2004-03-22 19:59:23 +0000]:
>

still no go.  apparently, you did not "rm -rf" build-g-gxx directory
before reconfiguring.

there is no link command in <http://lisp-p.org/clb/backtrace.txt>, and,

> #10 0x0810c679 in C_macro_function() () at control.d:1980

if you see function names printed "in the clear", it is probably C.
if you saw something like
   _Z17C_read_eval_printv
or
   _Z15funcall_closure6objectm
then it would have been C++ ("mangling")

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
Never succeed from the first try - if you do, nobody will think it was hard.

---

From: Gene Michael Stover <[email-masked]>
Date: Mon Mar 22 15:52:05 2004

Damn.  I did it again, & I get the same results (function
names in the backtrace are not mangled).  This time, I
swear, I blew away the entire clisp-2.33 source directory,
unpacked it anew, ran the ./configure, & all that.  Could
you check the commands I used?

All the files are at <http://lisp-p.org/clb/>.  You should
be able to view that entire directory.  "go" is the script.
"go.cmd" is the commands for gdb.  "go.out" is the output of
the entire thing (./configure, make, gdb backtrace -- the
whole enchilada).

Thanks for spending so much time on this.  I apologize for
having such trouble getting you a decent backtrace.

Just in case there is something useful in the most recent
backtrace, here's the top of it:

SP depth: 67111153

Program received signal SIGSEGV, Segmentation fault.
0x0804e474 in gc_mark (obj={one_o = 1, allocstamp = 32899})
    at spvw_garcol.d:320
320	      switch (Record_type(dies)) {
Warning: the current language does not match this frame.
(gdb) backtrace
#0  0x0804e474 in gc_mark (obj={one_o = 1, allocstamp = 32899})
    at spvw_garcol.d:320
#1  0x0804ecdc in gc_mark_stack (objptr=0xb7301a40) at spvw_garcol.d:521
#2  0x0804ed0c in gc_markphase () at spvw_garcol.d:532
#3  0x0804fd84 in gar_col_normal () at spvw_garcol.d:1718
#4  0x08053201 in do_gar_col_simple () at spvw_garcol.d:2603
#5  0x08229b88 in with_gc_statistics(void (*)()) (
    fun=0x80531e8 <do_gar_col_simple>) at predtype.d:2801
#6  0x08053223 in gar_col_simple () at spvw_garcol.d:2632
#7  0x080534da in make_space_gc_true (need=16, heapptr=0x835efc4)
    at spvw_allocate.d:216
#8  0x080539fb in allocate_vector(unsigned long) (len=2) at spvw_typealloc.d:92
#9  0x0810c54b in test_env () at control.d:1964

   From: Sam Steingold <[email-masked]>
   Date: Mon, 22 Mar 2004 15:36:23 -0500

---

From: Sam Steingold <[email-masked]>
Date: Tue Mar 23 08:36:04 2004

> * Gene Michael Stover <[email-masked]> [2004-03-22 23:51:09 +0000]:
>
> "go" is the script.

instead of

CC=g++ ./configure --with-debug build-g-gxx
cd build-g-gxx
./makemake --with-dynamic-ffi --verbose debug >Makefile
make config.lisp
make && make check

you need

CC=g++ ./configure --with-debug --build build-g-gxx
cd build-g-gxx

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
He who laughs last did not get the joke.

---

From: Gene Michael Stover <[email-masked]>
Date: Tue Mar 23 10:48:01 2004

I get the same thing.

Is it possible these problems are symptoms of the problem?
I can't think of how, but I'm sure I'm following the steps
you've given me.  What if g++ is trying to be smart &
compiling in C mode because the files are *.c?  Stack
overflow trashing the rest of memory?  (I'm grasping at
straws.  Sorry.)

gene

   Reply-to: [email-masked]
   From: Sam Steingold <[email-masked]>
   Date: Tue, 23 Mar 2004 11:34:51 -0500

   instead of

   you need

---

From: Gene Michael Stover <[email-masked]>
Date: Thu Apr 1 11:54:00 2004

Hi Sam,

I tried the last set of "how to get debug info"
instructions.  I'm sure I'm following the steps you've given
me.  I even wiped out the entire clisp-2.33 source directory
& unpacked it from the distro again.

The script I used is
  <http://lisp-p.org/clb/go>
The file of commands for gdb is
  <http://lisp-p.org/clb/go.cmd>
The total output is
  <http://lisp-p.org/clb/go.out>

Thanks again for your time.

gene

   instead of

   you need

---

From: Gene Michael Stover <[email-masked]>
Date: Mon Apr 19 10:24:12 2004

Hi Sam,

Thanks for getting back to me.  I thought I had been
forgotten.

I'll check the libraries like you say.  Thanks.

Just curious: What do "burivuh" and "loiso" mean?

gene

   Reply-to: [email-masked]
   Mail-Copies-To: never
   From: Sam Steingold <[email-masked]>
   Mail-Followup-To: [email-masked], [email-masked]
   Date: Mon, 19 Apr 2004 12:49:11 -0400

   Hi Gene,

   Unfortunately, I cannot help here - it might not even be a CLISP issue.

   I have two computers at home, both running FC1.
   One of them (burivuh) is an old (5 years) and slow laptop, and it has no
   problem building both Emacs and CLISP (although it takes quite some time!)
   The CLISP RPMs distributed on SF are built on burivuh.
   The other (loiso) is a relatively new (2 year old) Athlon desktop, and,
   until the recent HD failure, it could not build either CLISP (crashing
   on the first GC) or Emacs (crashing on memory dump).
   My guess is that some libraries on loiso are corrupt due to disk errors.

   You might be having a similar problem.
   Is there a way to check that all software installed on FC is not
   corrupt?

   > * Gene Michael Stover <[email-masked]> [2004-04-01 19:52:51 +0000]:
   >

   ./configure --build
   already calls makemake, make, and make check.

   -- 
   Sam Steingold (http://www.podval.org/~sds) running w2k
   <http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
   <http://www.mideasttruth.com/> <http://www.honestreporting.com>
   There are 10 kinds of people: those who count in binary and those who do not.

---

From: Sam Steingold <[email-masked]>
Date: Mon Apr 19 10:42:03 2004

> * Gene Michael Stover <[email-masked]> [2004-04-19 17:22:41 +0000]:
>

In Max Frei's (Russian Fantasy) world of Eho, Burivuhs are intelligent
talking birds with excellent memory employed as databases.
Loiso Pondohva is the Founder and Grand Master of the Water Crow Order.

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
Your mouse pad is incompatible with MS Windows - your HD will be reformatted.

---

From: Sam Steingold <[email-masked]>
Date: Tue Apr 20 00:12:03 2004

Hi Gene,

./configure --build