[armedbear-devel] COMPILE-FILE fails with stack overflow when INLINE meets recursion

Xiaofeng Yang n.akr.akiiya at gmail.com
Fri Mar 28 03:49:03 UTC 2014


Hi, all.

It seems that cl-prime-maker compiles failed with ABCL because of the
following bug. This bug can also be found in ABCL 1.1.1 (I don't know
whether this bug can be found in 1.1.0 or earlier), not only 1.2.x and
1.3.x.

$ cat bug-for-abcl.lisp
(in-package :cl-user)

(declaim (inline foo))
(defun foo ()
  (foo))

(defun bar ()
  (foo))

$ ~/abcl/abcl
Armed Bear Common Lisp 1.3.0
Java 1.8.0 Oracle Corporation
Java HotSpot(TM) 64-Bit Server VM
Low-level initialization completed in 0.364 seconds.
Startup completed in 1.739 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (compile-file "bug-for-abcl.lisp")
; Compiling /tmp/bug-for-abcl.lisp ...
; (IN-PACKAGE :CL-USER)
; (DECLAIM (INLINE FOO))
; (DEFUN FOO ...)
; (DEFUN BAR ...)
#<THREAD "interpreter" {776DDE2A}>: Debugger invoked on condition of type
STORAGE-CONDITION
  Stack overflow.
Restarts:
  0: TOP-LEVEL Return to top level.
[1] CL-USER(2):

After the stack overflow, if I returned to the top level, remove the line
"(declaim (inline foo))" and COMPILE-FILE again, it also failed. Unless I
restart ABCL and perform COMPILE-FILE with the file without the line
"(declaim (inline foo))", it can be compiled now.




     Best regards,
Xiaofeng Yang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20140328/d1434032/attachment.html>


More information about the armedbear-devel mailing list