gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: 15 thank yous!


From: Camm Maguire
Subject: [Gcl-devel] Re: 15 thank yous!
Date: 14 Apr 2006 10:58:16 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!

Robert Boyer <address@hidden> writes:

> 15 thank yous for stamping out segmentation violations, namely
> for:
> 
>    (ccase 1 2 3)
>    (etypecase '(1 2 3) 4)
>    (ctypecase 1 2 3 4 5)
>    (first 0)
>    (second 0)
>    (third 0)
>    (fourth 0)
>    (fifth 0)
>    (sixth 0)
>    (seventh 0)
>    (eighth 0)
>    (ninth 0)
>    (tenth 0)
>    (ecase  1  2  3  4  5  6  7  8  9 )
>    (nth  1  2 )
> 
> However,
> 
>   (macrolet (quote (( nil   nil   nil ))))
> 
> typed four times to the top-level is still a weird problem.
> See below:
> 

OK, this is now resolved, at least temporarily.

GCL error handling has always been weak and is in need of an overhaul.

Several circumstances have traditionally left GCL incapable of
processing an error, because the processing itself triggers an error.
I had placed a stop gap measure in universal-error-handler to prevent
it from being called recursively (i.e. with exactly the same
arguments) until this could be sorted out.  It still is not sorted,
but I'm removing the anti-recursion for now.  If memory serves, most
of the dire circumstances involve running out of memory for printing
the error message, etc.  Perhaps you might run across such a situation
-- if so please forward it my way so we can try to robustify the error
handler under all circumstances.

Take care,


> Bob
> 
> 
> % xg
> GCL (GNU Common Lisp)  2.7.0 ANSI    Apr 13 2006 15:56:45
> Source License: LGPL(gcl,gmp,pargcl), GPL(unexec,bfd)
> Binary License:  GPL due to GPL'ed components: (BFD UNEXEC)
> Modifications of this banner must retain notice of a compatible license
> Dedicated to the memory of W. Schelter
> 
> Use (help) to get some basic information on how to use GCL.
> Temporary directory for compiler files set to /tmp/
> 
> >  (macrolet (quote (( nil   nil   nil ))))
> 
> Error in MACROLET [or a callee]: QUOTE is not of type LIST.
> 
> Fast links are on: do (si::use-fast-links nil) for debugging
> Broken at CONDITIONS::CLCS-UNIVERSAL-ERROR-HANDLER.  Type :H for Help.
>  1 (Continue) Return to top level.
> dbl:>>  (macrolet (quote (( nil   nil   nil ))))
> Universal error handler called recursively (:WRONG-TYPE-ARGUMENT
>                                                   NIL MACROLET ""
>                                                   "~S is not of type ~S.")
> Error in EVALHOOK [or a callee]: Control stack overflow.
> 
> Fast links are on: do (si::use-fast-links nil) for debugging
> Broken at CONDITIONS::CLCS-UNIVERSAL-ERROR-HANDLER.
>  1 (Abort) Return to debug level 1.
>  2 Return to top level.
> dbl:>>>  (macrolet (quote (( nil   nil   nil ))))
> 
> Error in MACROLET [or a callee]: QUOTE is not of type LIST.
> 
> Fast links are on: do (si::use-fast-links nil) for debugging
> Broken at CONDITIONS::CLCS-UNIVERSAL-ERROR-HANDLER.
>  1 (Abort) Return to debug level 2.
>  2 Return to debug level 1.
>  3 Return to top level.
> dbl:>>>>  (macrolet (quote (( nil   nil   nil ))))
> Universal error handler called recursively (:WRONG-TYPE-ARGUMENT
>                                                     NIL MACROLET ""
>                                                     "~S is not of type ~S.")
> Segmentation fault
> % 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

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