crashes SBCL. In general tracing anything which is used in the
implementation of TRACE is likely to have the same problem.
-68:
- As reported by Daniel Solaz on cmucl-help@cons.org 2000-11-23,
- SXHASH returns the same value for all non-STRUCTURE-OBJECT instances,
- notably including all PCL instances. There's a limit to how much
- SXHASH can do to return unique values for instances, but at least
- it should probably look at the class name, the way that it does
- for STRUCTURE-OBJECTs.
-
70:
(probably related to bug #65; maybe related to bug #109)
The compiler doesn't like &OPTIONAL arguments in LABELS and FLET
(SB-C::LAMBDA-TAIL-SET
(SB-C::LAMBDA-HOME SB-C::CALLEE))) failed.
-71:
- (DECLAIM (OPTIMIZE ..)) doesn't work. E.g. even after
- (DECLAIM (OPTIMIZE (SPEED 3))), things are still optimized with
- the previous SPEED policy. This bug will probably get fixed in
- 0.6.9.x in a general cleanup of optimization policy.
-
72:
(DECLAIM (OPTIMIZE ..)) doesn't work properly inside LOCALLY forms.
(let ((x (1+ x)))
(call-next-method)))
Now (FOO 3) should return 3, but instead it returns 4.
-
-137:
- (SB-DEBUG:BACKTRACE) output should start with something
- including the name BACKTRACE, not (as in 0.pre7.88)
- just "0: (\"hairy arg processor\" ...)". Until about
- sbcl-0.pre7.109, the names in BACKTRACE were all screwed
- up compared to the nice useful names in sbcl-0.6.13.
- Around sbcl-0.pre7.109, they were mostly fixed by using
- NAMED-LAMBDA to implement DEFUN. However, there are still
- some screwups left, e.g. as of sbcl-0.pre7.109, there are
- still some functions named "hairy arg processor" and
- "SB-INT:&MORE processor".
141:
Pretty-printing nested backquotes doesn't work right, as
Since this is a reasonable user error, it shouldn't be reported as
an SBCL bug.
-169:
- (reported by Alexey Dejneka on sbcl-devel 2002-05-12)
- * (defun test (n)
- (let ((*x* n))
- (declare (special *x*))
- (getx)))
- ; in: LAMBDA NIL
- ; (LET ((*X* N))
- ; (DECLARE (SPECIAL *X*))
- ; (GETX))
- ;
- ; caught STYLE-WARNING:
- ; using the lexical binding of the symbol *X*, not the
- ; dynamic binding, even though the symbol name follows the usual naming
- ; convention (names like *FOO*) for special variables
- ; compilation unit finished
- ; caught 1 STYLE-WARNING condition
- But the code works as it should. Checked in 0.6.12.43 and later.
-
171:
(reported by Pierre Mai while investigating bug 47):
(DEFCLASS FOO () ((A :SILLY T)))
signals a SIMPLE-ERROR, not a PROGRAM-ERROR.
+172:
+ sbcl's treatment of at least macro lambda lists is too permissive;
+ e.g., in sbcl-0.7.3.7:
+ (defmacro foo (&rest rest bar) `(,bar ,rest))
+ (macroexpand '(foo quux zot)) -> (QUUX (QUUX ZOT))
+ whereas section 3.4.4 of the CLHS doesn't allow required parameters
+ to come after the rest argument.
+
+173:
+ The compiler sometimes tries to constant-fold expressions before
+ it checks to see whether they can be reached. This can lead to
+ bogus warnings about errors in the constant folding, e.g. in code
+ like
+ (WHEN X
+ (WRITE-STRING (> X 0) "+" "0"))
+ compiled in a context where the compiler can prove that X is NIL,
+ and the compiler complains that (> X 0) causes a type error because
+ NIL isn't a valid argument to #'>. Until sbcl-0.7.4.10 or so this
+ caused a full WARNING, which made the bug really annoying because then
+ COMPILE and COMPILE-FILE returned FAILURE-P=T for perfectly legal
+ code. Since then the warning has been downgraded to STYLE-WARNING,
+ so it's still a bug but at least it's a little less annoying.
+
+174:
+ The error message from attempting to use a #\Return format
+ directive:
+ (format nil "~^M") ; replace "^M" with a literal #\Return
+ debugger invoked on condition of type SB-FORMAT::FORMAT-ERROR:
+ error in format: unknown format directive
+ ~
+ ^
+ is not terribly helpful; this is more noticeable than parallel cases
+ with e.g. #\Backspace because of the differing newline conventions
+ on various operating systems. (reported by Harald Hanche-Olsen on
+ cmucl-help 2002-05-31)
+
+176:
+ reported by Alexey Dejneka 08 Jun 2002 in sbcl-devel:
+ Playing with McCLIM, I've received an error "Unbound variable WRAPPER
+ in SB-PCL::CHECK-WRAPPER-VALIDITY".
+ (defun check-wrapper-validity (instance)
+ (let* ((owrapper (wrapper-of instance)))
+ (if (not (invalid-wrapper-p owrapper))
+ owrapper
+ (let* ((state (wrapper-state wrapper)) ; !!!
+ ...
+ I've tried to replace it with OWRAPPER, but now OBSOLETE-INSTANCE-TRAP
+ breaks with "NIL is not of type SB-KERNEL:LAYOUT".
+ SBCL 0.7.4.13.
+ partial fix: The undefined variable WRAPPER resulted from an error
+ in recent refactoring, as can be seen by comparing to the code in e.g.
+ sbcl-0.7.2. Replacing WRAPPER with OWRAPPER (done by WHN in sbcl-0.7.4.22)
+ should bring the code back to its behavior as of sbcl-0.7.2, but
+ that still leaves the OBSOLETE-INSTANCE-TRAP bug. An example of
+ input which triggers that bug is
+ (dotimes (i 20)
+ (let ((lastname (intern (format nil "C~D" (1- i))))
+ (name (intern (format nil "C~D" i))))
+ (eval `(defclass ,name
+ (,@(if (= i 0) nil (list lastname)))
+ ()))
+ (eval `(defmethod initialize-instance :after ((x ,name) &rest any)
+ (declare (ignore any))))))
+ (defclass b () ())
+ (defclass c0 (b) ())
+ (make-instance 'c19)
+
+178: "AVER failure compiling confused THEs in FUNCALL"
+ In sbcl-0.7.4.24, compiling
+ (defun bug178 (x)
+ (funcall (the function (the standard-object x))))
+ gives
+ failed AVER:
+ "(AND (EQ (IR2-CONTINUATION-PRIMITIVE-TYPE 2CONT) FUNCTION-PTYPE) (EQ CHECK T))"
+ This variant compiles OK, though:
+ (defun bug178alternative (x)
+ (funcall (the nil x)))
+
+179:
+ (fixed in sbcl-0.7.4.28)
+
DEFUNCT CATEGORIES OF BUGS
IR1-#:
These labels were used for bugs related to the old IR1 interpreter.