Opened 9 years ago
Last modified 4 weeks ago
#353 new defect
Compiling inline recursive function definition exhausts stack
Reported by: | Mark Evenson | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 1.9.2 |
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 (12)
comment:1 Changed 6 years ago by
Milestone: | 1.4.0 → 1.5.0 |
---|
comment:5 Changed 3 years ago by
Milestone: | 1.6.2 → 1.7.0 |
---|
comment:10 Changed 11 months ago by
Milestone: | 1.8.1 → 1.9.0 |
---|
comment:11 Changed 7 weeks ago by
Milestone: | 1.9.0 → 1.9.1 |
---|
comment:12 Changed 4 weeks ago by
Milestone: | 1.9.1 → 1.9.2 |
---|
Ticket retargeted after milestone closed