[Ecls-list] Flaw in subtypep ? / catching stack-overflow ? / memory-limits experience ?
Eckhard Wiederhold
ecky at ecky.fr
Mon Oct 28 18:38:46 UTC 2013
Hello,
I encountered some trouble using ecl that I don't know how to resolve
myself and I'd be very grateful to get some advice on what to do or
pointers to background-information that I was unable to find :
1. I just tried to get all conditions that ecl is aware of by traversing
all packages and all symbols calling
(subtypep _symbol 'condition) on any symbol in any package. I got my
list finally by excluding the
following symbols: (mod si:property-list si::proper-list). It seems
that
- (subtypep 'mod 'condition) raises "Wrong number of arguments ..."
error-condition
- (subtypep 'si:property-list 'condition) and (subtypep
'si::proper-list 'condition) raise "Stack overflow."
serious-condition
Question: Is this some issue I need to report here:
http://sourceforge.net/p/ecls/bugs/ ? Or is it normal
behaviour ?
2. Further I observed that I was only able to catch the stack-overflow
condition using a handler-case for
exactly three times :
ECL (Embeddable Common-Lisp) 13.5.1 (git:UNKNOWN)
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help.
Top level in: #<process TOP-LEVEL>.
> (handler-case (subtypep 'si:property-list 'condition)
(ext:stack-overflow (e) (print "Caught it.")))
"Caught it."
"Caught it."
> (handler-case (subtypep 'si:property-list 'condition)
(ext:stack-overflow (e) (print "Caught it.")))
"Caught it."
"Caught it."
> (handler-case (subtypep 'si:property-list 'condition)
(ext:stack-overflow (e) (print "Caught it.")))
;;;
;;; Stack overflow.
;;; Jumping to the outermost toplevel prompt
;;;
Top level in: #<process TOP-LEVEL>.
Any attempt to catch it later failed and i ended up on toplevel ...
this seems odd to me but it matches
in a strange way the fact that you may, if a stack-overflow occurs,
resize the stack two times, after that
you're put to toplevel automatically. Is there any way to get around
this?
Thanks for any comment
ecky
More information about the ecl-devel
mailing list