X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=BUGS;h=e50ba7321a1ea24d0198a43c9a2abc532ab166c6;hb=f9d6d21a7f54638292214ceb9886edc03b99d545;hp=62ffc358812a85eeccbc8f046c83dab9ac67d07f;hpb=c1aeac123df223746249567a9c0d2f656d1222cb;p=sbcl.git diff --git a/BUGS b/BUGS index 62ffc35..e50ba73 100644 --- a/BUGS +++ b/BUGS @@ -1283,9 +1283,10 @@ Error in function C::GET-LAMBDA-TO-COMPILE: "SB-INT:&MORE processor". 138: - a cross-compiler bug in sbcl-0.pre7.107 + a pair of cross-compiler bugs in sbcl-0.pre7.107 - $ cat > /tmp/bug139.lisp << EOF +138a: + $ cat > /tmp/bug138.lisp << EOF (in-package "SB!KERNEL") (defun f-c-l (name parent-types) (let* ((cpl (mapcar (lambda (x) @@ -1300,7 +1301,7 @@ Error in function C::GET-LAMBDA-TO-COMPILE: EOF $ sbcl --core output/after-xc.core ... - * (target-compile-file "/tmp/bug139.lisp") + * (target-compile-file "/tmp/bug138.lisp") ... internal error, failed AVER: "(COMMON-LISP:MEMBER SB!C::FUN (SB!C::COMPONENT-LAMBDAS SB!C:COMPONENT))" @@ -1312,6 +1313,36 @@ Error in function C::GET-LAMBDA-TO-COMPILE: related weirdness: Using #'(LAMBDA (X) ...) instead of (LAMBDA (X) ...) makes the assertion failure go away. +138b: + Even when you relax the AVER that fails in 138a, there's another + problem cross-compiling the same code: + internal error, failed AVER: + "(COMMON-LISP:ZEROP + (COMMON-LISP:HASH-TABLE-COUNT + (SB!FASL::FASL-OUTPUT-PATCH-TABLE SB!FASL:FASL-OUTPUT)))" + + The same problem appears in the simpler test case + (in-package "SB!KERNEL") + (defun f-c-l () + (let ((cpl (foo (lambda (x) + (condition-class-cpl x)))) + (new-inherits (layout-inherits cond-layout))) + (layout-inherits olayout))) + + Changing CONDITION-CLASS-CPL or (either of the calls to) LAYOUT-INHERITS + to arbitrary nonmagic not-defined-yet just-do-a-full-call functions makes + the problem go away. Also, even in this simpler test case which fails + on a very different AVER, the 138a weirdness about s/(lambda/#'(lambda/ + making the problem go away is preserved. + + I still haven't found any way to make this happen in the ordinary + (not cross-) SBCL compiler, nor in CMU CL. + +138c: + In sbcl-0.pre7.111 I added an assertion upstream, in IR2-CONVERT-CLOSURE, + which fails for the test case above but doesn't keep the system + from cross-compiling itself or passing its tests. + 139: In sbcl-0.pre7.107, (DIRECTORY "*.*") is broken, as reported by Nathan Froyd sbcl-devel 2001-12-28.