From: Jeffery Zhang
Subject: CLISP crashing
Date: 
Message-ID: <e2411q$nvo$1@ruby.cit.cornell.edu>
Does anyone else have this problem? I wrote a basic planner program 
(like GPS, STRIPS) in CLISP and inserted a recursive subgoal. So A->B 
and B->A, to see if it would give me a stack overflow. But it just 
crashes instead. Does anyone know how to prevent it from crashing and 
just give me an error instead?

-Jeff

From: Pascal Bourguignon
Subject: Re: CLISP crashing
Date: 
Message-ID: <877j5mickg.fsf@thalassa.informatimago.com>
Jeffery Zhang <····@cornell.edu> writes:

> Does anyone else have this problem? I wrote a basic planner program
> (like GPS, STRIPS) in CLISP and inserted a recursive subgoal. So A->B
> and B->A, to see if it would give me a stack overflow. But it just
> crashes instead. Does anyone know how to prevent it from crashing and
> just give me an error instead?

It is strongly advised to compile clisp with libsigsegv.
If you don't, it can indeed crash when you're not careful.

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

"I have challenged the entire quality assurance team to a Bat-Leth
contest.  They will not concern us again."
From: Jeffery Zhang
Subject: Re: CLISP crashing
Date: 
Message-ID: <e248fg$qc5$1@ruby.cit.cornell.edu>
I'm new at Lisp, so I have no idea what that is. I'm using Peter 
Siebel's Lispbox. I've been trying to figure out how to use the whole 
package/ASDF system but it seems that ASDF install isn't available on 
windows.

Pascal Bourguignon wrote:
> Jeffery Zhang <····@cornell.edu> writes:
> 
> 
>>Does anyone else have this problem? I wrote a basic planner program
>>(like GPS, STRIPS) in CLISP and inserted a recursive subgoal. So A->B
>>and B->A, to see if it would give me a stack overflow. But it just
>>crashes instead. Does anyone know how to prevent it from crashing and
>>just give me an error instead?
> 
> 
> It is strongly advised to compile clisp with libsigsegv.
> If you don't, it can indeed crash when you're not careful.
> 
From: Pascal Bourguignon
Subject: Re: CLISP crashing
Date: 
Message-ID: <87ejzugslc.fsf@thalassa.informatimago.com>
Jeffery Zhang <····@cornell.edu> writes:
> I'm new at Lisp, so I have no idea what that is. I'm using Peter
> Siebel's Lispbox. I've been trying to figure out how to use the whole
> package/ASDF system but it seems that ASDF install isn't available on
> windows.

Well, the clisp delivered with the lispbox 0.7 seems to include
sigsegv, but it is version 2.36, and the current version is 2.38.

You should probably fetch this later version of clisp.
Have a look on http://clisp.cons.org/

It seems you can simply put a binary distribution of clisp inside the
lispbox-0.7 directory, and _move_ the  lispbox-register.el file from
clisp-2.36 to it.


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

PLEASE NOTE: Some quantum physics theories suggest that when the
consumer is not directly observing this product, it may cease to
exist or will exist only in a vague and undetermined state.
From: Joerg Hoehle
Subject: Re: CLISP crashing
Date: 
Message-ID: <u64l3gj6p.fsf@users.sourceforge.net>
Pascal Bourguignon <···@informatimago.com> writes:

> Jeffery Zhang <····@cornell.edu> writes:
> > I'm new at Lisp, so I have no idea what that is. I'm using Peter
> > Siebel's Lispbox. I've been trying to figure out how to use the whole
> > package/ASDF system but it seems that ASDF install isn't available on
> > windows.
> 
> Well, the clisp delivered with the lispbox 0.7 seems to include
> sigsegv, but it is version 2.36, and the current version is 2.38.

At some point in CLISP history, SOFTWARE-TYPE became more verbose:

> (software-type)
"cl  -G5 -Ot -Oy -Ob1 -Gs -Gf -Gy -Og -W4 -DUNICODE -DDYNAMIC_FFI -DNO_GETTEXT -I.  charset.lib avcall.lib callback.lib  user32.lib ws2_32.lib advapi32.lib ole32.lib shell32.lib sigsegv.lib 
SAFETY=0 HEAPCODES STANDARD_HEAPCODES GENERATIONAL_GC SPVW_BLOCKS SPVW_MIXED TRIVIALMAP_MEMORY
libsigsegv 2.2"> 

A simple test for libsigsegv is an endless recursion:
(defun fact(n)(if (zerop n) 1 (* n (fact (1- n)))))
[10]> (fact -1)
*** - Program stack overflow. RESET
[11]> 
The program would crash without libsigsegv.

I really hope all distributions build a CLISP with libsigsegv!
Oh, and I fixed a bug in libsigsegv on UNIX with gcc4, so
"libsigsegv-2.2" sadly does not tell you enough, unless you're sure it
was compiled with gcc-3.x.

E.g. In Ubuntu Hoary Debian Linux, clisp does not crash, while in
Breezy, it crashes.  Patches are on sourceforge's libsigsegv section.

Regards,
	Jorg Hohle
Telekom/T-Systems Technology Center