Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make-clone-commands fails with "NIL is not a valid system name" on "dexador" #1

Open
svetlyak40wt opened this issue Oct 16, 2020 · 1 comment

Comments

@svetlyak40wt
Copy link

Full trace:

NIL is not a valid system name
   [Condition of type ASDF/SESSION:FORMATTED-SYSTEM-DEFINITION-ERROR]

Restarts:
 0: [RETRY] Retry SLY mREPL evaluation request.
 1: [*ABORT] Return to SLY's top level.
 2: [ABORT] abort thread (#<THREAD "sly-channel-1-mrepl-remote-1" RUNNING {10037F57C3}>)

Backtrace:
 0: (ASDF/SESSION:SYSDEF-ERROR "~@<NIL is not a valid system name~@:>")
 1: ((:METHOD ASDF/SYSTEM:FIND-SYSTEM :AROUND (T)) NIL) [fast-method]
      Locals:
        SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL ..)
        SB-PCL::.REST-ARG. = NIL
        LITERATE-LISP::NAME = NIL
 2: (QUICKFORK::DIRECT-DEPENDENCIES NIL)
 3: (QUICKFORK::%ALL-DEPENDENCIES (#<ASDF/SYSTEM:SYSTEM "fast-http"> #<ASDF/SYSTEM:SYSTEM "quri"> #<ASDF/SYSTEM:SYSTEM "fast-io"> #<ASDF/SYSTEM:SYSTEM "babel"> #<ASDF/SYSTEM:SYSTEM "trivial-gray-streams">..
      Locals:
        ACCUM-TABLE = #<HASH-TABLE :TEST EQUALP :COUNT 29 {10043270C3}>
        PROJECT-LIST = (#<ASDF/SYSTEM:SYSTEM "fast-http"> #<ASDF/SYSTEM:SYSTEM "quri"> #<ASDF/SYSTEM:SYSTEM "fast-io"> #<ASDF/SYSTEM:SYSTEM "babel"> #<ASDF/SYSTEM:SYSTEM "trivial-gray-streams"> ..)
 4: (QUICKFORK::%ALL-DEPENDENCIES (:DEXADOR) #<HASH-TABLE :TEST EQUALP :COUNT 29 {10043270C3}>)
      Locals:
        ACCUM-TABLE = #<HASH-TABLE :TEST EQUALP :COUNT 29 {10043270C3}>
        PROJECT-LIST = (:DEXADOR)
 5: (QUICKFORK::MAKE-CLONE-COMMANDS :DEXADOR NIL)
      Locals:
        SB-FORMAT::FORMAT-ARG1 = NIL
        PROJECT-NAME = :DEXADOR
 6: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKFORK::MAKE-CLONE-COMMANDS :DEXADOR) #<NULL-LEXENV>)
 7: (EVAL (QUICKFORK::MAKE-CLONE-COMMANDS :DEXADOR))

Project list contains some NILs:

#<CONS {1003E6A367}>
--------------------
A proper list:
0: #<ASDF/SYSTEM:SYSTEM "fast-http">
1: #<ASDF/SYSTEM:SYSTEM "quri">
2: #<ASDF/SYSTEM:SYSTEM "fast-io">
3: #<ASDF/SYSTEM:SYSTEM "babel">
4: #<ASDF/SYSTEM:SYSTEM "trivial-gray-streams">
5: #<ASDF/SYSTEM:SYSTEM "chunga">
6: #<ASDF/SYSTEM:SYSTEM "cl-ppcre">
7: #<ASDF/SYSTEM:SYSTEM "cl-cookie">
8: #<ASDF/SYSTEM:SYSTEM "trivial-mimes">
9: #<ASDF/SYSTEM:SYSTEM "chipz">
10: #<ASDF/SYSTEM:SYSTEM "cl-base64">
11: #<ASDF/SYSTEM:SYSTEM "cl-reexport">
12: #<ASDF/SYSTEM:SYSTEM "usocket">
13: NIL
14: NIL
15: #<ASDF/SYSTEM:SYSTEM "cl+ssl">
16: #<ASDF/SYSTEM:SYSTEM "bordeaux-threads">
17: #<ASDF/SYSTEM:SYSTEM "alexandria">

Probably it is these "featured" dependencies:

               (:feature :windows "winhttp")
               (:feature :windows "flexi-streams")
               (:feature (:and (:not :windows) (:not :dexador-no-ssl)) "cl+ssl")
svetlyak40wt added a commit to svetlyak40wt/quickfork that referenced this issue Oct 16, 2020
This fixes issue svspire#1.

The problem was because `asdf::resolve-dependency-spec` can return nil if feature is not supported in the current lisp implementation:

```lisp
CL-USER> (member :windows *features*)
NIL

CL-USER> (asdf::resolve-dependency-spec :dexador '(:feature :windows "winhttp"))
NIL

;; but
CL-USER> (asdf::resolve-dependency-spec :dexador "winhttp")
#<ASDF/SYSTEM:SYSTEM "winhttp">
```
@svetlyak40wt
Copy link
Author

This problem is fixed in pull #2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant