[Top][All Lists]

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

Re: [Gcl-devel] unhappy error handler

From: Camm Maguire
Subject: Re: [Gcl-devel] unhappy error handler
Date: 04 Mar 2005 17:41:52 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings, and thanks for the report!  This was put in as a crude
first measure to remove error conditions arising from within the error
handler itself, usually in certain extreme circumstances such as
memory exhaustion, etc.  When this would happen, an endless loop of
identical and nested error invocations would be displayed immediately
before core dump.  If memory served, many of these instances pertained
to string manipulation, printing, and memory allocation.  Obviously,
the right way to do this is to put a recursion catcher in front of
each call, not inside the error handler itself, but I don't know how
to make the former work in a lisp system where various layers of user
code calling the error handler can freely pile on top of one another.
The other obvious option is to forsake general protection against
infinite error recursion, and attempt to track down each specific
instance where such a phenomenon can be created in the lowest level C
code, asymptotically at best approaching a solution.

Do you have any recommendations here?  I've even lost the previous bug
reports showing how to trigger the error recursion, so I don't know
where to begin to test.

Take care,

Peter Wood <address@hidden> writes:

> Hi
> GCL (GNU Common Lisp)  2.7.0 ANSI    Feb 27 2005 11:35:43
> Use (help) to get some basic information on how to use GCL.
> >(defvar *blargh* (make-hash-tabl :test #'equal))
> Error in SETQ [or a callee]: The function MAKE-HASH-TABL is undefined.
> Fast links are on: do (use-fast-links nil) for debugging
> Broken at SETQ.  Type :H for Help.
>  1 (Continue) Return to top level.
> dbl:>>(defvar *blargh* (make-hash-tabl :test #'equal))
> Universal error handler called recursively (:UNDEFINED-FUNCTION
>                                                   NIL SETQ ""
>                                                   "The function ~S is 
> undefined.")
> Error in SETQ [or a callee]: Caught fatal error [memory may be damaged]
> Fast links are on: do (use-fast-links nil) for debugging
> Segmentation fault (core dumped)
> Regards,
> Peter
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gcl-devel

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]