[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