Inlined apply causes NIL sb-c::cleanup
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Medium
|
Unassigned |
Bug Description
This is a test case for the bug reported by Leslie Polzer when SBCL compiles cl-cont. http://<email address hidden>
The value NIL is not of type SB-C::CLEANUP.
[Condition of type TYPE-ERROR]
cl-cont has been modified to not inline the funcall/cc function on SBCL, so the bug is made invisible.
This test case does not use cl-cont. It takes the output of cl-cont for this loop
(with-call/cc
(loop for i in (list 1))
tidies it up and puts it in a standalone env.
The result is
$ sbcl --load /tmp/sbcleanup-
This is SBCL 1.0.29.11.debian, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
debugger invoked on a TYPE-ERROR in thread #<THREAD "initial thread" RUNNING {1002A57C21}>:
The value NIL is not of type SB-C::CLEANUP.
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-
0: [CONTINUE] Ignore runtime option --load "/tmp/sbcleanup
1: [ABORT ] Skip rest of --eval and --load options.
2: Skip to toplevel READ/EVAL/PRINT loop.
3: [QUIT ] Quit SBCL (calling #'QUIT, killing the process).
(SB-C::
#<SB-C::CBLOCK 5 :START c1 {1002ABC9C1}>
#<SB-C::CBLOCK 3 :START c2 {1002B861D1}>)
0] backtrace
0: (SB-C::
#<SB-C::CBLOCK 5 :START c1 {1002ABC9C1}>
#<SB-C::CBLOCK 3 :START c2 {1002B861D1}>)
1: (SB-C::
2: (SB-C::
3: (SB-C::
4: (SB-C::%COMPILE
(LAMBDA ()
(DECLARE (MUFFLE-CONDITIONS COMPILER-NOTE))
(PROGN
(LET ((G1680 #'VALUES))
(DECLARE (IGNORABLE G1680))
(FUNCALL (LAMBDA # # # #) (MAKE-FUNCALLABLE #)))))
#<SB-
5: ((LAMBDA ()))
6: ((FLET SB-THREAD:
7: ((FLET #:WITHOUT-
8: (SB-THREAD:
#<CLOSURE (FLET SB-THREAD:
#S(
:NAME "World Lock"
:%OWNER #<SB-THREAD:THREAD "initial thread" RUNNING {1002A57C21}>
:STATE 1))
9: (SB-C::
10: (SB-C::
NIL
(LAMBDA ()
(DECLARE (MUFFLE-CONDITIONS COMPILER-NOTE))
(PROGN
(LET ((G1680 #'VALUES))
(DECLARE (IGNORABLE G1680))
(FUNCALL (LAMBDA # # # #) (MAKE-FUNCALLABLE #)))))
#<
11: (SB-C:COMPILE-
NIL
(LAMBDA ()
(DECLARE (MUFFLE-CONDITIONS COMPILER-NOTE))
(PROGN
(LET ((G1680 #'VALUES))
(DECLARE (IGNORABLE G1680))
(FUNCALL (LAMBDA # # # #) (MAKE-FUNCALLABLE #)))))
#<
12: (SB-IMPL:
(LET ((G1680 #'VALUES))
(DECLARE (IGNORABLE G1680))
(FUNCALL
(LAMBDA (&OPTIONAL G1681 &REST G1682)
(DECLARE (IGNORABLE G1681))
(DECLARE (IGNORE G1682))
(FUNCALL (LAMBDA # # # #) NIL))
(LAMBDA (G1691 I LOOP-LIST-1679)
(DECLARE #)
(DECLARE #)
(LABELS #
#)))))
#<
13: (SB-INT:
(LET ((G1680 #'VALUES))
(DECLARE (IGNORABLE G1680))
(FUNCALL
(LAMBDA (&OPTIONAL G1681 &REST G1682)
(DECLARE (IGNORABLE G1681))
(DECLARE (IGNORE G1682))
(FUNCALL (LAMBDA # # # #) NIL))
(LAMBDA (G1691 I LOOP-LIST-1679)
(DECLARE #)
(DECLARE #)
(LABELS #
#)))))
#<
14: (SB-FASL:
#<
NIL
NIL)
Changed in sbcl: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
Can't reproduce anymore.