Unhandled errors in compilation of syntactically defective forms

Bug #1738637 reported by Paul F. Dietz on 2017-12-17
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Low
Unassigned

Bug Description

Stas Boukarev told me on #sbcl that compiling lisp code should never produce unhandled errors. The mutation tester I had been running had been trapping and ignoring general errors, but after that comment I've modified it to report those as well. There are lots of failures. Here are a few

(compile nil '(lambda () . 1)) ==> type error

(compile nil '(lambda () (count 0 '(1 . 2) :test 'eql))) ==> type error

(compile nil '(lambda () (let ((v1 1) . v2) v1))) ==> type-error

Basically, any place in the compiler where a form is being handled by ordinary lisp functions, the case of the list not being a proper list could cause an error to be signaled. In the COUNT example there a list argument to COUNT is malformed, not a lisp form itself.

I can generate an almost unlimited number of tickets for this, but I've given three examples to get it started.

Stas Boukarev (stassats) on 2017-12-17
Changed in sbcl:
status: New → Triaged
importance: Undecided → Low
Stas Boukarev (stassats) on 2017-12-18
tags: added: malformed-source
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers