[Ecls-list] SI:TOP-LEVEL, stack overflows

Philipp Marek philipp at marek.priv.at
Sun Jul 31 20:33:42 UTC 2011


>> I'm trying to get an executable via
...
>> but when I start the executable all I get is
>>        Wrong number of arguments passed to function
>>                #<compiled-function SI:TOP-LEVEL>.
>>        No restarts available
> I do not get the same as you. Are you calling TOP-LEVEL from somewhere in
> your code?
No, I don't.

Any ideas what I could look at, to determine the cause?


> Furthermore I'd like to ask about the frequent freezes via
>>
>>        ;;; Stack overflow.
>>        ;;; Jumping to the outermost toplevel prompt
>>
>> Is that something dependent on my setup, or is that a known ECL problem?
> If it was a known problem I would have worked hard to solve it :-) Does it
> happen in ECL or in your standalone program? It may be that 1) the stack
> limits are too small (See http://ecls.sourceforge.net/new-manual/ch20.html)
> or 2) your program has an error and you did not set up a proper handler
> around the main routines in your program (lacking an error handler ECL may
> get crazy trying to restore from a problem)
Well, it's for ECL; I don't modify the limits, and the problem happens nearly
reproduceably.

Eg. sometimes after
	;;; Computing Hangul syllable names
or when pressing CTRL-D on the REPL:

	$ ecl
	;;; Loading #P"/usr/lib/ecl-11.1.1/asdf.fas"
	;;; Loading #P"/usr/lib/ecl-11.1.1/cmp.fas"
	;;; Loading "/home/...quicklisp/setup.lisp"
	To load "cl-ppcre":
	  Load 1 ASDF system:
		cl-ppcre
	; Loading "cl-ppcre"
	To load "iterate":
	  Load 1 ASDF system:
		iterate
	; Loading "iterate"
	To load "alexandria":
	  Load 1 ASDF system:
		alexandria
	; Loading "alexandria"
	To load "cl-interpol":
	  Load 1 ASDF system:
		cl-interpol
	; Loading "cl-interpol"
	;;; Computing Hangul syllable names
	To load "snmp":
	  Load 1 ASDF system:
		snmp
	; Loading "snmp"
	;;; ------------------------------------------------------------------------
	;;;  Portable Threads Interface 2.3
	;;;
	;;;    Developed and supported by the GBBopen Project (http:/GBBopen.org/)
	;;;    (See http://GBBopen.org/downloads/LICENSE for license details.)
	;;; ------------------------------------------------------------------------
	;; No patch loaded, current snmp version is 6.0
	;;; Loading
"/home/....quicklisp/dists/quicklisp/software/slime-20110619-cvs/swank-loader.lisp"
	;;; Loading "/home/....slime/fasl/2011-06-18/ecl-11.1.1-linux-x86_64/swank-backend.fas"
	;;; Loading
"/home/....slime/fasl/2011-06-18/ecl-11.1.1-linux-x86_64/swank-source-path-parser.fas"
	;;; Loading
"/home/....slime/fasl/2011-06-18/ecl-11.1.1-linux-x86_64/swank-source-file-cache.fas"
	;;; Loading "/home/....slime/fasl/2011-06-18/ecl-11.1.1-linux-x86_64/swank-ecl.fas"
	;;; Loading "/usr/lib/ecl-11.1.1/profile.asd"
	;;; Loading "/usr/lib/ecl-11.1.1/profile.fas"
	;;; Loading "/usr/lib/ecl-11.1.1/serve-event.asd"
	;;; Loading "/usr/lib/ecl-11.1.1/serve-event.fas"
	;;; Loading "/home/....slime/fasl/2011-06-18/ecl-11.1.1-linux-x86_64/swank-gray.fas"
	;;; Loading "/home/....slime/fasl/2011-06-18/ecl-11.1.1-linux-x86_64/swank-match.fas"
	;;; Loading "/home/....slime/fasl/2011-06-18/ecl-11.1.1-linux-x86_64/swank-rpc.fas"
	;;; Loading "/home/....slime/fasl/2011-06-18/ecl-11.1.1-linux-x86_64/swank.fas"
	;;; Warning: These Swank interfaces are unimplemented:
	 (ACTIVATE-STEPPING ADD-FD-HANDLER ADD-SIGIO-HANDLER BACKGROUND-SAVE-IMAGE DUP
	  EXEC-IMAGE FRAME-CALL LIST-CALLEES LIST-CALLERS MACROEXPAND-ALL
	  MAKE-FD-STREAM REMOVE-FD-HANDLERS REMOVE-SIGIO-HANDLERS RESTART-FRAME
	  RETURN-FROM-FRAME SAVE-IMAGE SLDB-BREAK-AT-START SLDB-BREAK-ON-RETURN
	  SLDB-STEP-INTO SLDB-STEP-NEXT SLDB-STEP-OUT TOGGLE-TRACE)
	ECL (Embeddable Common-Lisp) 11.1.1
	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' fo;r de;tai Slswa.nk s
	taTrtypede : ah t fopor rtHe: lp.  4006.
^ this message is from my .eclrc ("starting swank on port 4006"), mixed with
the copyright message.
	Top level in: #<process TOP-LEVEL>.
	>
	Detected access to an invalid or protected memory address.
	Available restarts:
	Detected access to an invalid or protected memory address.
	Available restarts:
	BINDING-STACK overflow at size 8448. Stack can probably be resized.
	Available restarts:
	BINDING-STACK overflow at size 8448. Stack can probably be resized.
	Available restarts:
	;;;
	;;; Binding stack overflow.
	;;; Jumping to the outermost toplevel prompt
	;;;
This gets into a (nearly) endless loop, writing some hundred lines.

Sometimes the CTRL-D gives just a segfault; but using gdb just stops, and when
I do "handle SIGSEGF nostop pass noprint" it stops with SIGPWR again.

Any recommendations for this one?


Regards,

Phil






More information about the ecl-devel mailing list