Invalid code puts the compiler into an infinite loop

Bug #1255782 reported by Ilya Perminov on 2013-11-28
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
High
Unassigned

Bug Description

The following code fragment confuses the compiler:
(tagbody
   (0) ; illegal function call
 top
   (block block1027
     (let ((foo (list (list (lambda () (return-from block1027 2))))))
       (declare (special foo))
       (declare (dynamic-extent foo))
       1))
   (go top))

The compiler correctly reports "illegal function call" and then goes into an infinite loop.
SBCL 1.1.13, Linux x86_64.

Stas Boukarev (stassats) on 2013-11-28
Changed in sbcl:
status: New → Triaged
importance: Undecided → High
tags: added: stack-analysis
Changed in sbcl:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers