X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=BUGS;h=8334a70a2a2c93180e168c8171ff5493c04d7ed4;hb=88fbde7b3c6e6e66bdde408348337e97068f2568;hp=874a2af87f59692329aa9712cb5bc6aaa1d9add9;hpb=ad1aa2961d81ed8db9dac59068c6861199c29a3a;p=sbcl.git diff --git a/BUGS b/BUGS index 874a2af..8334a70 100644 --- a/BUGS +++ b/BUGS @@ -89,6 +89,9 @@ WORKAROUND: also unstable in several ways, including its inability to really grok function declarations. + As of sbcl-0.7.5, sbcl's cross-compiler does run with + *TYPE-SYSTEM-INITIALIZED*; however, this bug remains. + 7: The "compiling top-level form:" output ought to be condensed. Perhaps any number of such consecutive lines ought to turn into a @@ -584,11 +587,6 @@ WORKAROUND: GC, so that thereafter memory usage can never be reduced below that level. -96: - The TRACE facility can't be used on some kinds of functions. - (Basically, the breakpoint facility was incompletely implemented - in the X86 port of CMU CL, and hasn't been fixed in SBCL.) - 98: In sbcl-0.6.11.41 (and in all earlier SBCL, and in CMU CL), out-of-line structure slot setters are horribly inefficient @@ -1073,6 +1071,8 @@ WORKAROUND: It should be possible to be much more specific (overflow, division by zero, etc.) and of course the "How can this be?" should be fixable. + See also bugs #45.c and #183 + 148: In sbcl-0.7.1.3 on x86, COMPILE-FILE on the file (in-package :cl-user) @@ -1118,25 +1118,6 @@ WORKAROUND: Is (1 . 1) of type CONS a cons? => NIL without signalling an error. -154: - There's some sort of problem with aborting back out of the debugger - after a %DETECT-STACK-EXHAUSTION error in sbcl-0.7.1.38. In some cases - telling the debugger to ABORT doesn't get you back to the main REPL, - but instead just gives you another stack exhaustion error. The problem - doesn't occur in the trivial case - * (defun frob () (frob) (frob)) - FROB - * (frob) - but it has happened in more complicated cases (which I haven't - figured out how to reproduce). - -156: - FUNCTION-LAMBDA-EXPRESSION doesn't work right in 0.7.0 or 0.7.2.9: - * (function-lambda-expression #'(lambda (x) x)) - debugger invoked on condition of type TYPE-ERROR: - The value NIL is not of type SB-C::DEBUG-SOURCE - (reported by Alexey Dejneka sbcl-devel 2002-04-12) - 157: Functions SUBTYPEP, TYPEP, UPGRADED-ARRAY-ELEMENT-TYPE, and UPGRADED-COMPLEX-PART-TYPE should have an optional environment argument. @@ -1331,12 +1312,6 @@ WORKAROUND: the compiler handle the error, convert it into a COMPILER-ERROR, and continue compiling) which seems wrong. -182: "SPARC/Linux floating point" - Evaluating (/ 1.0 0.0) at the prompt causes a Bus error and complete - death of the environment. Other floating point operations sometimes - return infinities when they should raise traps (e.g. the test case - for bug #146, (expt 2.0 12777)). - 183: "IEEE floating point issues" Even where floating point handling is being dealt with relatively well (as of sbcl-0.7.5, on sparc/sunos and alpha; see bug #146), the @@ -1376,17 +1351,6 @@ WORKAROUND: however, compiling and loading the same expression in a file works as expected. -186: "Undercautious FILL transform" - Compiling and loading the following code: - (declare (optimize (safety 3) (speed 2) (space 1))) - (defun foo (x) - (fill (make-string 10) x)) - and then running - * (foo 4097) - "@@@@@@@@@@" - This is probably due to insufficient checking in the IR1 - deftransform for FILL - 187: "type inference confusion around DEFTRANSFORM time" (reported even more verbosely on sbcl-devel 2002-06-28 as "strange bug in DEFTRANSFORM") @@ -1444,6 +1408,49 @@ WORKAROUND: ;; go away.) (sb-c::%dvai v i)) +188: "compiler performance fiasco involving type inference and UNION-TYPE" + (In sbcl-0.7.6.10, DEFTRANSFORM CONCATENATE was commented out until this + bug could be fixed properly, so you won't see the bug unless you restore + the DEFTRANSFORM by hand.) In sbcl-0.7.5.11 on a 700 MHz Pentium III, + (time (compile + nil + '(lambda () + (declare (optimize (safety 3))) + (declare (optimize (compilation-speed 2))) + (declare (optimize (speed 1) (debug 1) (space 1))) + (let ((fn "if-this-file-exists-the-universe-is-strange")) + (load fn :if-does-not-exist nil) + (load (concatenate 'string fn ".lisp") :if-does-not-exist nil) + (load (concatenate 'string fn ".fasl") :if-does-not-exist nil) + (load (concatenate 'string fn ".misc-garbage") + :if-does-not-exist nil))))) + reports + 134.552 seconds of real time + 133.35156 seconds of user run time + 0.03125 seconds of system run time + [Run times include 2.787 seconds GC run time.] + 0 page faults and + 246883368 bytes consed. + BACKTRACE from Ctrl-C in the compilation shows that the compiler is + thinking about type relationships involving types like + #)[:EXTERNAL] + +190: "PPC/Linux pipe? buffer? bug" + In sbcl-0.7.6, the run-program.test.sh test script sometimes hangs + on the PPC/Linux platform, waiting for a zombie env process. This + is a classic symptom of buffer filling and deadlock, but it seems + only sporadically reproducible. + DEFUNCT CATEGORIES OF BUGS IR1-#: These labels were used for bugs related to the old IR1 interpreter.