[asdf-devel] Re: Testing ASDF with cl-test-grid

Anton Vodonosov avodonosov at yandex.ru
Thu Jan 2 17:54:35 UTC 2014


01.01.2014, 02:40, "Faré" <fahree at gmail.com>:
> The failures in http://cl-test-grid.appspot.com/blob?key=1v5pgltcap
> are interesting.
>
> The CCL specific failures, I fear I can't explain, and won't even try.
>
> The exscribe failure has no ASDF in its backtrace; this suggests that
> it's a Quicklisp failure, probably due to it being unable to parse
> (:feature :exscribe-typeset :cl-typesetting) as a dependency, and
> recursing into a non-existent system exscribe-typeset, when it's
> actually a feature that decides whether or not to depend on
> cl-typesetting. 
> What bothers me, then, is that the test only fails with the newer ASDF;
> why doesn't it fail with the old ASDF? What effective version of ASDF
> is loaded? Could cl-test-grid print that information in its header?

It turns out to be a Quicklisp bug. Indeed, quicklisp 2013-12-13 
records exscribe-typeset as a dependency of exscribe.

Why it behaves differently.

To load a system, Quicklisp first tries to (asdf:find-system <system>)
and only if that fails because the system is not yet downloaded,
Quicklisp looks into its own records for that system and its dependencies.

If exscribe tarball was downloaded and unpacked already by previous
quicklisp version, ASDF finds the system and it loads OK.
But if excribe is absent on the hard drive, than Quicklisp looks
into its records, sees that exscribe-typeset is a dependency,
tries to find information about exscribe-typeset and fails,
signalling SYSTEM-NOT-FOUND.

> Admittedly, I should probably have designed things
> differently, and indeed have had a system exscribe-typeset that
> unconditionally depends on both and hooks into exscribe.

Yes, I prefer that straightforward way too.

> Regarding the lil failure: is quicklisp somehow removing
> ASDF::SYSDEF-PACKAGE-SYSTEM-SEARCH from
> ASDF::*SYSTEM-DEFINITION-SEARCH-FUNCTIONS* ? What is the value of the
> latter variable? But then why is it working with the old ASDF? My
> guess is that's because it does have ASDF/PACKAGE-SYSTEM builtin, so
> it loads it from the add-on system ASDF-PACKAGE-SYSTEM that installs
> the search function dropped by quicklisp. However,
> ~/quicklisp/quicklisp/setup.lisp looks like it's doing the right thing
> wrt *SYSTEM-DEFINITION-SEARCH-FUNCTIONS*, and I don't see cl-test-grid
> touching it, so I'm not so sure anymore, and I'm a bit baffled
> actually.

I haven't reviewed the lil failures. Maybe they are
caused by the same bug as exscribe.

> Note that at home, I have no trouble loading either lil or exscribe,
> with or without quicklisp, with or without the new asdf, using SBCL
> 1.1.13.41.

I have added your ssh key to user testgrid at cl-test-grid.cloud.efficito.com
- the machine where testing was performed. If you will need to experiment
and reproduce problems, you should be able to login.

The report at http://common-lisp.net/project/cl-test-grid/asdf/asdf-diff-24.html
is updated with ECL results.
Also, as you can see the excribe failure is annotated by "Quicklisp bug".
It's a new feature of cl-test-grid - I can record notes near the failures
we clarified already, so it's easier to see what remains.
Started tests for ABCL.

Best regards,
- Anton



More information about the asdf-devel mailing list