isn't too surprising since there are many differences in stack
implementation and GC conservatism between the X86 and other ports.)
+ (Can't reproduce on x86 linux as of 1.0.20.23 - MGL)
+
This is probably the same bug as 216
173:
the bad VECTOR-PUSH-EXTEND frame causes GC problems, though that may
not be the actual problem. (CMU CL 18c doesn't have problems with this.)
+ (Can't reproduce on x86 linux as of 1.0.20.22 - MGL)
+
This is probably the same bug as 162
235: "type system and inline expansion"
(open "/dev/zero" :element-type '(unsigned-byte 1025))
gives an error in sbcl-0.8.10.
-325: "CLOSE :ABORT T on supeseding streams"
+325: "CLOSE :ABORT T on superseding streams"
Closing a stream opened with :IF-EXISTS :SUPERSEDE with :ABORT T leaves no
file on disk, even if one existed before opening.
385:
(format nil "~4,1F" 0.001) => "0.00" (should be " 0.0");
(format nil "~4,1@F" 0.001) => "+.00" (should be "+0.0").
+ (format nil "~E" 0.01) => "10.e-3" (should be "1.e-2");
+ (format nil "~G" 0.01) => "10.e-3" (should be "1.e-2");
386: SunOS/x86 stack exhaustion handling broken
According to <http://alfa.s145.xrea.com/sbcl/solaris-x86.html>, the
implementation of read circularity, using a symbol as a marker for
the previously-referenced object.
-415: Issues creating large arrays on x86-64/Linux and x86/Darwin
-
- (make-array (1- array-dimension-limit))
-
- causes a GC invariant violation on x86-64/Linux, and
- an unhandled SIGILL on x86/Darwin.
-
416: backtrace confusion
(defun foo (x)
(ASSERT (EQUAL (BUG419 42) '(1 2 3 4 5 6))) => failure
- Note: as of SBCL 1.0.26.29 this bug no longer affects user code, as
+ Note: as of SBCL 1.0.16.29 this bug no longer affects user code, as
SB-INT:TRULY-DYNAMIC-EXTENT needs to be used instead of
DYNAMIC-EXTENT for this to happen. Proper fix for this bug requires
(Nikodemus thinks) storing the relevant LAMBDA-VARs in a
(Test-case adapted from CL-PPCRE.)
-426: inlining failure involving multiple nested calls
-
- (declaim (inline foo))
- (defun foo (x y)
- (cons x y))
- (defun bar (x)
- (foo (foo x x) (foo x x)))
- ;; shows a full call to FOO
- (disassemble 'bar)
- ;; simple way to test this programmatically
- (let ((code (sb-c::fun-code-header #'bar))
- (foo (sb-impl::fdefinition-object 'foo nil)))
- (loop for i from sb-vm:code-constants-offset below (sb-kernel:get-header-data code)
- do (assert (not (eq foo (sb-kernel:code-header-ref code i))))))
-
- This appears to be an ancient bug, inherited from CMUCL: reportedly
- 18c does the same thing. RECOGNIZE-KNOWN-CALL correctly picks up only
- one of the calls, but local call analysis fails to inline the call
- for the second time. Nikodemus thinks (but is not 100% sure based on
- very brief investigation) that the call that is not inlined is the
- second nested one. A trivial fix is to call CHANGE-REF-LEAF in known
- call for functions already inline converted there, but he is not sure
- if this has adverse effects elsewhere.
-
428: TIMER SCHEDULE-STRESS and PARALLEL-UNSCHEDULE in
timer.impure.lisp fails
lumps)))
(setf (aref nodes 0) 2)
(assert (every #'~= (apply #'concatenate 'list nodes) '(2 3 6 9)))))
+
+431: alien strucure redefinition doesn't work as expected
+ fixed in 1.0.21.29