[asdf-devel] bad interaction with new ASDF 2.015 and Quicklisp

Nikodemus Siivola nikodemus at random-state.net
Tue May 10 16:45:14 UTC 2011


Steps to reproduce:

1. Get ASDF 2.015 or .1

2. Install Quicklisp, (ql:quickload "flexi-streams")

3. Install Flexi-Streams outside quicklisp as well. (For the purposes
of bug reproduction, putting a copy of flexi-streams.asd into eg ~/tmp
is enough.)

4. Go to the directory with the non-Quicklisp copy of flexi-streams.asd.

5. In lisp:

   (push "./" asdf:*central-registry*)

   (asdf:load-system "flexi-streams")

...endless recursion that eventually blows either stack or heap.

What is happening is approximately this:

 ASDF starts loading ~/tmp/flexi-streams.asd

 DEFSYSTEM FLEXI-STREAMS is ok.

 During processing of DEFYSTEM FLEXI-STREAMS-TEST, FIND-SYSTEM is
called for FLEXI-STREAM-TEST --
 ironically _after_ it has been registered and its pathname set.

 Source-registry doesn't find it because there is no file
flexi-stream-test.asd, and neither does
 SYSTEM-FIND-ASDF, but Quicklisp which _does_ find it:

    ASDF starts loading quicklisp/.../flexi-streams.asd

    ...you can guess where this leads. But even without the endless
recursion this find is bogus.

This did not happen with prior versions of ASDF. This is really
messing up things for me -- enough so that I'm contemplating reverting
the SBCL provided ASDF to 2.014.

Cheers,

 -- Nikodemus




More information about the asdf-devel mailing list