[Ecls-list] Re: gcl random tester applied to ecl

Paul F. Dietz dietz at dls.net
Mon Sep 29 20:13:20 UTC 2003


I wrote:

> I've added a gc call after each internal compile (conditional on being 
> in ECL).
> It seems to help some, but I still got a crash after a while.

I tracked down a problem.  ECL is miscompiling some code in the
tester itself.  Here's a simplified and abstracted version of
the code that shows the same compiler bug:

(defun test-int-form (x y)
   (flet ((%f1 () (let ((fn #'(lambda (c)  (list x y)))) nil)))
     (block nil
       (%f1)
       (flet ((%f2 () (return (list x y nil))))
	(%f2)
	))))

 > (compile-file "foo3.lsp")
;;; Loading "/home/dietz/lib/ecl/cmp.so"
;;; Warning: PROCLAIM is being redefined.
;;; Warning: COMPILE-FILE-PATHNAME is being redefined.
;;; Warning: COMPILE-FILE is being redefined.
;;; Warning: COMPILE is being redefined.
;;; Warning: DISASSEMBLE is being redefined.
;;; Warning: WITH-COMPILATION-UNIT is being redefined.
;;; Compiling foo3.lsp.
;;; Compiling (DEFUN TEST-INT-FORM ...).
;;; Warning: The variable C is not used.
;;; Warning: The variable FN is not used.
;;; End of Pass 1.
;;; Emitting code for TEST-INT-FORM.
;;; Emitting code for %F1.
;;; Emitting code for %F2.
;;; Emitting code for "lambda".
;;; Calling the C compiler...
"gcc -g -O2 -Dlinux -fstrict-aliasing  -O -I/home/dietz/lib/ecl//h -w -c foo3.c -o foo3.o"
"gcc -shared -o foo3.so -L/home/dietz/lib/ecl/ foo3.o  -Wl,--rpath,/home/dietz/lib/ecl/ -lecl  -ldl -lgmp -lm"
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3
;;; Finished compiling foo3.lsp.
#P"foo3.so"
Top level.
 > (load *)
;;; Loading "foo3.so"
#P"foo3.so"
Top level.
 > (test-int-form '(x) '(t))
(1000 1000 NIL)
Top level.
 >

	Paul






More information about the ecl-devel mailing list