Opened 11 years ago

Last modified 18 months ago

#353 new defect

Compiling inline recursive function definition exhausts stack

Reported by: Mark Evenson Owned by:
Priority: major Milestone: 1.9.3
Component: compiler Version: 1.4.0-dev
Keywords: has-test cl-prime-maker Cc:
Parent Tickets:

Description

Xiaofeng Yang reports in http://article.gmane.org/gmane.lisp.armedbear.devel/3148:

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.

With the contents of bug-for-abcl.lisp being:

(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.

Change History (13)

comment:1 Changed 8 years ago by Mark Evenson

Milestone: 1.4.01.5.0

Ticket retargeted after milestone closed

comment:2 Changed 7 years ago by Mark Evenson

Milestone: 1.5.01.6.0

Ticket retargeted after milestone closed

comment:3 Changed 5 years ago by Mark Evenson

Milestone: 1.6.01.6.1

Ticket retargeted after milestone closed

comment:4 Changed 5 years ago by Mark Evenson

Milestone: 1.6.11.6.2

Ticket retargeted after milestone closed

comment:5 Changed 5 years ago by Mark Evenson

Milestone: 1.6.21.7.0

comment:6 Changed 5 years ago by Mark Evenson

Milestone: 1.7.01.7.1

Ticket retargeted after milestone closed

comment:7 Changed 4 years ago by Mark Evenson

Milestone: 1.7.11.7.2

Ticket retargeted after milestone closed

comment:8 Changed 4 years ago by Mark Evenson

Milestone: 1.7.21.8.0

Milestone renamed

comment:9 Changed 4 years ago by Mark Evenson

Milestone: 1.8.01.8.1

Ticket retargeted after milestone closed

comment:10 Changed 3 years ago by Mark Evenson

Milestone: 1.8.11.9.0

comment:11 Changed 22 months ago by Mark Evenson

Milestone: 1.9.01.9.1

comment:12 Changed 22 months ago by Mark Evenson

Milestone: 1.9.11.9.2

comment:13 Changed 18 months ago by Mark Evenson

Milestone: 1.9.21.9.3
Note: See TracTickets for help on using tickets.