[asdf-devel] Releasing asdf 3.1.1 ?

Faré fahree at gmail.com
Sat Dec 21 02:00:26 UTC 2013


The Linux CLISP failures are the same as before: all file accesses
fail, probably due to the weird filesharing setup, that doesn't
provide whatever syscalls that CLISP relies on.

The Windows CLISP failures have all directory accesses fail, with file
access working, so I suppose it's balancing the karma. The run-program
tests also fail, though it's hard to tell whether it's due to the
system() call (do we need to explicitly call CMD.EXE?) or to some file
access failure during redirection. I would need access to a Windows
machine to tell... Does anyone have a Windows image for KVM or some
such?

The Windows ABCL failures are the same error in
SYSTEM::TRANSLATE-DIRECTORY-COMPONENTS. The bug can be reproduced even
on Linux by copy-pasting from the backtrace:
(apply 'funcall '
(SYSTEM::TRANSLATE-DIRECTORY-COMPONENTS
 (:ABSOLUTE
  "users"
  "dcooper8"
  "asdf"
  "asdf-windows"
  "test"
  "preflight-checks")
 (:ABSOLUTE "users" "dcooper8" "asdf" "asdf-windows" :WILD-INFERIORS)
 (:ABSOLUTE
  "users"
  "dcooper8"
  "asdf"
  "asdf-windows"
  "build"
  "fasls"
  "abcl-1.2.1-fasl42-win-x64"
  "asdf"
  :WILD-INFERIORS)
 NIL))
(apply 'SYSTEM::TRANSLATE-DIRECTORY-COMPONENTS '(
 (:ABSOLUTE
  "users"
  "dcooper8"
  "asdf"
  "asdf-windows"
  "test"
  "preflight-checks")
 (:ABSOLUTE "Users" "dcooper8" "asdf" "asdf-windows" :WILD-INFERIORS)
 (:ABSOLUTE
  "Users"
  "dcooper8"
  "asdf"
  "asdf-windows"
  "build"
  "fasls"
  "abcl-1.2.1-fasl42-win-x64"
  "asdf"
  :WILD-INFERIORS)
 NIL))
fails because of the upper-case U in Users, but not in users.

Why should ABCL care about the case of directory components
in a TRANSLATE-PATHNAME operation, I don't know.
Maybe this is leakage from sharing some misfactored bits with the implementation
of logical(!?)-pathname's, that have some restriction in the source pattern?
More probably, it's a very misleading error message from ABCL:
"Unsupported case in TRANSLATE-DIRECTORY-COMPONENTS".
Instead it should be something like
"Error in TRANSLATE-PATHNAME: source ~S does not match from-wildcard ~S".
Dave, why is the source "users" lower case when the rest is upper-case?
Is it a bug in your configuration, or is ABCL or some other software
trying to "normalize" the name, and ending up confusing TRANSLATE-PATHNAME?
But why is it happening only for these two tests?
Some more inspection shows that these two tests are the only ones using
(defsystem ... :pathname "some_string" :source-file nil ...)
so this suggests something funky happening in determine-system-directory.
Can you run only one of these tests while tracing
RESOLVE-SYMLINKS*, DETERMINE-SYSTEM-DIRECTORY,
ENSURE-ABSOLUTE-PATHNAME, LOAD-PATHNAME, GET-PATHNAME-DEFAULTS,
and see who's introducing a lower-case "users"?

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Reality must take precedence over public relations,
for Mother Nature cannot be fooled.
                — R.P. Feynman



More information about the asdf-devel mailing list