Another System Definition Facility

(truename #P"ccl:") fails when *default-pathname-defaults* is not empty

Reported by Ron Garret on 2010-09-12
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ASDF
Medium
Faré

Bug Description

This is specific to Clozure CL. The code for wrapping-output-translations contains the following line:

#+clozure (,(wilden (truename #p"ccl:")) ())

This fails when *default-pathname-defaults* is set to an absolute path with "Error: File #P"ccl:" does not exist." This is arguably a bug in merge-pathnames, but it's arguable. Because it's arguable, and because wrapping-output-translations only gets called once, I've been using the following workaround:

(let ((*default-pathname-defaults* nil)) (wrapping-output-translations))

in my ccl-init.lisp file. Whether this is a good solution to the problem or just a Horrible hack I am not qualified to say because I don't understand what wrapping-output-translations is actually supposed to do.

Faré (fahree) wrote :

Ouch. Committed 2.129 as a fix. I hope I won't be the one to release 2.009, though. I don't know what CCL does, but it's probably a CCL bug, too.

Thanks for the report!

Changed in asdf:
assignee: nobody → Faré (fahree)
importance: Undecided → Medium
milestone: none → version2.1
status: New → Fix Committed

Just out of curiosity, why is ignore-errors correct here? I suppose
raising an error in ASDF initialization is bad, but OTOH, doesn't this
mean that if expanding the CCL logical device raises an error, then
something bad might happen downstream?

Faré (fahree) wrote :

If for whatever reason, #p"ccl:" fails, I want ASDF to continue and keep working. Possibly, an image was dumped and is being used without corresponding source code or library files being present.

Here's an alternative suggestion from Gary Byers; don't know if it will
have made it to the launchpad ticket....

On Sun, 12 Sep 2010, Ron Garret wrote:
> From: Faré <email address hidden>
> Date: September 12, 2010 12:54:41 PM PDT
> To: <email address hidden>
> Subject: [Bug 636506] Re: (truename #P"ccl:") fails when *default-pathname-defaults* is not empty
> Reply-To: Bug 636506 <email address hidden>
>
> Ouch. Committed 2.129 as a fix. I hope I won't be the one to release
> 2.009, though. I don't know what CCL does, but it's probably a CCL bug,
> too.
>

I think that the bug is that (PATHNAME-DIRECTORY "ccl:") returns NIL
(rather than (:ABSOLUTE)), and this in turn leads to the unfortunate
MERGE-PATHNAMES result. The bug's in the namestring parsing code,
so another workaround would be

  (truename (make-pathname :defaults #p"ccl:"))

_______________________________________________
Openmcl-devel mailing list
<email address hidden>
http://clozure.com/mailman/listinfo/openmcl-devel

Faré (fahree) wrote :

Was released in 2.009

Changed in asdf:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers