[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


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 
    - (subtypep 'mod 'condition) raises "Wrong number of arguments ..." 
    - (subtypep 'si:property-list 'condition) and (subtypep 
'si::proper-list 'condition) raise "Stack overflow."
    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 

Thanks for any comment

More information about the ecl-devel mailing list