X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=BUGS;h=1cb8b2c050e027e098c8d059bc0de730414b6e5d;hb=007bcd5aac2f3a1e714563bd39f7a2db2d0bf7c2;hp=1239d6c7e454acf192260783629350fb2df8b92c;hpb=29003bacae52b0b32626b30e67d6f82a9f4dbce7;p=sbcl.git diff --git a/BUGS b/BUGS index 1239d6c..1cb8b2c 100644 --- a/BUGS +++ b/BUGS @@ -21,6 +21,36 @@ but instead (MAKE-FOO) the program loops endlessly instead of printing the object. +If you run into a signal related bug, you are getting fatal errors +such as 'signal N is [un]blocked' or just hangs, and you want to send +a useful bug report then: + +- compile sbcl with ldb support (feature :sb-ldb, see + base-target-features.lisp-expr) and change '#define QSHOW_SIGNAL 0' + to '#define QSHOW_SIGNAL 1' in src/runtime/runtime.h. + +- isolate a smallish test case, run it + +- if it just hangs kill it with sigabrt: kill -ABRT + +- print the backtrace from ldb by typing 'ba' + +- attach gdb: gdb -p and get backtraces for all threads: + thread apply all ba + +- if multiple threads are in play then still in gdb, try to get Lisp + backtrace for all threads: 'thread apply all + call_backtrace_from_fp($ebp, 100)'. Substitute $ebp with $rbp on + x86-64. + +- send a report with the backtraces and the output (both stdout, + stderr) produced by sbcl + +- don't forget to include OS and SBCL version + +- if available include info on outcome of the same test with other + versions of SBCL, OS, ... + NOTES: @@ -597,25 +627,6 @@ WORKAROUND: This is probably the same bug as 162 -235: "type system and inline expansion" - a. - (declaim (ftype (function (cons) number) acc)) - (declaim (inline acc)) - (defun acc (c) - (the number (car c))) - - (defun foo (x y) - (values (locally (declare (optimize (safety 0))) - (acc x)) - (locally (declare (optimize (safety 3))) - (acc y)))) - - (foo '(nil) '(t)) => NIL, T. - - As of 0.9.15.41 this seems to be due to ACC being inlined only once - inside FOO, which results in the second call reusing the FUNCTIONAL - resulting from the first -- which doesn't check the type. - 237: "Environment arguments to type functions" a. Functions SUBTYPEP, TYPEP, UPGRADED-ARRAY-ELEMENT-TYPE, and UPGRADED-COMPLEX-PART-TYPE now have an optional environment @@ -1367,20 +1378,6 @@ WORKAROUND: (FOO 1 2) gives NO-APPLICABLE-METHOD rather than an argument count error. -395: Unicode and streams - One of the remaining problems in SBCL's Unicode support is the lack - of generality in certain streams. - a. FILL-POINTER-STREAMs: SBCL refuses to write (e.g. using FORMAT) - to streams made from strings that aren't character strings with - fill-pointers: - (let ((v (make-array 5 :fill-pointer 0 :element-type 'standard-char))) - (format v "foo") - v) - should return a non-simple base string containing "foo" but - instead errors. - - (reported on sbcl-help by "tichy") - 396: block-compilation bug (let ((x 1)) (dotimes (y 10)