gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] asdf


From: Faré
Subject: Re: [Gcl-devel] asdf
Date: Fri, 15 Nov 2013 20:43:10 -0500

Dear Camm,

thanks again for your responsiveness. I'm hoping the next release of
ASDF can support GCL,
and the next release of GCL can sport ASDF.

>> One function that fails to return the same thing when compiled vs
>> interpreted is REDUCE/STRCAT from uiop/utility.lisp.
>
> Thanks!  Should be fixed now.
>
Great. I'll look into further bugs.

>> Another function that behaves in a weird way is configure-asdf from
>> test/script-support.lisp,
>
> Thanks!  No longer the case, perhaps resolved when the above was fixed.
>
Indeed, the same bug fix must have worked.

>> Can you look into it? There are other failures, but these are show stoppers.
>
> A few more tests pass now.  Thanks for your reports!
>
Excellent.

> It would still be
> a bit easier if you could give me step by step instructions to reproduce
> a failure -- I don't know where any of these functions are, or what has
> to be loaded, etc.
>
Every test, when it fails, prints some instructions on how to reproduce it.
Just look at the logs. If the instructions are not correct, it's a bug
that we can fix.
I see it incorrectly specifies -batch, and I'll remove that.

So I see several kinds of failures.

Those I have investigated:

* a bug in handling directories in uiop:probe-file*;
  I think I have a fix for that,
  but direct support in GCL for the probe-file* interface would be great:
  a function that given a pathname designator returns the pathname
  to either the file or directory if it exists, and
  only optionally resolve symlinks, and return NIL otherwise.

  Also, GCL BUG: TRUENAME should return a FILE-ERROR, not just an ERROR.
  Same for DELETE-FILE and probably a lot more other functions.

* In test1, test2, test3, test-around-compile, test-asdf,
test-builtin-source-file-type, test-compile-file-failure,
test-concatenate-source, test-deferred-warnings, test-force,
test-inline-methods, test-logical-pathname, test-missing-lisp-file,
test-module-depend, test-module-excessive-depend,
test-module-pathnames, test-multiple, test-redundant-recompile,
test-samedir-modules, test-source-file-type, test-stamp-propagation,
test-static-and-serial
 TEST ABORTED: Condition in COMPILER::COMPILE-FILE1 [or a callee]:
INTERNAL-SIMPLE-PROGRAM-ERROR: Key :EXTERNAL-FORMAT :DEFAULT not
permitted

  GCL BUG: compile-file fails to accept :EXTERNAL-FORMAT argument.
  I'll be working around it in uiop/lisp-build for now.


I have not investigated these yet:

* test-run-program.script
TEST ABORTED: Condition in SYSTEM:STRCAT [or a callee]:
INTERNAL-SIMPLE-PROGRAM-ERROR: MULTIPLE-VALUE-CALL [or a callee]
requires less than sixty-seven arguments.

  GCL BUG?
  This looks like a GCL bug, since STRCAT and its callees
  don't do anything magical with multiple values.
  Is some optimization or rewrite causing an argument list
  to expand beyond the limit?

* In duplicate-components-test, test8, test9, test-system-pathnames
 TEST ABORTED: Condition in CONDITIONS::COERCE-TO-CONDITION [or a
callee]: INTERNAL-SIMPLE-TYPE-ERROR:
CONDITIONS::INTERNAL-SIMPLE-LOAD-SYSTEM-DEFINITION-ERROR is not of
type (SATISFIES CONDITIONS::CONDITION-CLASS-P): Not a condition type:
CONDITIONS::INTERNAL-SIMPLE-LOAD-SYSTEM-DEFINITION-ERROR

 GCL BUG? I'm not sure what triggers the initial condition yet, but
 it looks like GCL has an error in error handling and/or reporting.

* In test-retry-loading-component-1.script
SIMPLE-ERROR: The assertion RESTART failed.

 GCL BUG? It looks like find-restart fails here. Does GCL support restarts?

* test-touch-system-1.script
INTERNAL-SIMPLE-TYPE-ERROR: NIL is not of type REAL:

Now, I've tried to add in script-support a #+gcl 0 for speed,
to speed up the compilation, and I find what I believe to be a bug in GCL,
whereby the form
 (remove-if #'(lambda (x) (member x '("" ".") :test #'equal))
                                        components)
from uiop/pathname is compiled with an error, with bogus complaint at runtime:
Error:
Signalled by COMMON-LISP:MEMBER.
Condition in COMMON-LISP:MEMBER [or a callee]:
INTERNAL-SIMPLE-PROGRAM-ERROR: Key COMMON-LISP:NIL #<function
00000000011dd250> not permitted

I put #+gcl 1 instead, hoping that this will improve things.

More to come, but that will give you stuff to work on already.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
If it's not worth doing, it's not worth doing well — Donald Hebb



reply via email to

[Prev in Thread] Current Thread [Next in Thread]