1.0.28.38: undefined warning and compilation unit summary tweaking
[sbcl.git] / BUGS
diff --git a/BUGS b/BUGS
index 0c6e139..c4c7cf2 100644 (file)
--- 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 <pidof sbcl>
+
+- print the backtrace from ldb by typing 'ba'
+
+- attach gdb: gdb -p <pidof sbcl> 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:
 
@@ -494,31 +524,6 @@ WORKAROUND:
 
   c. (fixed in 0.8.4.23)
 
-201: "Incautious type inference from compound types"
-  a. (reported by APD sbcl-devel 2002-09-17)
-    (DEFUN FOO (X)
-      (LET ((Y (CAR (THE (CONS INTEGER *) X))))
-        (SETF (CAR X) NIL)
-        (FORMAT NIL "~S IS ~S, Y = ~S"
-                (CAR X)
-                (TYPECASE (CAR X)
-                  (INTEGER 'INTEGER)
-                  (T '(NOT INTEGER)))
-                Y)))
-
-    (FOO ' (1 . 2)) => "NIL IS INTEGER, Y = 1"
-
-  b.
-    * (defun foo (x)
-        (declare (type (array * (4 4)) x))
-        (let ((y x))
-          (setq x (make-array '(4 4)))
-          (adjust-array y '(3 5))
-          (= (array-dimension y 0) (eval `(array-dimension ,y 0)))))
-    FOO
-    * (foo (make-array '(4 4) :adjustable t))
-    NIL
-
 205: "environment issues in cross compiler"
   (These bugs have no impact on user code, but should be fixed or
   documented.)